|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 5 ![]() |
Bonjour,
J'ai une question sur Access et la conception de formulaire, mais ne sachant pas comment formuler ça je n'arrive pas à effectuer les recherches nécessaires sur mon ami Google ... J'ai 3 tables différentes : Prestataire, Commande, Janvier (une pour chaque mois de l'année) et un formulaire permettant de remplir tout ça. Mon formulaire est en 3 parties Prestataire : je sélectionne la personne (fais référence à la table prestataire) Commande : je choisit quelle commande pour cette personne (je peux avoir plusieurs commandes pour une même personne) (fais référence à la table Commande) Mois : là j'ai le mois de janvier que je peux remplir. (fais référence à la table du mois) Le truc c'est que je souhaiterais faire un système de filtre automatique, dans la partie commande j'ai le numéro de la commande ainsi que les dates de début et de fin. Je souhaiterais qu'il m'affiche les mois en fonction de ces dates. Par exemple si la date est entre le 01/03/11 et le 31/07/11 alors il m'affiche les formulaires pour Mars, Avril, Mai, Juin et Juillet... Je ne parviens pas à le faire quelqu'un pourrait m'aider ? (ce serait génial ^^) Cordialement, Moi ^^ |
|
|
00
|
|
|
#2 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 470 ![]() |
Tu ne devrais pas avoir 12 tables mais une seule avec l'info de date et filter tes données pour n'afficher que les données du mois qui t'interesse.
TaTableMensuelle ClefTableMensuelle DateInfo Autres données Requête : Code sql :
SELECT [TaTableMensuelle].* FROM [TaTableMensuelle] WHERE [TaTableMensuelle].[DateInfo] BETWEEN [Forms]![TonForm]![DateDebut] AND [Forms]![TonForm]![DateFin]; Cette requête va sélectionner tous les enregistrements de [TaTableMensuelle] dont la date est comprise entre la date de début et la date de fin dans le formulaire [TonForm]. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 5 ![]() |
Merci pour la réponse,
Effectivement ça paraît plus logique de faire comme ça, mais le truc c'est que je reçois des rapports d'activités et je fais un copier coller, donc j'ai reproduis le même format pour, à terme, faire une simple liaison. Et le fait de trier en fonction des dates me permettra de remplir dans la bonne commande directement... Mais dans la logique c'est vrai qu'on prends access pour tout mettre dans une seule et même table les infos de ce type et d'ensuite trier et filtrer par le biais des requêtes... Je vais quand même tenté comme ça on ne sait jamais |
|
|
00
|
|
|
#4 | |
|
Invité de passage
![]() Inscription : août 2011 Messages : 5 ![]() |
Citation:
Je vais donner plus de détails : J'ai une commande (disons commande 2010) et un poste définit par des dates puis un autre poste pour la même commande Par exemple commande 1010 poste 1 allant du 01/01/11 au 31/01/11 et une autre commande 1010 poste 2 du 01/02/11 au 28/02/11 Et quand je saisie je souhaiterais que tout se fasse automatiquement. Soit en faisant une seule table pour laquelle je met tout bout à bout ( comme dit au dessus) et qu'il sache lui même en fonction de la date de quel poste il s'agit, soit faire une table pour chaque mois, et qu'il n'affiche que les tables concernés par les dates dans le formulaire. Je ne sais pas si je m'exprime bien
|
|
|
|
00
|
|
|
#5 | |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 470 ![]() |
Citation:
Si tu vas avec une seule table (ce que je recommande fortement puisque tu n'auras que des filtres à faire, pas à changer dynamiquement tes sources de données) la structure suivante devrait répondre à ton besoin : TaTableMensuelle ClefTableMensuelle DateInfo ClefPoste Autres données Code sql :
SELECT [TaTableMensuelle].* FROM [TaTableMensuelle] WHERE [TaTableMensuelle].[DateInfo] BETWEEN [Forms]![TonForm]![DateDebut] AND [Forms]![TonForm]![DateFin] AND [ClefCode]=[Forms]![TonForm]![ClefCode]; Va afficher toutes les info pour les dates comprises entre Date de début et date de fin dont le poste est égale à ClefPoste. Si tu veux travailler avec plusieurs tables (ce qui à mon avis complique sérieusement l'architecture de ta BD), il faut que tu change la propriété DataSource de ton objet formulaire. Ceci se fait par VBA. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 5 ![]() |
Je suis obligé d'avoir les postes, car il me permettent de savoir si tout a été fait correctement.
Il se peut qu'il y ai trop par poste, dans ce cas je le vois, si jamais je ne fais qu'un filtre par date je ne peux pas voir, de même lorsque je saisie dans les formulaires, je ne précise pas le poste et donc les données contenu dans les mois sont éparpillés |
|
|
00
|
|
|
#7 | ||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 470 ![]() |
Citation:
Citation:
Peut-être pourrais-tu poster ton modèle de relation, cela aiderai à fixer les idées. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 5 ![]() |
Voilà le Schéma
Bon j'ia fait le petit con inutile j'ai caché certaines choses... J'ai donc mis tout les mois dans la même table comme dit dessus. Et le truc c'est que je voudrais faire un formulaire qui me permet de mettre à jour les mois. 1 . Je choisis le Nom du prestataire 2 . Il me donne les différents commandes et postes pour cette personne 3 . En fonction du poste que je choisis il me présente les mois possible à remplir. Si le poste en question ne va pas au delà de Mars, alors je ne voudrais avoir que Janvier, Février et Mars à remplir. Qu'il sélectionne les sous formulaires automatiquement. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com