|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2009 Messages : 127 ![]() |
Bonjour,
J'aurais besoin d'un conseil pour créer une requête. J'ai des contrat d'entretien comprenant de une à six visites annuelles. Dans mes fiches clients j'ai créer des champs (Date V1, Date V2, etc) qui prévoient les dates auxquels ces entretien doivent avoir lieu : Date V1 1/01/2012 Date V2 1/06/2012 etc... Pour chaque champ j'ai une case à cocher (C-V1, C-V2, etc) et lorsque par exemple l'entretien n°1 à été réalisé, je coche la case C-V1 et la date est augmenté d'une année (1/01/2012 devient 1/01/2013). J'aimerais créer une requête et ensuite un formulaire qui me listerait tous les entretien que je dois réaliser en janvier de l'année N, en février de l'année N etc... et si la case à cocher C-V1, C-V2 etc... est cochée que ces entretiens n'apparaissent plus. En revanche s'ils n'ont pas été réalisés le mois prévus (janvier par exemple), qu'ils soient reportés sur la liste du mois suivant. J'ai déjà créer des requêtes où je saisi le mois et l'année pour sélectionner ma demande, mais là j'ai de une à six dates donc je ne sais pas comment faire. Si quelqu'un à une idée à me proposer je suis preneur... Cordialement, |
|
|
00
|
|
|
#2 | |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 184 ![]() |
Bonjour Maringot,
Il y a, de base, un problème de conception qui, à terme, te donnera bien d'autres soucis... D'après ce que j'ai compris, Citation:
Client(Id_Client, Nom, Date-V1, C-V1, Date-V2, C-V2, Date-V3, C-V3, Date-V4, C-V4, Date-V5, C-V5, Date-V6, C-V6, ...) Il eu été plus judicieux de créer les tables suivantes : Client(Id_Client, Nom, ...) Visite(#Id_Client, Date_Visite, Visite_Effectuee, Observations (peut-être), ...) Relation Client 1---∞ Visite, via Id_Client. Cela te permettrait d'obtenir toutes tes dates dans la même table et, en plus, de conserver un historique de tes visites (choses impossible, en l'état). Par conséquent, tes requêtes s'en trouveraient plus aisées à concevoir. D'autre part, je pense que les dates de visites se situent au niveau du contrat d'entretien, et non au niveau du client, mais c'est une autre histoire... Sinon, si tu ne peux/veux pas modifier la structure de ta base, ta problématique objet de ce fil sera résolue par des VraiFaux() imbriqués et/ou des requêtes intermédiaires.
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
|
00
|
|
|
#3 | ||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
Bonjour,
on doit pouvoir arriver à ses fins avec cette syntaxe un peu particulière pour chercher un mois précis parmi les 6 dates: Code sql :
Visite(idVisite, #idClient, DateVisite, StatutVisite={prévue, en cours, reportée, effectuée, …}), la requête pour obtenir le même résultat devient élémentaire, performante sans pour autant demander des efforts démesurés au niveau du formulaire et ses cases à cocher (à mon avis): Code sql :
SELECT idClient FROM Visite WHERE format([DateVisite], "mm/yyyy")="12/2011" AND StatutVisite="prévue"; à+
__________________
L'informatique fait son grand retour au lycée... |
||
|
10
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2009 Messages : 127 ![]() |
Bonjour,
Effectivement c'est plus simple et plus logique de créer une autre table et ç fonctionne mieux, maintenant je vais le peaufiner. Merci de votre aide, Maringot |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com