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

Critères multiples dans une recherche avec un recordset

18 réponses
Avatar
Richard Martin
Bonjour

J'aimerais avoir une bonne explication sur quand on utilise des ' et des
" dans un critère de recherche. Exemple un critère avec 3 champs de
recherche. Je veux tous les clients de la ville de Montréal avec un solde
plus grand que 500$ ayant le statut Membre à "oui" .

Je sais qu'il y aura des ' des " des & peut-être des "and" des
"or".

J'aimerais vraiment connaître la syntaxe et voir des exemples de critères
avec des nombres, des dates et du texte.

Merci beaucoup et bonne fin de journée.

Richard

10 réponses

1 2
Avatar
Eric
Bonjour,

Les ' entourent des champ de type Texte dès lors qu'ils ne contiennent
pas des apostrophes, sinon il faudra doubler les guillemets (") ;
Les dates s'entourent de dièse (#) et doivent être écrites au format US ;
Pour les champs booléens, utiliser True ou False.
Pour les nombres pas de spécificités sauf que le séparateur décimal est
le point(.) au lieu de la virgule(,)

Dim strFiltre as String

Pour des champs Texte
strFiltre = "[Ville]='Montréal'"
ou strFiltre= "[Ville]= ""L'Hermitage"""
ou si la valeur est passée en variable, pour assurer le coup :
strFiltre= "[Ville]= """ & strVar & """"

Pour des dates:
strFiltre = "[LaDate]= #01/31/2007#"
ou si passée en variable:
strFiltre = "[LaDate]=" & Format(dteVar,"#mm/dd/yyyy#")

Exemple combiné avec des variables:
strFiltre="[Ville]=""" & strVille & """"" _
& " and [Montant]=" & Replace(curMontant,",",".") _
& " and [LaDate]=" & Format(dteDate,"#mm/dd/yyyy#") _
& " and [Membre]=True"

Comme d'habitude, sauf erreur ou omission ;-)



Bonjour

J'aimerais avoir une bonne explication sur quand on utilise des ' et des
" dans un critère de recherche. Exemple un critère avec 3 champs de
recherche. Je veux tous les clients de la ville de Montréal avec un solde
plus grand que 500$ ayant le statut Membre à "oui" .

Je sais qu'il y aura des ' des " des & peut-être des "and" des
"or".

J'aimerais vraiment connaître la syntaxe et voir des exemples de critères
avec des nombres, des dates et du texte.

Merci beaucoup et bonne fin de journée.

Richard




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Gloops
Bonjour,

ça a l'air bien vrai, ce qu'on dit : Google, ça aide.

La première réponse à "guillemets SQL" donne une approche intéres sante
de la question :
http://www.trucsweb.com/ASP/trucs.asp?no&0&type=7

Ensuite, il convient d'y ajouter la rubrique d'aide d'Access intitulée
"Chaînes comportant des guillemets".

ça permet d'écrire des choses de ce style :
strName = "L'entreprise """ & "LaRoche" & """"
strCritere = "[NomEntr] = """ & strName & """"

et de savoir qu'on peut s'aider d'une fonction qui double le guillemet,
d'une autre qui divise par deux les paires de guillemets ...

Je dois dire que jusque là j'ai l'habitude de m'en remettre à la
fonction Chr$(), ça m'évite de compter combien j'ai à mettre de
guillemets, mais je n'affirme pas que ça donne une syntaxe vraiment
moins lourde, en fait. Un peu une question de convenance personnelle.

Au demeurant, pour que SQL fasse appel à une fonction il faut faire
attention aux conditions dans lesquelles on l'appelle.

Si ces conditions sont respectées, ceci m'a parfois bien aidé :

Public Function G(strEntree As String) As String
G = VBA.Chr$(34) + strEntree + VBA.Chr$(34)
End Function

ça permet de réécrire comme suit l'exemple que j'ai écrit plus ha ut :

strName = "L'entreprise " + G("LaRoche")

(On aura deviné que c'est G pour Guillemets, et un caractère pour "vi te
fait".)

[HS] Le préfixe VBA devant Chr$() rappellera quelque chose aux gens qui
ont écrit des bases multiversions, sous Access 95 à faire tourner sou s
Access 97 et 2000. Les autres pourront s'en passer, sauf si ils
exploitent dans une base développée sous Access 2000, un module
développé sous Access 95. A noter que dans ce contexte du multiversio n
l'emploi de l'opérateur "+" est impératif plutôt que "&". En dehors de
ce contexte il y a matière à débat, encore qu'il me semble avoir lu un
jour que "&" donne un résultat variant, alors que "+" donne un résult at
du même type que ce qui se trouve autour, en l'occurrence une chaîne de
caractères. Et il me semble bien avoir lu ailleurs qu'un variant est
plus gourmand en ressources, et interdit dans le cadre de certaines
migrations.


_____________________________________________
Richard Martin a écrit, le 17/11/2007 23:16 :
Bonjour

J'aimerais avoir une bonne explication sur quand on utilise des ' et des
" dans un critère de recherche. Exemple un critère avec 3 champs de
recherche. Je veux tous les clients de la ville de Montréal avec un solde
plus grand que 500$ ayant le statut Membre à "oui" .

Je sais qu'il y aura des ' des " des & peut-être des "and" des
"or".

J'aimerais vraiment connaître la syntaxe et voir des exemples de crit ères
avec des nombres, des dates et du texte.

Merci beaucoup et bonne fin de journée.

Richard




Avatar
Richard Martin
Merci beaucoup pour ces infos

Richard

"Eric" a écrit dans le message de news:

Bonjour,

Les ' entourent des champ de type Texte dès lors qu'ils ne contiennent pas
des apostrophes, sinon il faudra doubler les guillemets (") ;
Les dates s'entourent de dièse (#) et doivent être écrites au format US ;
Pour les champs booléens, utiliser True ou False.
Pour les nombres pas de spécificités sauf que le séparateur décimal est le
point(.) au lieu de la virgule(,)

Dim strFiltre as String

Pour des champs Texte
strFiltre = "[Ville]='Montréal'"
ou strFiltre= "[Ville]= ""L'Hermitage"""
ou si la valeur est passée en variable, pour assurer le coup :
strFiltre= "[Ville]= """ & strVar & """"

Pour des dates:
strFiltre = "[LaDate]= #01/31/2007#"
ou si passée en variable:
strFiltre = "[LaDate]=" & Format(dteVar,"#mm/dd/yyyy#")

Exemple combiné avec des variables:
strFiltre="[Ville]=""" & strVille & """"" _
& " and [Montant]=" & Replace(curMontant,",",".") _
& " and [LaDate]=" & Format(dteDate,"#mm/dd/yyyy#") _
& " and [Membre]=True"

Comme d'habitude, sauf erreur ou omission ;-)



Bonjour

J'aimerais avoir une bonne explication sur quand on utilise des ' et
des " dans un critère de recherche. Exemple un critère avec 3 champs de
recherche. Je veux tous les clients de la ville de Montréal avec un
solde plus grand que 500$ ayant le statut Membre à "oui" .

Je sais qu'il y aura des ' des " des & peut-être des "and" des
"or".

J'aimerais vraiment connaître la syntaxe et voir des exemples de critères
avec des nombres, des dates et du texte.

Merci beaucoup et bonne fin de journée.

Richard


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Avatar
Richard Martin
Merci beaucoup pour ces infos

Richard

"Gloops" a écrit dans le message de news:

Bonjour,

ça a l'air bien vrai, ce qu'on dit : Google, ça aide.

La première réponse à "guillemets SQL" donne une approche intéressante
de la question :
http://www.trucsweb.com/ASP/trucs.asp?no&0&type=7

Ensuite, il convient d'y ajouter la rubrique d'aide d'Access intitulée
"Chaînes comportant des guillemets".

ça permet d'écrire des choses de ce style :
strName = "L'entreprise """ & "LaRoche" & """"
strCritere = "[NomEntr] = """ & strName & """"

et de savoir qu'on peut s'aider d'une fonction qui double le guillemet,
d'une autre qui divise par deux les paires de guillemets ...

Je dois dire que jusque là j'ai l'habitude de m'en remettre à la
fonction Chr$(), ça m'évite de compter combien j'ai à mettre de
guillemets, mais je n'affirme pas que ça donne une syntaxe vraiment
moins lourde, en fait. Un peu une question de convenance personnelle.

Au demeurant, pour que SQL fasse appel à une fonction il faut faire
attention aux conditions dans lesquelles on l'appelle.

Si ces conditions sont respectées, ceci m'a parfois bien aidé :

Public Function G(strEntree As String) As String
G = VBA.Chr$(34) + strEntree + VBA.Chr$(34)
End Function

ça permet de réécrire comme suit l'exemple que j'ai écrit plus haut :

strName = "L'entreprise " + G("LaRoche")

(On aura deviné que c'est G pour Guillemets, et un caractère pour "vite
fait".)

[HS] Le préfixe VBA devant Chr$() rappellera quelque chose aux gens qui
ont écrit des bases multiversions, sous Access 95 à faire tourner sous
Access 97 et 2000. Les autres pourront s'en passer, sauf si ils
exploitent dans une base développée sous Access 2000, un module
développé sous Access 95. A noter que dans ce contexte du multiversion
l'emploi de l'opérateur "+" est impératif plutôt que "&". En dehors de
ce contexte il y a matière à débat, encore qu'il me semble avoir lu un
jour que "&" donne un résultat variant, alors que "+" donne un résultat
du même type que ce qui se trouve autour, en l'occurrence une chaîne de
caractères. Et il me semble bien avoir lu ailleurs qu'un variant est
plus gourmand en ressources, et interdit dans le cadre de certaines
migrations.


_____________________________________________
Richard Martin a écrit, le 17/11/2007 23:16 :
Bonjour

J'aimerais avoir une bonne explication sur quand on utilise des ' et des
" dans un critère de recherche. Exemple un critère avec 3 champs de
recherche. Je veux tous les clients de la ville de Montréal avec un solde
plus grand que 500$ ayant le statut Membre à "oui" .

Je sais qu'il y aura des ' des " des & peut-être des "and" des
"or".

J'aimerais vraiment connaître la syntaxe et voir des exemples de critères
avec des nombres, des dates et du texte.

Merci beaucoup et bonne fin de journée.

Richard



Avatar
Richard Martin
Rebonjour

Voici un exemple que je comprend + ou -

Critère = "[No_Produit] = '" & Num_Produit & "'"

J'ai une variable "Critère" qui me servira das une requête. J'essaie de
comprendre où je met les apostrophes et ou je met les guillemets exactement.
Pourquoi les &, probablement pour concaténer du texte. Le même critère avec
2 ou 3 vérifications. Exemple ville = varville, date = vardate et No
Produit = Num_Produit
varville, vardate et Num_Produit sont des variables qui contiennent mes
choix....

Comment écrire ce critère ?

J'ai un code en résumé de ce genre : (Je vous donne seulement les lignes
essentielles pour poser ma question)

Critère = "[No_Produit] = '" & Num_Produit & "'"

Dim MonJeu As Recordset
Set MonJeu = MaBd.OpenRecordset("T-Inventaire", dbOpenDynaset)
MonJeu.MoveFirst
MonJeu.FindFirst Critère

Merci d'avance !

Richard


"Richard Martin" a écrit dans le message de news:
O%
Bonjour

J'aimerais avoir une bonne explication sur quand on utilise des ' et des
" dans un critère de recherche. Exemple un critère avec 3 champs de
recherche. Je veux tous les clients de la ville de Montréal avec un solde
plus grand que 500$ ayant le statut Membre à "oui" .

Je sais qu'il y aura des ' des " des & peut-être des "and" des
"or".

J'aimerais vraiment connaître la syntaxe et voir des exemples de critères
avec des nombres, des dates et du texte.

Merci beaucoup et bonne fin de journée.

Richard



Avatar
Michel_D
Bonjour,

A priori (je n'ai pas testé) :

Critère = "([No_Produit] = '" & Num_Produit & "') And " & _
"([ville] = '" & varville & "') And " & _
"([date] = #" & vardate & "#)"


"Richard Martin" a écrit dans le message de news:
Rebonjour

Voici un exemple que je comprend + ou -

Critère = "[No_Produit] = '" & Num_Produit & "'"

J'ai une variable "Critère" qui me servira das une requête. J'essaie de
comprendre où je met les apostrophes et ou je met les guillemets exactement.
Pourquoi les &, probablement pour concaténer du texte. Le même critère avec
2 ou 3 vérifications. Exemple ville = varville, date = vardate et No
Produit = Num_Produit
varville, vardate et Num_Produit sont des variables qui contiennent mes
choix....

Comment écrire ce critère ?

J'ai un code en résumé de ce genre : (Je vous donne seulement les lignes
essentielles pour poser ma question)

Critère = "[No_Produit] = '" & Num_Produit & "'"

Dim MonJeu As Recordset
Set MonJeu = MaBd.OpenRecordset("T-Inventaire", dbOpenDynaset)
MonJeu.MoveFirst
MonJeu.FindFirst Critère

Merci d'avance !

Richard


"Richard Martin" a écrit dans le message de news:
O%
Bonjour

J'aimerais avoir une bonne explication sur quand on utilise des ' et des
" dans un critère de recherche. Exemple un critère avec 3 champs de
recherche. Je veux tous les clients de la ville de Montréal avec un solde
plus grand que 500$ ayant le statut Membre à "oui" .

Je sais qu'il y aura des ' des " des & peut-être des "and" des
"or".

J'aimerais vraiment connaître la syntaxe et voir des exemples de critères
avec des nombres, des dates et du texte.

Merci beaucoup et bonne fin de journée.

Richard







Avatar
Gloops
Michel_D a écrit, le 19/11/2007 10:08 :
Bonjour,

A priori (je n'ai pas testé) :

Critère = "([No_Produit] = '" & Num_Produit & "') And " & _
"([ville] = '" & varville & "') And " & _
"([date] = #" & vardate & "#)"



Absolument.
A tester quand même pour Ville d'Avray ;)

Il se peut que là on ait besoin de lire ce qui a été dit dans le fi l.

Avatar
Richard Martin
Merci à tous.

Juste pour terminer, qu'est-ce qui justifie de mettre des apostrophes ou des
guillemets dans cette ligne de critère exactement. Je veux être capable
d'expliquer ça à quelqu'un. Pas juste un copier coller. Merci d'avance.

Richard

"Michel_D" a écrit dans le message de
news: fhrjpp$j1o$
Bonjour,

A priori (je n'ai pas testé) :

Critère = "([No_Produit] = '" & Num_Produit & "') And " & _
"([ville] = '" & varville & "') And " & _
"([date] = #" & vardate & "#)"


"Richard Martin" a écrit dans le message de
news:
Rebonjour

Voici un exemple que je comprend + ou -

Critère = "[No_Produit] = '" & Num_Produit & "'"

J'ai une variable "Critère" qui me servira das une requête. J'essaie de
comprendre où je met les apostrophes et ou je met les guillemets
exactement.
Pourquoi les &, probablement pour concaténer du texte. Le même critère
avec
2 ou 3 vérifications. Exemple ville = varville, date = vardate et No
Produit = Num_Produit
varville, vardate et Num_Produit sont des variables qui contiennent mes
choix....

Comment écrire ce critère ?

J'ai un code en résumé de ce genre : (Je vous donne seulement les lignes
essentielles pour poser ma question)

Critère = "[No_Produit] = '" & Num_Produit & "'"

Dim MonJeu As Recordset
Set MonJeu = MaBd.OpenRecordset("T-Inventaire", dbOpenDynaset)
MonJeu.MoveFirst
MonJeu.FindFirst Critère

Merci d'avance !

Richard


"Richard Martin" a écrit dans le message de news:
O%
Bonjour

J'aimerais avoir une bonne explication sur quand on utilise des ' et
des
" dans un critère de recherche. Exemple un critère avec 3 champs de
recherche. Je veux tous les clients de la ville de Montréal avec un
solde
plus grand que 500$ ayant le statut Membre à "oui" .

Je sais qu'il y aura des ' des " des & peut-être des "and"
des
"or".

J'aimerais vraiment connaître la syntaxe et voir des exemples de
critères
avec des nombres, des dates et du texte.

Merci beaucoup et bonne fin de journée.

Richard










Avatar
Fabien
Merci à tous.

Juste pour terminer, qu'est-ce qui justifie de mettre des apostrophes ou des
guillemets dans cette ligne de critère exactement. Je veux être capable
d'expliquer ça à quelqu'un. Pas juste un copier coller. Merci d'avance.

Richard

"Michel_D" a écrit dans le message de
news: fhrjpp$j1o$
Bonjour,

A priori (je n'ai pas testé) :

Critère = "([No_Produit] = '" & Num_Produit & "') And " & _
"([ville] = '" & varville & "') And " & _
"([date] = #" & vardate & "#)"


"Richard Martin" a écrit dans le message de
news:
Rebonjour

Voici un exemple que je comprend + ou -

Critère = "[No_Produit] = '" & Num_Produit & "'"

J'ai une variable "Critère" qui me servira das une requête. J'essaie de
comprendre où je met les apostrophes et ou je met les guillemets
exactement.
Pourquoi les &, probablement pour concaténer du texte. Le même critère
avec
2 ou 3 vérifications. Exemple ville = varville, date = vardate et No
Produit = Num_Produit
varville, vardate et Num_Produit sont des variables qui contiennent mes
choix....

Comment écrire ce critère ?

J'ai un code en résumé de ce genre : (Je vous donne seulement les lignes
essentielles pour poser ma question)

Critère = "[No_Produit] = '" & Num_Produit & "'"

Dim MonJeu As Recordset
Set MonJeu = MaBd.OpenRecordset("T-Inventaire", dbOpenDynaset)
MonJeu.MoveFirst
MonJeu.FindFirst Critère

Merci d'avance !

Richard


"Richard Martin" a écrit dans le message de news:
O%
Bonjour

J'aimerais avoir une bonne explication sur quand on utilise des ' et
des
" dans un critère de recherche. Exemple un critère avec 3 champs de
recherche. Je veux tous les clients de la ville de Montréal avec un
solde
plus grand que 500$ ayant le statut Membre à "oui" .

Je sais qu'il y aura des ' des " des & peut-être des "and"
des
"or".

J'aimerais vraiment connaître la syntaxe et voir des exemples de
critères
avec des nombres, des dates et du texte.

Merci beaucoup et bonne fin de journée.

Richard







Salut

les " servent a marquer le début et la fin d'une chaine alphanumérique
et les ' ont la même fonction mais à l'interieur d'une chaine dans le
cas où cette chaine est utilisée comme instruction SQL.




Avatar
Gloops
Richard Martin a écrit, le 20/11/2007 04:17 :
Merci à tous.

Juste pour terminer, qu'est-ce qui justifie de mettre des apostrophes o u des
guillemets dans cette ligne de critère exactement. Je veux être ca pable
d'expliquer ça à quelqu'un. Pas juste un copier coller. Merci d' avance.

Richard



Bonjour,

Comme dit Fabien, les guillemets servent à délimiter une chaîne de
caractères, exactement comme on le fait pour une citation ; on va juste
dire que les informaticiens ont de nombreuses occasions de citer des
informations.

Si il y a une citation à l'intérieur de la citation, dans un roman on
aura tendance à utiliser plusieurs sortes de guillemets, et des polices
de caractères différentes. En informatique, on n'utilise des polices de
caractères différentes que dans les cas où c'est vraiment nécessa ire. Ce
qui vient le plus vite à l'esprit des informaticiens comme autre sorte
de guillemet, c'est l'apostrophe.

Maintenant, si le texte qu'on a à citer contient le caractère qui a é té
utilisé pour le délimiter, il convient de se mettre bien d'accord sur la
façon dont on aborde le cas. Dans certains contextes on met une barre
inverse devant, dans d'autres on double le guillemet, parfois on le
triple. C'est tout l'objet de ce fil.

1 2