IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Sous Formulaire en fonction de date


Sujet :

IHM

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Sous Formulaire en fonction de date
    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 ^^

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 366
    Points : 23 834
    Points
    23 834
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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+

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    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

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par marot_r Voir le message
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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+
    En fin de compte ce n'est pas tout à fait l'usage que je souhaites faire.

    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

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 366
    Points : 23 834
    Points
    23 834
    Par défaut
    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
    As-tu besoin de voir les 2 postes siimultanéments ?

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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+

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    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

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 366
    Points : 23 834
    Points
    23 834
    Par défaut
    je ne précise pas le poste
    Comment le système peut-il connaître le poste ?

    donc les données contenu dans les mois sont éparpillés
    Peux-tu trier par poste ?

    Peut-être pourrais-tu poster ton modèle de relation, cela aiderai à fixer les idées.

    A+

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    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.
    Images attachées Images attachées  

Discussions similaires

  1. colorier cellule sous-formulaire en fonction de sa valeur
    Par aba_tarn dans le forum VBA Access
    Réponses: 7
    Dernier message: 07/03/2008, 13h40
  2. Relations, sous formulaires et calcul de date
    Par may.hona dans le forum Modélisation
    Réponses: 6
    Dernier message: 13/06/2007, 11h44
  3. Réponses: 17
    Dernier message: 23/05/2007, 14h57
  4. Réponses: 3
    Dernier message: 10/05/2007, 13h21
  5. Réponses: 1
    Dernier message: 04/05/2007, 12h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo