Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1364 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB6] Requète SQL (LIKE)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB6] Requète SQL (LIKE)

n°937599
harelde
Posté le 05-01-2005 à 11:45:29  profilanswer
 

Salut à tous,
 
J'ai un problème qui me résiste depuis des semaines...  
J'en deviens chèvre  :pt1cable:  
 
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
 

mood
Publicité
Posté le 05-01-2005 à 11:45:29  profilanswer
 

n°937629
Arjuna
Aircraft Ident.: F-MBSD
Posté le 05-01-2005 à 12:01:29  profilanswer
 

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.

n°937645
harelde
Posté le 05-01-2005 à 12:10:09  profilanswer
 

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
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB6] Requète SQL (LIKE)

 

Sujets relatifs
[VB6] Pbe sur Tree ViewSQL - pb de Bulk Insert depuis un fichier txt
SQL et requetes imbriquéesColonne dynamique dans une requête [SQL Server 2000 - Transact SQL]
impossible d'ajouter des composants OCX sur VB6 [Résolu]requete dans plusieurs tables
Problème d'affichage des enregistrements dans un DataReport VB6Inclure current_date dans un script sql...
qq un connaitrais un bon logiciel Client serveur en SQL pour apprendre 
Plus de sujets relatifs à : [VB6] Requète SQL (LIKE)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR