[Access] Requête à partir d'une zone de texte (Résolu)

Requête à partir d'une zone de texte (Résolu) [Access] - VB/VBA/VBS - Programmation

Marsh Posté le 20-07-2005 à 21:16:48    

Bonjour,
 
A partir d'un formulaire Access, est-il possible d'envoyer le contenu d'une zone de texte comme variable dans une requête ?
 
Si oui, cela se fait-il avec du code ou directement dans la fenêtre de requête Access (les critères) ?
 
Merci d'avance :)


Message édité par Fishes le 21-07-2005 à 10:56:28

---------------
Topic CoC HFR, viendez :o
Reply

Marsh Posté le 20-07-2005 à 21:16:48   

Reply

Marsh Posté le 21-07-2005 à 10:03:42    

Il est tout a fait possible de mettre le contenu d'une zone de texte comme critere dans une requete SQL (du moins dans le code).  
Exemple : UPDATE req SET nom_req =  '" & txtNom & "' where id_req = " & txtId
 
Là bien sur, txtid et txtnom sont des textbox (ou "zone de texte" selon  l'appelation ;)

Reply

Marsh Posté le 21-07-2005 à 10:17:34    

En fait, j'ai un formulaire avec des zones de textes qui doivent me servir pour faire une recherche multicritères.  Un ptit bouton pour appeler la requête.
 
La requête a été créée par l'assistant (fainéant powaa), et je me demandais si, sans rentrer dans le SQL, on pouvait lier un critère à une zone de texte du formulaire chargé ?
Comme par exemple dans la case critère : like [FORMULAIRE]![ZoneDeTexte] ?
Et là il ne veut pas et me demande à chaque fois de rentrer le paramètre moi-même ?
 
Parce que si on rentre dans le SQL, on aura peut-être un problème avec les champs vides ?
 
Merci :)


Message édité par Fishes le 21-07-2005 à 10:18:08

---------------
Topic CoC HFR, viendez :o
Reply

Marsh Posté le 21-07-2005 à 10:42:02    

Pour la syntaxe, c'est :

[forms]![NomFormulaire]![NomChamp]

Reply

Marsh Posté le 21-07-2005 à 10:53:48    

Je teste...
 
edit: Merci  :love:, exactement ce que je cherchais  :jap:


Message édité par Fishes le 21-07-2005 à 10:55:53

---------------
Topic CoC HFR, viendez :o
Reply

Marsh Posté le 27-06-2008 à 08:35:55    

[forms]![NomFormulaire]![NomChamp]
 
sa designe quoi [forms]?

Reply

Marsh Posté le 27-06-2008 à 09:05:29    

Forms est un mot-clé Access à écrire tel quel.
Il désigne la collection des formulaires dont NomFormulaire doit faire partie.

Reply

Marsh Posté le 18-12-2008 à 15:27:39    

Bonjour, j'ai le même objectif que Fishes83 et je viens de tester ta syntaxe, disons que j'utilise aussi une zone de texte, le nom de cette zone de texte est par défaut "Texte19", j'ai ajouté dans critère like [forms]![RechercheContacts1]![Texte19] et il me demande toujours d'ajouter la valeur du paramètre... alors que ma zone de texte n'est pas vide, j'y ai par exemple écrit "Entreprise", mot que je devrais retrouver dans pas mal d'enregistrements.
 
Quelqu'un peut-il m'aider s'il vous plait ?
 
Merki d'avance de toutes les réponses qui pourront être apportées.
 
Bonne journée @ tous et @ toutes ! ;)
 
 
P.S. : au cas où vous auriez besoin de quelques informations en plus, n'hésitez pas à me demander. Je vous répondrai avec plaisir.


Message édité par BaBelZ le 18-12-2008 à 15:57:25
Reply

Marsh Posté le 19-12-2008 à 10:19:23    

Bonjour
 
A quoi ressemble ta clause Where ?
 
Normalement, dans la requete, c'est : Like [Formulaire]![RechercheContacts1]![Texte19]  
 
Cordialement


Message édité par SuppotDeSaTante le 19-12-2008 à 10:19:40

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 19-12-2008 à 12:56:34    

Bonjour,
 
Je viens de trouver ce matin même mon erreur, un truc tout bête. J'avais renommé le raccourcis de mon formulaire, mais le nom de base du formulaire n'avait pas changé... donc j'ai réutilisé le nom de base en changeant mon [RechercheContacts1] en [Recherche d'un Contact]... trop dégouté d'avoir perdu du temps sur une connerie pareille... XD Et désolé de vous avoir dérangé.
 
Merci tout de même dje69r.
 
Bonne journée ;)
 
 
P.S. : vous pouvez utiliser un simple "=" au lieu de "LIKE" dans votre code SQL, ça fonctionne tout aussi bien ^^.


Message édité par BaBelZ le 19-12-2008 à 12:58:32
Reply

Marsh Posté le 19-12-2008 à 12:56:34   

Reply

Marsh Posté le 19-12-2008 à 16:23:01    

Didons ! Me revoilou ! ^^
 
Un nouveau problème s'offre à moi, YOUPI ! :D
 
Je vous détaille au mieux : "J'ai crée un formulaire, j'y ai ajouté à l'intérieur 3 zones de texte et un bouton. Les 3 zones de textes sont remplies par l'utilisateur selon ce qu'il recherche. Ensuite celui-ci clique sur le bouton qui lance une recherche (Requête) dans une table nommée Contacts, recherche filtrée selon les 3 critères entrées précédemment par ce même utilisateur.
 
Voilà où ça me pose une colle. Imaginons que notre utilisateur laisse vide un de ces 3 critères dont il est question, donc zone de texte = "", comment puis-je faire à ce stade, pour que le ou les critères vides, ne soient pas pris en compte dans mon code, ou par ma requête en d'autres termes.
 
Si je dois utiliser VB ou SQL précisez le moi s'il vous plaît. Personnellement j'utilise l'affichage SQL.
 
Merci de toute l'aide qui pourra être apportée :).
 
Bonne journée et bonne soirée ;).

Reply

Marsh Posté le 19-12-2008 à 20:03:50    

Tu entends quoi par "ne pas etre pris en compte" ??
 
S'il n'y a rien il affiche tout ?
Si tel est le cas met qqchose de ce style dans ta requete :  
Like "*" & [Formulaire]![RechercheContacts1]![Texte19] & "*"


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 20-12-2008 à 12:15:07    

Si il n'y a rien, il ne prend pas en compte la zone de texte, et de cette manière, sous SQL, cela évite qu'il recherche des enregistrements avec les deux premiers critères qui on été remplis "avec en plus celui qui est vide".
 
En gros, pour exemple, il chercherait des enregistrements avec un 1er critère : "Entreprise", un 2ème critère : "VINDIOUSS" et le dernier critère qui n'a pas été rempli : "". Et c'est ça que j'aimerais évité tout simplement en faisant en sorte que les critères vides ne soient pas pris en compte dans la recherche des enregistrements.
 
Voilivoilou !
 
(merci de ton aide)


Message édité par BaBelZ le 20-12-2008 à 12:16:04
Reply

Marsh Posté le 14-03-2010 à 13:03:12    

Bonjour,
J’ai le même problème que BaBelZ malheureusement je n’ai pas su le résoudre comme lui. Ma zone de texte est en fait une date et ma condition je l’écris directement sur la requête au niveau de ligne Critères =[Forms]![xF-Bilan-Finacier]![MaDate].
Une fenêtre me demande « Entrer une valeur du paramètre » lorsque j’écris la date la requête s’exécute correctement !
Merci pour l’aide

Reply

Marsh Posté le 16-03-2010 à 12:04:15    

Hello
 
Il manque un "N" à financier ? (=[Forms]![xF-Bilan-Finacier]![MaDate])
 
Verifie que le champ/controle se nomme bien MaDate dans ton formulaire. Nom du formulaire ou du controle mal renseigné c'est typique de ce genre de message...


Message édité par SuppotDeSaTante le 16-03-2010 à 12:07:03

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 21-03-2010 à 16:32:53    

Bonjour,
Merci, l'orthographe est une base à vérifier en premier !
Merci pour l’aide

Reply

Marsh Posté le 22-03-2010 à 08:26:31    

L'avantage d'access, c'est le generateur d'expression, qui doit permettre d'eviter ce genre de souci.


---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed