je vous presente tous mes voeux pour cette nouvelle année 2008.
Je reviens vers vous avec mes problèmes de filtrage sur plusieurs champs. Je
pensais avoir résolu le problème en plaçant des OR à la place des AND mais
en fait ca ne resoud pas tout.
Cela fonctionne très bien si dans le filtre je n'ai que des OR
par ex : ([T_fonction1]='1er ASSISTANT REAL' OR [T_fonction2]='1er ASSISTANT
REAL')
ou si j'ai que des AND :
([T_Pays]='France' AND [T_ville]='BEAUVAIS' AND [T_fonction1]='1er ASSISTANT
REAL')
Dès que je commence a mélanger les deux, cela ne remonte plus les
enregistrements correctement
par ex : dans ma table j'ai 5 enregistrements de test.
Je filtre sur la fonction et les outils (Je sais qu'un seul enregistrement
coresspond au critères)
voici le filtre généré : ([T_fonction1]='1er ASSISTANT REAL' OR
[T_outil1]='AFTER EFFECT' AND [T_outil2]='AFTER EFFECT')
resultat : il m'affiche 3 enregistrements au lieu d'un seul.
Mon probleme se situe sur la contruction du filtre je sais pas comment m'y
prendre pour gérer dynamiquement les AND et les OR...
pour mémo :
je dois filtrer des fiches Candidats en fonction de leur nom / ville / pays
mais également sur leur fonctions (en sachant qu'un candidat peut avoir
jusqu'à 10 fonctions)
et sur les outils maitrisés (en sachant qu'un candidat peut maitriser
jusqu'à 10 outils)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel_D
Bonjour,
1ère régle : Mettre des parenthéses afin de bien délimiter les opérations logiques.
2ème régle : Mettre des parenthéses ...
3ème régle : ...
"news.tiscali.fr" (paslamarque).fr> a écrit dans le message de news:flit34$dbf$
Bonjour,
je vous presente tous mes voeux pour cette nouvelle année 2008.
Je reviens vers vous avec mes problèmes de filtrage sur plusieurs champs. Je pensais avoir résolu le problème en plaçant des OR à la place des AND mais en fait ca ne resoud pas tout.
Cela fonctionne très bien si dans le filtre je n'ai que des OR
par ex : ([T_fonction1]='1er ASSISTANT REAL' OR [T_fonction2]='1er ASSISTANT REAL')
ou si j'ai que des AND : ([T_Pays]='France' AND [T_ville]='BEAUVAIS' AND [T_fonction1]='1er ASSISTANT REAL')
Dès que je commence a mélanger les deux, cela ne remonte plus les enregistrements correctement
par ex : dans ma table j'ai 5 enregistrements de test.
Je filtre sur la fonction et les outils (Je sais qu'un seul enregistrement coresspond au critères)
voici le filtre généré : ([T_fonction1]='1er ASSISTANT REAL' OR [T_outil1]='AFTER EFFECT' AND [T_outil2]='AFTER EFFECT')
resultat : il m'affiche 3 enregistrements au lieu d'un seul.
Mon probleme se situe sur la contruction du filtre je sais pas comment m'y prendre pour gérer dynamiquement les AND et les OR...
pour mémo :
je dois filtrer des fiches Candidats en fonction de leur nom / ville / pays mais également sur leur fonctions (en sachant qu'un candidat peut avoir jusqu'à 10 fonctions) et sur les outils maitrisés (en sachant qu'un candidat peut maitriser jusqu'à 10 outils)
Bref, une belle prise de tete
Bonjour,
1ère régle :
Mettre des parenthéses afin de bien délimiter les opérations logiques.
2ème régle :
Mettre des parenthéses ...
3ème régle :
...
"news.tiscali.fr" <seb@seb(paslamarque).fr> a écrit dans le message de news:flit34$dbf$1@news.tiscali.fr...
Bonjour,
je vous presente tous mes voeux pour cette nouvelle année 2008.
Je reviens vers vous avec mes problèmes de filtrage sur plusieurs champs. Je
pensais avoir résolu le problème en plaçant des OR à la place des AND mais
en fait ca ne resoud pas tout.
Cela fonctionne très bien si dans le filtre je n'ai que des OR
par ex : ([T_fonction1]='1er ASSISTANT REAL' OR [T_fonction2]='1er ASSISTANT
REAL')
ou si j'ai que des AND :
([T_Pays]='France' AND [T_ville]='BEAUVAIS' AND [T_fonction1]='1er ASSISTANT
REAL')
Dès que je commence a mélanger les deux, cela ne remonte plus les
enregistrements correctement
par ex : dans ma table j'ai 5 enregistrements de test.
Je filtre sur la fonction et les outils (Je sais qu'un seul enregistrement
coresspond au critères)
voici le filtre généré : ([T_fonction1]='1er ASSISTANT REAL' OR
[T_outil1]='AFTER EFFECT' AND [T_outil2]='AFTER EFFECT')
resultat : il m'affiche 3 enregistrements au lieu d'un seul.
Mon probleme se situe sur la contruction du filtre je sais pas comment m'y
prendre pour gérer dynamiquement les AND et les OR...
pour mémo :
je dois filtrer des fiches Candidats en fonction de leur nom / ville / pays
mais également sur leur fonctions (en sachant qu'un candidat peut avoir
jusqu'à 10 fonctions)
et sur les outils maitrisés (en sachant qu'un candidat peut maitriser
jusqu'à 10 outils)
1ère régle : Mettre des parenthéses afin de bien délimiter les opérations logiques.
2ème régle : Mettre des parenthéses ...
3ème régle : ...
"news.tiscali.fr" (paslamarque).fr> a écrit dans le message de news:flit34$dbf$
Bonjour,
je vous presente tous mes voeux pour cette nouvelle année 2008.
Je reviens vers vous avec mes problèmes de filtrage sur plusieurs champs. Je pensais avoir résolu le problème en plaçant des OR à la place des AND mais en fait ca ne resoud pas tout.
Cela fonctionne très bien si dans le filtre je n'ai que des OR
par ex : ([T_fonction1]='1er ASSISTANT REAL' OR [T_fonction2]='1er ASSISTANT REAL')
ou si j'ai que des AND : ([T_Pays]='France' AND [T_ville]='BEAUVAIS' AND [T_fonction1]='1er ASSISTANT REAL')
Dès que je commence a mélanger les deux, cela ne remonte plus les enregistrements correctement
par ex : dans ma table j'ai 5 enregistrements de test.
Je filtre sur la fonction et les outils (Je sais qu'un seul enregistrement coresspond au critères)
voici le filtre généré : ([T_fonction1]='1er ASSISTANT REAL' OR [T_outil1]='AFTER EFFECT' AND [T_outil2]='AFTER EFFECT')
resultat : il m'affiche 3 enregistrements au lieu d'un seul.
Mon probleme se situe sur la contruction du filtre je sais pas comment m'y prendre pour gérer dynamiquement les AND et les OR...
pour mémo :
je dois filtrer des fiches Candidats en fonction de leur nom / ville / pays mais également sur leur fonctions (en sachant qu'un candidat peut avoir jusqu'à 10 fonctions) et sur les outils maitrisés (en sachant qu'un candidat peut maitriser jusqu'à 10 outils)
Bref, une belle prise de tete
3stone
Salut,
"news.tiscali.fr" | je vous presente tous mes voeux pour cette nouvelle année 2008.
Bonne année aussi ;-)
| Je reviens vers vous avec mes problèmes de filtrage sur plusieurs champs. Je | pensais avoir résolu le problème en plaçant des OR à la place des AND mais | en fait ca ne resoud pas tout. | | Cela fonctionne très bien si dans le filtre je n'ai que des OR | | par ex : ([T_fonction1]='1er ASSISTANT REAL' OR [T_fonction2]='1er ASSISTANT | REAL') | | ou si j'ai que des AND : | ([T_Pays]='France' AND [T_ville]='BEAUVAIS' AND [T_fonction1]='1er ASSISTANT | REAL') | | Dès que je commence a mélanger les deux, cela ne remonte plus les | enregistrements correctement [...]
Si tu n'arrive pas à le créer malqré les indications, utilise un formulaire tout fait... http://www.mvps.org/access/forms/frm0045.htm
"news.tiscali.fr"
| je vous presente tous mes voeux pour cette nouvelle année 2008.
Bonne année aussi ;-)
| Je reviens vers vous avec mes problèmes de filtrage sur plusieurs champs. Je
| pensais avoir résolu le problème en plaçant des OR à la place des AND mais
| en fait ca ne resoud pas tout.
|
| Cela fonctionne très bien si dans le filtre je n'ai que des OR
|
| par ex : ([T_fonction1]='1er ASSISTANT REAL' OR [T_fonction2]='1er ASSISTANT
| REAL')
|
| ou si j'ai que des AND :
| ([T_Pays]='France' AND [T_ville]='BEAUVAIS' AND [T_fonction1]='1er ASSISTANT
| REAL')
|
| Dès que je commence a mélanger les deux, cela ne remonte plus les
| enregistrements correctement
[...]
Si tu n'arrive pas à le créer malqré les indications, utilise un formulaire tout fait...
http://www.mvps.org/access/forms/frm0045.htm
"news.tiscali.fr" | je vous presente tous mes voeux pour cette nouvelle année 2008.
Bonne année aussi ;-)
| Je reviens vers vous avec mes problèmes de filtrage sur plusieurs champs. Je | pensais avoir résolu le problème en plaçant des OR à la place des AND mais | en fait ca ne resoud pas tout. | | Cela fonctionne très bien si dans le filtre je n'ai que des OR | | par ex : ([T_fonction1]='1er ASSISTANT REAL' OR [T_fonction2]='1er ASSISTANT | REAL') | | ou si j'ai que des AND : | ([T_Pays]='France' AND [T_ville]='BEAUVAIS' AND [T_fonction1]='1er ASSISTANT | REAL') | | Dès que je commence a mélanger les deux, cela ne remonte plus les | enregistrements correctement [...]
Si tu n'arrive pas à le créer malqré les indications, utilise un formulaire tout fait... http://www.mvps.org/access/forms/frm0045.htm
merci, je vais essayer de placer des paranthèses comme indiqué...
Je viens de me rendre compte que si je filtre sur les noms et que celui-ci comporte un apostrophe (par ex : L'hermite) le code plante.
If (Not IsNull(LM_Nom)) Then strFiltre = "[T_Nom]='" & LM_Nom & "' AND " End If
j'ai essayé de remplacer les ' par des " mais ca ne vas pas..
"3stone" a écrit dans le message de news:
Salut,
"news.tiscali.fr" | je vous presente tous mes voeux pour cette nouvelle année 2008.
Bonne année aussi ;-)
| Je reviens vers vous avec mes problèmes de filtrage sur plusieurs champs. Je | pensais avoir résolu le problème en plaçant des OR à la place des AND mais | en fait ca ne resoud pas tout. | | Cela fonctionne très bien si dans le filtre je n'ai que des OR | | par ex : ([T_fonction1]='1er ASSISTANT REAL' OR [T_fonction2]='1er ASSISTANT | REAL') | | ou si j'ai que des AND : | ([T_Pays]='France' AND [T_ville]='BEAUVAIS' AND [T_fonction1]='1er ASSISTANT | REAL') | | Dès que je commence a mélanger les deux, cela ne remonte plus les | enregistrements correctement [...]
Si tu n'arrive pas à le créer malqré les indications, utilise un formulaire tout fait... http://www.mvps.org/access/forms/frm0045.htm
merci, je vais essayer de placer des paranthèses comme indiqué...
Je viens de me rendre compte que si je filtre sur les noms et que celui-ci
comporte un apostrophe (par ex : L'hermite)
le code plante.
If (Not IsNull(LM_Nom)) Then
strFiltre = "[T_Nom]='" & LM_Nom & "' AND "
End If
j'ai essayé de remplacer les ' par des " mais ca ne vas pas..
"3stone" <home@sweet_home.be> a écrit dans le message de news:
OUcAb3mTIHA.280@TK2MSFTNGP03.phx.gbl...
Salut,
"news.tiscali.fr"
| je vous presente tous mes voeux pour cette nouvelle année 2008.
Bonne année aussi ;-)
| Je reviens vers vous avec mes problèmes de filtrage sur plusieurs
champs. Je
| pensais avoir résolu le problème en plaçant des OR à la place des AND
mais
| en fait ca ne resoud pas tout.
|
| Cela fonctionne très bien si dans le filtre je n'ai que des OR
|
| par ex : ([T_fonction1]='1er ASSISTANT REAL' OR [T_fonction2]='1er
ASSISTANT
| REAL')
|
| ou si j'ai que des AND :
| ([T_Pays]='France' AND [T_ville]='BEAUVAIS' AND [T_fonction1]='1er
ASSISTANT
| REAL')
|
| Dès que je commence a mélanger les deux, cela ne remonte plus les
| enregistrements correctement
[...]
Si tu n'arrive pas à le créer malqré les indications, utilise un
formulaire tout fait...
http://www.mvps.org/access/forms/frm0045.htm
merci, je vais essayer de placer des paranthèses comme indiqué...
Je viens de me rendre compte que si je filtre sur les noms et que celui-ci comporte un apostrophe (par ex : L'hermite) le code plante.
If (Not IsNull(LM_Nom)) Then strFiltre = "[T_Nom]='" & LM_Nom & "' AND " End If
j'ai essayé de remplacer les ' par des " mais ca ne vas pas..
"3stone" a écrit dans le message de news:
Salut,
"news.tiscali.fr" | je vous presente tous mes voeux pour cette nouvelle année 2008.
Bonne année aussi ;-)
| Je reviens vers vous avec mes problèmes de filtrage sur plusieurs champs. Je | pensais avoir résolu le problème en plaçant des OR à la place des AND mais | en fait ca ne resoud pas tout. | | Cela fonctionne très bien si dans le filtre je n'ai que des OR | | par ex : ([T_fonction1]='1er ASSISTANT REAL' OR [T_fonction2]='1er ASSISTANT | REAL') | | ou si j'ai que des AND : | ([T_Pays]='France' AND [T_ville]='BEAUVAIS' AND [T_fonction1]='1er ASSISTANT | REAL') | | Dès que je commence a mélanger les deux, cela ne remonte plus les | enregistrements correctement [...]
Si tu n'arrive pas à le créer malqré les indications, utilise un formulaire tout fait... http://www.mvps.org/access/forms/frm0045.htm
"news.tiscali.fr" | Je viens de me rendre compte que si je filtre sur les noms et que celui-ci | comporte un apostrophe (par ex : L'hermite) | le code plante. | | If (Not IsNull(LM_Nom)) Then | strFiltre = "[T_Nom]='" & LM_Nom & "' AND " | End If
Lorsque la saisie peut contenir une apostrophe, il faut doubler cette dernière...
'ici les espaces sont destinés à la visualisation ! Replace(LM_Nom , " ' " , " ' ' " , 1 , -1 , vbTextCompare)
ce qui donne pour toi :
If (Not IsNull(LM_Nom)) Then strFiltre = "[T_Nom]='" & Replace(LM_Nom , "'", "''", 1, -1, vbTextCompate) & "' AND " End If
"news.tiscali.fr"
| Je viens de me rendre compte que si je filtre sur les noms et que celui-ci
| comporte un apostrophe (par ex : L'hermite)
| le code plante.
|
| If (Not IsNull(LM_Nom)) Then
| strFiltre = "[T_Nom]='" & LM_Nom & "' AND "
| End If
Lorsque la saisie peut contenir une apostrophe, il faut doubler cette dernière...
'ici les espaces sont destinés à la visualisation !
Replace(LM_Nom , " ' " , " ' ' " , 1 , -1 , vbTextCompare)
ce qui donne pour toi :
If (Not IsNull(LM_Nom)) Then
strFiltre = "[T_Nom]='" & Replace(LM_Nom , "'", "''", 1, -1, vbTextCompate) & "' AND "
End If
"news.tiscali.fr" | Je viens de me rendre compte que si je filtre sur les noms et que celui-ci | comporte un apostrophe (par ex : L'hermite) | le code plante. | | If (Not IsNull(LM_Nom)) Then | strFiltre = "[T_Nom]='" & LM_Nom & "' AND " | End If
Lorsque la saisie peut contenir une apostrophe, il faut doubler cette dernière...
'ici les espaces sont destinés à la visualisation ! Replace(LM_Nom , " ' " , " ' ' " , 1 , -1 , vbTextCompare)
ce qui donne pour toi :
If (Not IsNull(LM_Nom)) Then strFiltre = "[T_Nom]='" & Replace(LM_Nom , "'", "''", 1, -1, vbTextCompate) & "' AND " End If
Cela fonctionne parfaitement et je m'en suis sorti avec mes pranthèses.
Merci encore pour vos prècieux conseils et les codes que vous m'avez fournis.
seb
"3stone" a écrit dans le message de news: %
Salut,
"news.tiscali.fr" | Je viens de me rendre compte que si je filtre sur les noms et que celui-ci | comporte un apostrophe (par ex : L'hermite) | le code plante. | | If (Not IsNull(LM_Nom)) Then | strFiltre = "[T_Nom]='" & LM_Nom & "' AND " | End If
Lorsque la saisie peut contenir une apostrophe, il faut doubler cette dernière...
'ici les espaces sont destinés à la visualisation ! Replace(LM_Nom , " ' " , " ' ' " , 1 , -1 , vbTextCompare)
ce qui donne pour toi :
If (Not IsNull(LM_Nom)) Then strFiltre = "[T_Nom]='" & Replace(LM_Nom , "'", "''", 1, -1, vbTextCompate) & "' AND " End If
Cela fonctionne parfaitement et je m'en suis sorti avec mes pranthèses.
Merci encore pour vos prècieux conseils et les codes que vous m'avez
fournis.
seb
"3stone" <home@sweet_home.be> a écrit dans le message de news:
%23sUaYstTIHA.3532@TK2MSFTNGP04.phx.gbl...
Salut,
"news.tiscali.fr"
| Je viens de me rendre compte que si je filtre sur les noms et que
celui-ci
| comporte un apostrophe (par ex : L'hermite)
| le code plante.
|
| If (Not IsNull(LM_Nom)) Then
| strFiltre = "[T_Nom]='" & LM_Nom & "' AND "
| End If
Lorsque la saisie peut contenir une apostrophe, il faut doubler cette
dernière...
'ici les espaces sont destinés à la visualisation !
Replace(LM_Nom , " ' " , " ' ' " , 1 , -1 , vbTextCompare)
ce qui donne pour toi :
If (Not IsNull(LM_Nom)) Then
strFiltre = "[T_Nom]='" & Replace(LM_Nom , "'", "''", 1, -1,
vbTextCompate) & "' AND "
End If
Cela fonctionne parfaitement et je m'en suis sorti avec mes pranthèses.
Merci encore pour vos prècieux conseils et les codes que vous m'avez fournis.
seb
"3stone" a écrit dans le message de news: %
Salut,
"news.tiscali.fr" | Je viens de me rendre compte que si je filtre sur les noms et que celui-ci | comporte un apostrophe (par ex : L'hermite) | le code plante. | | If (Not IsNull(LM_Nom)) Then | strFiltre = "[T_Nom]='" & LM_Nom & "' AND " | End If
Lorsque la saisie peut contenir une apostrophe, il faut doubler cette dernière...
'ici les espaces sont destinés à la visualisation ! Replace(LM_Nom , " ' " , " ' ' " , 1 , -1 , vbTextCompare)
ce qui donne pour toi :
If (Not IsNull(LM_Nom)) Then strFiltre = "[T_Nom]='" & Replace(LM_Nom , "'", "''", 1, -1, vbTextCompate) & "' AND " End If