ACCESS: Requete a criteres multiples
Fermé
franck001
Messages postés
45
Date d'inscription
mardi 9 avril 2002
Statut
Membre
Dernière intervention
5 avril 2007
-
11 févr. 2003 à 09:43
Aissatou - 1 mars 2010 à 12:50
Aissatou - 1 mars 2010 à 12:50
A voir également:
- ACCESS: Requete a criteres multiples
- Index equiv 3 critères - Forum Bureautique
- Access denied - Forum Bbox Bouygues
- Requete http - Guide
- Exemple base de données access à télécharger gratuit - Forum Access
- Index equiv 2 critères - Forum Excel
3 réponses
Salut,
si g bien compris, tu as ton form avec des zones de texte (ou listes), et tu veux exécuter une requête là-dessus. Tu as donc dû créer un bouton, c ça ? En tout cas c ce que j'ai compris.
Alors, pourquoi ne pas créer 2 requêtes, 1 en cas de champ renseigné, l'autre en cas de champ vide. Ensuite, en vba sur le code de ton bouton, if me!champ1 is null then docmd.openquery "requete1" else ........
@ +
si g bien compris, tu as ton form avec des zones de texte (ou listes), et tu veux exécuter une requête là-dessus. Tu as donc dû créer un bouton, c ça ? En tout cas c ce que j'ai compris.
Alors, pourquoi ne pas créer 2 requêtes, 1 en cas de champ renseigné, l'autre en cas de champ vide. Ensuite, en vba sur le code de ton bouton, if me!champ1 is null then docmd.openquery "requete1" else ........
@ +
franck001
Messages postés
45
Date d'inscription
mardi 9 avril 2002
Statut
Membre
Dernière intervention
5 avril 2007
1
11 févr. 2003 à 14:02
11 févr. 2003 à 14:02
Ceci est vzalable si je n'ai qu'un champ dans mon formulaire mais j'effectue mon tri sur 8 champs distincts autant te dire que le nombre de requetes a faire est inchiffrable :-)
Franck (-_-)°zzZZZ
http://membres.lycos.fr/franck001
Franck (-_-)°zzZZZ
http://membres.lycos.fr/franck001
xav1611
Messages postés
525
Date d'inscription
mardi 22 janvier 2002
Statut
Membre
Dernière intervention
13 décembre 2006
13
12 févr. 2003 à 15:14
12 févr. 2003 à 15:14
Salut,
Je crois que ton problème est resolvable en utilisant une table temporaire. Tu recopies la table sur laquelle tu fais ta selection en integralité, et à chaque modification de tes critères de selection, tu recrées cette table temporaire avec les elements qui correspondent à ce choix. Par exemple, sur le "on_change" de la liste de choix concernant le critère "couleur", tu sais que tu n'as à effectuer que le test sur la couleur, ça t'evite de vérifier si le critère "prix" est resté vide. Une fois que la couleur est choisie, tu recrées ta table temporaire, et tu ne travailles plus qu'avec les enregistrements qui correspondent à ton premier critère choisi.
En terme d'efficacité, je ne sais pas ce que ça donne, mais ça évite de créer 8! requètes avec presque autant de if else dans ton code. Si vraiment ta table est très importante, tu peux faire ça en deux ou trois formulaires, que tu enchaines, en regroupant tes critères par categories, mais la je ne peux pas te dire ça sans savoir sur quoi tu travailles...
Bon courage,
Je crois que ton problème est resolvable en utilisant une table temporaire. Tu recopies la table sur laquelle tu fais ta selection en integralité, et à chaque modification de tes critères de selection, tu recrées cette table temporaire avec les elements qui correspondent à ce choix. Par exemple, sur le "on_change" de la liste de choix concernant le critère "couleur", tu sais que tu n'as à effectuer que le test sur la couleur, ça t'evite de vérifier si le critère "prix" est resté vide. Une fois que la couleur est choisie, tu recrées ta table temporaire, et tu ne travailles plus qu'avec les enregistrements qui correspondent à ton premier critère choisi.
En terme d'efficacité, je ne sais pas ce que ça donne, mais ça évite de créer 8! requètes avec presque autant de if else dans ton code. Si vraiment ta table est très importante, tu peux faire ça en deux ou trois formulaires, que tu enchaines, en regroupant tes critères par categories, mais la je ne peux pas te dire ça sans savoir sur quoi tu travailles...
Bon courage,