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 :

Formulaire et sous-formulaire basé sur 1 requete


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 169
    Points : 48
    Points
    48
    Par défaut Formulaire et sous-formulaire basé sur 1 requete
    Bonsoir,

    J'ai 1 formulaire où je choisis le nom de la personne qui a saisit et ce dans 1liste déroulante. Et dans mon sous-formulaire, j'ai le detail de ce qu'il a saisit.Mon sous-formuliaire a comme source 1 requete "detail saisie" dans laquelle il ya le champs date de reception.Et dans le champs date de reception, il ya en critère "entre [date de debut]et [date de fin].
    Ainsi, lorsque je double-clique pour ouvrir mon formulaire, il me demande la date de debut et la date de fin. Et mon formulaire 1 fois ouvert, je choisis donc le nom de la personne dans ma liste deroulante pour avoir slt ses saisies la concernant dans mon sous-formulaire, il me demande à nouveau la date de debut et la date de fin.Donc je voulais savoir comment faire pour qu'il me pose 1 seule fois et pas deux la question :date de debut et la date de fin ?

  2. #2
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Bonjour,

    Tout d'abord, c'est normal qu'il te demande Deux fois l'information. En effet, lors de l'ouverture du formulaire, Access cherche à afficher les infos contenues et du coup exécute la requete du sous formulaire.

    Pour remédier à ce problème, ajoute deux zones de textes sur ton formulaire principal et saisis les dates une seule fois dans ces zones. Ces zones peuvent être Champ Péres du sous formulaire des Détails de Saisie

    En espérant t'avoir aider

    Jeannot
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonjour,

    Access pose des questions? Ce sont des solutions qu'on lui demande! Exemple :

    Ton formulaire principale—>frm_Utilisateur (Pas de source ou avec peu importe.)
    Dessus une liste déroulante—>cbo_Utilisateur avec pour source...Les utilisateurs.
    Deux champs :
    —>txt_Debut—>Format—>Date, abrégé—Valeur par défaut—>#01/01/2000#(Celle que tu veux)
    —>txt_Fin—–>Format—>Date, abrégé—Valeur par défaut—>Date() (Ou alors Saint GlinGlin, qui comme chacun le sait tombe le 1er Novembre, fête de tous les Saints)

    Le sous formulaire avec pour source ta requête basée sur ta table
    ayant entre autre pour champs—>[Utilisateur] +[date_de_reception]
    Critères du champ [date_de_reception] de ta requête :
    Entre [Formulaires]![frm_Utilisateur]![txt_Debut] Et [Formulaires]![frm_Utilisateur]![txt_Fin]

    Sur ton sous formulaire—>Données :
    Champs fils—>Utilisateur
    Champs pères—>cbo_Utilisateur

    Sur ton formulaire principale—>Sur ouverture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.cbo_Utilisateur = Me.cbo_Utilisateur.ItemData(0)
    Et pour terminer, sur ton formulaire principale, pour les champs txt_Debut et txt_Fin —>Après Maj :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.LeNomDeTonSousFormulaire.Requery
    Peut-être : Pour renseigner les dates de façon élégante—> Voir le travail offert par notre "extra terrestre"Arkham 46 :
    http://www.developpez.net/forums/sho...ght=calendrier

    Cordialement.
    *******************************************************
    Ps :Je sais :"tombe le 1er Novembre." Mais comment résister à la facilité...
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 169
    Points : 48
    Points
    48
    Par défaut Re-Formulaire et sous-formulaire basé sur 1 requete
    Pouvez vous svp le faire directement sur 1 exemple de ma base qui est en piece jointe car j'ai un peu de mal. Il s'agit du formulaire "Saisies_par_agent". J'essairerai de le reproduire sur la base à mon travail.Pouvez vous svp dire ce que vous avez fait et sans codes et sans vba car je ne m'y connais pas.Merci beaucoup.

  5. #5
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Hello,

    Je viens de reprendre le formulaire de ta base. Voici ce que j'y ai fait :

    Au niveau du Formulaire Principal : J'ai ajouté les deux Champs txtDebut et txtFin
    Pour ces deux champs, j'y ai mis un Masque de saisie afin de préparer la generation de date. (Voir les proprietes)

    Au niveau de la requete : J'ai modifié celle-ci (je me suis demandé pourquoi tu avais mis des regroupement) et dans la zone critère, je fais appel à mes deux champs de formulaires (qui en l'occurence s'appelle des controles) pour obtenir :
    Entre [Formulaires]![Saisies_par_agent]![txtDebut] Et [Formulaires]![Saisies_par_agent]![txtFin]

    Pour que la requete sache qu'elle travaille avec des dates, j'ai déclaré des parametres (cliques droit dans la zone de table de la requete puis PARAMETRES)

    Enfin au niveau des évènements : pour les deux controles sur Apres MAJ
    Controle txtDebut : Conversion de la valeur saisie en date
    Controle txtFin : Procédure évènementielle (pas pu faire autrement hélas) Conversion de la valeur saisie en date et mise à jour des détails

    J'espère avoir répondu à ton problème

    Jeannot
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

Discussions similaires

  1. Lier un sous-formulaire à un sous-formulaire
    Par bobosh dans le forum IHM
    Réponses: 2
    Dernier message: 02/03/2021, 11h45
  2. Réponses: 5
    Dernier message: 06/05/2015, 12h24
  3. Réponses: 2
    Dernier message: 24/06/2013, 09h31
  4. [AC-2007] Sous état basé sur une requete en fonction d'un autre état
    Par Bulbulle dans le forum IHM
    Réponses: 2
    Dernier message: 30/11/2012, 22h28
  5. Accéder à un sous-formulaire de sous-formulaire
    Par touftouf57 dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/11/2008, 19h04

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