Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recherche flexible sous BD Access

9 réponses
Avatar
Vincent
Je voudrais savoir s'il est possible d'effectuer une=20
requ=EAte pr=E9cise afin de retrouver un enregistrement dans=20
une base de donn=E9es acces.

Exemple :=20
Pr=E9sentement, si je veux effectuer une recherche sur un=20
champ en particulier je dois rechercher le terme exacte.
ex : si la rechercher =3D "Maison" et que le champ=20
=3D "Maison" : =E9l=E9ment trouv=E9 mais si je recherche "Maison"=20
dans un enregistrement "Maison en bois" il ne le trouvera=20
pas ...

Comment faire pour que si le terme recherch=E9 se trouve=20
dans le champ de l'enregistrement la rechercher soit=20
r=E9ussie.

un exemple serait le bienvenu=B8
N.B. : J'utilise des requ=EAtes SQL du genre :=20
[...] Where Nom =3D '" & lsNom & "'", [...]
Merci d'avance ...

9 réponses

Avatar
lg
Salut
lourdaurd mais pratique :

[...] Where Nom = '" & lsNom & "*" & "'", [...]
Avatar
lg
Zut,
A la place du signe =, tu mets like
Avatar
>-----Message d'origine-----
Zut,
A la place du signe =, tu mets like


.




Un gros merci !!!
Avatar
>-----Message d'origine-----
Salut
lourdaurd mais pratique :

[...] Where Nom = '" & lsNom & "*" & "'", [...]


.



Un gros Merci !!!
Avatar
Vincent
>-----Message d'origine-----
Zut,
A la place du signe =, tu mets like


.




Aucune des deux solutions ne fonctionne ...

1- oRs.Open "SELECT * FROM Movies where Nom like '" &
txtNom.Text & "' order by Nom", oCn, 2, 3

2- oRs.Open "SELECT * FROM Movies where Nom = '" & "*" &
txtNom.Text & "*" & "' order by Nom", oCn, 2, 3

Si j'utilise ces deux possibilités il me faut
l'expression exacte quand même.
Quelqu'un à une solution ?
De plus, est-il possible de ne pas le rendre sensible à
la case (majuscule, minuscule)
Avatar
Vincent
Aucune des deux solutions ne fonctionne ...

1- oRs.Open "SELECT * FROM Movies where Nom like '" &
txtNom.Text & "' order by Nom", oCn, 2, 3

2- oRs.Open "SELECT * FROM Movies where Nom = '" & "*" &
txtNom.Text & "*" & "' order by Nom", oCn, 2, 3

Si j'utilise ces deux possibilités il me faut
l'expression exacte quand même.
Quelqu'un à une solution ?
De plus, est-il possible de ne pas le rendre sensible à
la case (majuscule, minuscule)
Avatar
Vincent
Aucune des deux solutions ne fonctionne ...

1- oRs.Open "SELECT * FROM Movies where Nom like '" &
txtNom.Text & "' order by Nom", oCn, 2, 3

2- oRs.Open "SELECT * FROM Movies where Nom = '" & "*" &
txtNom.Text & "*" & "' order by Nom", oCn, 2, 3

Si j'utilise ces deux possibilités il me faut
l'expression exacte quand même.
Quelqu'un à une solution ?
De plus, est-il possible de ne pas le rendre sensible à
la case (majuscule, minuscule)
.
Avatar
Adrien Gaudel
Déjà commence par combiner les deux solutions, ensuite dans ton cas ce n'est
pas le caractère wildcard * qu'il faut utiliser mais %
En anglais LIKE veut dire "comme" (utilisé ici dans le sens "ressemble")
Pour tes histoire de case, il faut déjà forcer ton champ en majuscule (ou en
minuscule) avec une commande genre "SELECT UCASE([Champ.table]) FROM" (a
verifier pour le UCASE, je ne suis pas sûr que ça soit exactement cette
commande) et ensuite mettre ta chaine de recherche également en majuscule
(ou en minuscule c'est suivant la solution choisie)
Enfin, on evite d'utiliser SELECT * FROM, il faut préferer la solution
SELECT [Champ1.Table], [Champ2.Table], ...FROM

"Vincent" a écrit dans le message de
news:934801c4860f$2797fcc0$

Aucune des deux solutions ne fonctionne ...

1- oRs.Open "SELECT * FROM Movies where Nom like '" &
txtNom.Text & "' order by Nom", oCn, 2, 3

2- oRs.Open "SELECT * FROM Movies where Nom = '" & "*" &
txtNom.Text & "*" & "' order by Nom", oCn, 2, 3

Si j'utilise ces deux possibilités il me faut
l'expression exacte quand même.
Quelqu'un à une solution ?
De plus, est-il possible de ne pas le rendre sensible à
la case (majuscule, minuscule)
.
Avatar
Eric
> Aucune des deux solutions ne fonctionne ...

1- oRs.Open "SELECT * FROM Movies where Nom like '" &
txtNom.Text & "' order by Nom", oCn, 2, 3

2- oRs.Open "SELECT * FROM Movies where Nom = '" & "*" &
txtNom.Text & "*" & "' order by Nom", oCn, 2, 3

Si j'utilise ces deux possibilités il me faut
l'expression exacte quand même.
Quelqu'un à une solution ?
De plus, est-il possible de ne pas le rendre sensible à
la case (majuscule, minuscule)



Sur certains SGBD, c'est WHERE nom LIKE 'Maison%'
Sinon, pour rendre insensible à la casse, on utilise une fonction qui met
systématiquement en majuscules
J'ai testé, sur ma base de données MYSQL (Je l'utilise lorsque je programme
en PHP, pas en VB, mais ça ne doit pas influer...), la requête

SELECT * FROM photos WHERE ucase(description) LIKE 'REPAS%'

Produit l'effet escompté (insensible à la casse, et joker derrière repas)

Eric