Requète SQL (LIKE) [VB6] - VB/VBA/VBS - Programmation
Marsh Posté le 05-01-2005 à 12:01:29
1) % à la place de *
2) Je te conseille de faire des "ucase()" autour du champ et de la valeur à rechercher histoire que ce soit pas case sensitive
Sinon, y'a rien de particulier pour faire un like dans VB.
A noter cependant que si ton LIKE porte sur un mot contenant un "%", alors il faut faire comme pour le "'", c'est à dire qu'il faut le remplacer par "%%" afin que le SGBD ne l'interprête pas.
Marsh Posté le 05-01-2005 à 12:10:09
YO....
Les Grands esprits se rencontrent.
Je me suis rappelé à l'instant qu'en DB2, on utilise % et pas *.
Je viens de tester, et ça marche !
Ce jour est un grand jour.
Passer autant de temps sur une bétise pareille... Je suis attéré. Mais heureux d'avoir enfin la solution !
Merci
Marsh Posté le 05-01-2005 à 11:45:29
Salut à tous,
J'ai un problème qui me résiste depuis des semaines...
J'en deviens chèvre
Ma petite application VB6 doit servir à interroger une base ACCESS contenant N tables avec des clefs primaires, des champs pour les jointures... etc... rien que du classique.
Ma petite appli permet à l'utilisateur ne comprenant rien au SQL de construire sa requète en fonction des champs qu'il renseigne.
Puis il clique sur un bouton "Va y mon gars", et la moulinette se lance.
La variable contenant la requète SQL
La connexion
Récupération des données dans un Recordset
Chargement d'une ListView à partir du Recordset
Affichage du résultat pour l'utilisateur tout content !
Ca, c'est la théorie.
Dans la pratique, c'est un peu différent.
Une requete avec "=" fonctionne parfaitement :
"SELECT toto FROM Table1 WHERE (Champ1 = ""Valeur"" );"
Impécable.
Mais pour le like, rien à faire.
"SELECT toto FROM Table1 WHERE (Champ1 Like ""*Valeur*"" );"
Rien à faire. La requète ne plante pas, mais ne ramene aucune sélection (alors qu'elle le dvrait).
Plus fort :
Je prend ce code SQL, je le copie dans une requète directement dans ACCESS, et tout se passe bien. J'obtient le bon résultat.
Le pbe peut (peut etre) venir du caractère *.
Reconnu dans ACCESS, mais pas dans VB6 qui ne l'interprète pas correctement.
Merci de me donner votre avis et vos idées pour m'en sortir.
Laurent