cs_droopy30
Messages postés5Date d'inscriptionmercredi 30 avril 2008StatutMembreDernière intervention23 octobre 2008
-
4 oct. 2008 à 20:39
cs_droopy30
Messages postés5Date d'inscriptionmercredi 30 avril 2008StatutMembreDernière intervention23 octobre 2008
-
23 oct. 2008 à 14:45
Bonjour,
Je tente de faire un petit programme sous DELPHI 2006 qui accède à une base de mots en ACCESS (1 table, 2 champs).
Je voudrais filtré le contenu de la base pour ne voir que, par exemple, les mots commençants par la lettre "A" et ayant un "S" comme 3ième lettre : ABS, ABSENT, ABSENTE,...
Facile, me direz vous !!!
Et bien pas tant que cela au vu des résultats que j'obtiens.
J'utilise les composants ADOConnection, ADOTable, DataSource.
Logiquement, ma requête devrait ressembler à ceci SELECT * FROM mots WHERE mot LIKE 'a_s%'. Or cette requête ne donne absolument aucun résultat.
- SELECT * FROM mots WHERE mot LIKE 'a_'
- SELECT * FROM mots WHERE mot LIKE 'a%'
et SELECT * FROM mots WHERE mot LIKE 'a*' me donnent tous les mots qui commence par la lettre "A". Ce qui n'est pas logique pour la première puisque le caractère "_" est censé remplacer 1 caractère et non plusieurs (je devrais avoir 'AS', 'AT', que des mots de 2 lettres - mais je peux y palier en rajoutant une condition sur la longueur des mots que je veux).
Il fut un temps lointain, j'avais réussi en VB avec : SELECT * FROM mots WHERE mot LIKE 'a?s*'. Le "?" remplaçant 1 et 1 seul caractère.
J'ai tourné le problème dans tous les sens. Lu et relu toutes les aides comme C:\Program Files\Fichiers communs\Borland Shared\BDE\LOCALSQL.HLP
J'en viens à me dire que j'ai un problème de configuration car dans tout ce que j'ai pu voir, personne a ce problème.
Camarades programmeurs, le néophyte en DELPHI que je suis, vous en appelle A L'AIDE !!!!
cs_droopy30
Messages postés5Date d'inscriptionmercredi 30 avril 2008StatutMembreDernière intervention23 octobre 2008 6 oct. 2008 à 17:06
CH... !!! c'est peu dire....
Surtout que cela fonctionne très bien en VB avec la même base de données.
J'arrivais même à faire des recherches du type "... like '??bs?n*' " (tous les mots avec 'b' et 's' en 3 et 4ième position et 'n' en 6 ième !!!)
skyaero
Messages postés26Date d'inscriptionlundi 25 octobre 2004StatutMembreDernière intervention 6 octobre 2008 6 oct. 2008 à 22:01
Bonsoir,
Quelle version d'access utilisez-vous ?
Dans un de mes programme en Delphi utilisant une base access, j'utilise la syntaxe identique à votre requete "SELECT * FROM mots WHERE mot LIKE 'a%'" à travers un ADOQUERY et cela fonctionne très bien.
cs_droopy30
Messages postés5Date d'inscriptionmercredi 30 avril 2008StatutMembreDernière intervention23 octobre 2008 6 oct. 2008 à 22:15
Bonsoir Skyaero.
j'utilise Access 2003.
et la requête "SELECT * FROM mots WHERE mot LIKE 'a%'" fonctionne à merveille.... je suis d'accord.
Par contre "SELECT * FROM mots WHERE mot LIKE 'a_s%'" ne marche pas.
Imaginez : je fais des mots croisés. J'ai une définition pour un mot de 7 lettres et je sais que la 1ière est un "A" et la 3ième un "S".... donnez moi tous les mots qui correspondent à ces critères uniquement.
Si c'est pour chercher dans un dico, j'ai pas besoin d'un programme !