|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Michael Jordan Inscription : avril 2010 Messages : 25 ![]() |
Bonsoir à tous,
Je rencontre à nouveau des problèmes sur une nouvelle base de données que je suis en train de développer. Pour l'histoire, je travaille dans une entreprise de sécurité et j'ai décidé de refaire leur base de données clientes. Chaques clients de la société sont regroupées en différents rayons et chacun de ces clients possède une ou plusieurs médailles attaché à des clés. Ma table prestation me permet de créer toutes les prestations comme indiqué ci-dessus (table de jointure) Voici les différentes tables ainsi que les champs de ma base: Client: Code_client/Nom_client/Adresse_client/Ville_client Clef: Code_clef/Type_clef/Marque_clef/Reference_clef/Medaille_clef Medaille: Code_medaille/Nom_medaille Prestation: Rayon_prestation/Client_Prestation/Medaille_Prestation Rayon: Code_rayon/Nom_rayon Je bloque actuellement sur un système de recherche multi-critère. Je me suis basé sur le tutoriel de caféine. J'ai crée trois zones de texte afin de rechercher par client, N° medaille ou rayon. Mon problème est que la recherche fonctionne si je cherche un seul de ces éléments mais pas sur plus d'un. (ex: je recherche sur le rayon X le client X). Voici le code de mon boutton "Rechercher": Code :
Dans l'attente d'une réponse de votre part, je vous souhaite, une très bonne soirée. Jordan Michael |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Bonjour,
Si tu debugge la syntaxe générée tu verras immédiatement ce qui cloche. Petite piste : tu ne peux pas faire des recherches multicritères avec ce code. Code :
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
||
|
00
|
|
|
#3 | ||
|
Candidat au titre de Membre du Club
![]() Michael Jordan Inscription : avril 2010 Messages : 25 ![]() |
Bonjour Loufab,
Je te remercie de ta réponse. Je vais suivre le cours dont tu parles afin de debugguer ma syntaxe. Et si je comprends bien, je ne peux pas créer une requête sql pour chacunes de mes zones texte, je dois donc créer une requête unique qui m'affiche toutes les informations voulues avec ce genre de code: Code :
Je vous tiens informer dès que j'ai pu essayer tout ça. Jordan Michael |
||
|
|
10
|
|
|
#4 | ||
|
Candidat au titre de Membre du Club
![]() Michael Jordan Inscription : avril 2010 Messages : 25 ![]() |
Bonsoir tout le monde.
J'ai donc modifié ma requête SQL ainsi et cela fonctionne parfaitement pour la recherche: Code :
En espérant avoir était clair et en vous remerciant déjà pour vos réponses, je vous souhaite une très bonne soirée. Jordan Michael |
||
|
|
00
|
|
|
#5 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Bonjour,
Dans le cas de requetes multitable il vaut mieux démarrer comme ceci :
Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
10
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Bonsoir à tous,
Je me permets de m'immiscer et de compléter l'excelente suggestion de Loufab : dans l'assistant, quand tu passes en regroupement, effectivement, toute la ligne "Opération" devient "Regroupement", ce qui se traduit, dans le SQL, par des HAVING pour les champs concernés par un "Critère". Pour des raisons de performance, pour les champs concernés par un "Critère", il vaut mieux remplacer "Regroupement" par "Où" (WHERE, donc), sauf s'il s'agit d'un test sur des fonctions de regroupement (Count(*), Min(), Max(), etc...). En effet, dans ce cas, les enregistrements seront testés AVANT leur sélection dans le groupe (GROUP BY). Sinon, ils seront testés APRES le GROUP BY, ce qui fait travailler la machine sans aucun intérêt. Je ne sais pas si j'ai été clair, sur ce coup là...
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#7 | ||
|
Candidat au titre de Membre du Club
![]() Michael Jordan Inscription : avril 2010 Messages : 25 ![]() |
Bonjour à tous,
Merci infiniment pour vos réponse. J'ai réussi a créer ma requete SQL sans doublon. J'ai tout simplement pas sélectionné les champs ou les doublons apparaissent et cela fonctionne parfaitement. Etant novice en la matière, je ne comprend pas du tout le fonctionnement. Je vais parcourir le forum à la recherche de mes réponses. Code :
|
||
|
|
00
|
|
|
#8 | ||
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Les doublons :
Par exemple pour : Code :
Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
||
|
00
|
Copyright © 2000-2012 - www.developpez.com