Bonjour,
J'ai un petit soucis avec un Access et la créatino d'un formulaire, enfin plutot la création qu'une requete d'un formulaire.
J'espère que cette question n'a pas été posé mais j'ai fouillé et j'ai aps vu donc je suis désolé si ce problème a déja été posé
Voila..Je voudrais créer une requete SQL permettant de faire une recherche dans une table, et dont les résultats iraient dans une zone de liste, et odnt le criète de recherche est présent dans une zone de texte.
Pour être plus précis, je vais vous montrer une partie de code :
Donc le ztNom est la zone de texte sur lequel je veux créer le filtre et le nom et prenom est ce que je veux faire apparaitre dans ma zone de liste qui comprend donc 2 colonnes
Code : Sélectionner tout - Visualiser dans une fenêtre à part rs.open "SELECT nom,prenom FROM Table WHERE nom = ' " & ztNom.value & " ' "
Jusque la il n'y a pas trop de problème
Donc si je rentre un nom connu et "strict" si je puis dire en faisant ça :
(la boucle est en fait la, si jamais nous avons plusieurs réponses a mettre, ce que je voudrais faire au final en fait )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Do until rs.EOF MsgBox rs![nom] & " " & rs ![prenom] rs.MoveNext Loop
Le filtre a bien marché et se présente bien dans un message avec le nom et le prénom
Si je veux le faire apparaitre dans ma zone de liste (qu'on appelera zlListe) j'ai essayé, en lisant un peu votre FAQ de faire ça :
Mais heu ça ne marche pas donc je voudrais déja savoir comment faire pour afficher le résultat d'une requete SQL dans une zone de liste qui a plusieurs colonnes
Code : Sélectionner tout - Visualiser dans une fenêtre à part zlListe!list.RowSource = rs![nom] & ";" & rs![prenom]
Par ailleurs, je voulais en fait au départ pouvoir faire une recherche plus complète en faisant de telle sorte que l'utilisateur ne sait par exemple que la première lettre du nom, et donc par exemple au lieu de mettre le nom entier il ne met que sa première lettre, en utilisant le caractère * ou ?. Or en SQL (en tout cas ce qu ej'en sais) il faut soit utiliser le signe % pour une chaine de caractère soit le signe - pour un seul caractère. Or quand j'ai essayé de le faire apparaitre tout d'abord dans le msgbox (puisque la zone de liste j'y arrive pas ), rien ne se passe, pas d'erreur mais rien ne s'affiche et je n'ai pas de msgbox.
Donc en voyant votre FAQ encore une fois, j'ai essayé avec les caractère normaux de remplacement, cad l'* ou le ?. Mais ça ne marche pas non plus
Hum heu voila J'espère avoir été assez clair dans mes explications de mon petit problème
Je vous remercie par avance de toute l'aide que vous m'apporterez
Partager