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 :

Comment Ajouter sur mon état les dates utilisés dans une requête [AC-2010]


Sujet :

IHM

  1. #1
    Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2019
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Comment Ajouter sur mon état les dates utilisés dans une requête
    Bonjour tous le monde,
    Je suis débutant dans access et je suis en train de réaliser une base de donnée Access pour la gestion des stocks dans une pépinière de plants.
    J ai réalisé une requête simple dans laquelle on doit choisir la fourchette de date (première date et dernière date) pour laquelle on veut les données et je veux que ces dates s'affiche sur l’état qui est fait a partir de cette requête.
    Quelqu un peut il m'aider?
    Merci d'avance

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    Bonjour

    Une façon de faire est modifier le texte du titre de l'état (.Caption) au moment de son ouverture à l'aide des dates inscrites dans le formulaire qui lance l'ouverture de cet état. Quelque chose du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.etqTitre.Caption = "Liste des plants entre le " & Format(d1, "dd/mm/yyyy") & _
                          " et le " & Format(d2, "dd/mm/yyyy") & "."
    Un exemple en attaché.

    Bonne continuation.
    Fichiers attachés Fichiers attachés

  3. #3
    Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2019
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Salut EricDgn et merci pour ton aide.
    C'est exactement ce qu'il me faut mais malheureusement je ne m'y connais pas en programmation. J'avais basé mon état sur une requête de sélection de la date mais je trouve plus pratique de faire un formulaire a la place comme tu l'a fais dans l'exemple
    Si j ai bien compris il faut que je crée je crée 2 zones de text indépendant au niveau du titre de mon formulaire et que je rentre dans le générateur de code de ces zones de texte pour "insérer le code que tu m'a donné?
    J ai essayer de le faire mais je n'arrive pas a avoir le meme résultat que celui dans l'exemple que tu m'a envoyé.
    Pourrait tu détailler un peu les étapes pour y arriver?
    Merci

  4. #4
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    Bonjour,

    Le principe est effectivement d'avoir dans le formulaire 2 zones de texte qui contiennent les dates, nommées dans l'exemple 'Dat1' et 'Dat2'.

    Nom : EntreDates01.jpg
Affichages : 180
Taille : 52,7 Ko

    Ensuite l'état "sur ouverture" récupère ces 2 valeurs pour construire le texte du titre, nommé dans l'exemple 'etqTitre'.

    Nom : EntreDates02.png
Affichages : 167
Taille : 13,1 Ko

    Nom : EntreDates03.png
Affichages : 164
Taille : 15,5 Ko

    Maintenant il y a différentes façons de synchroniser la liste affichée sur le formulaire et la liste affichée sur l'état. J'en ai utilisée une mais vous en avez sans doute utilisé une autre, que vous pouvez tout à fait bien conserver: cela ne change pas le principe de construction du texte titre de l'état.

    Bonne continuation.

  5. #5
    Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2019
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonjour EricDgn et merci pour vos explications.
    J ai suivi vos étapes et j ai pu mettre au point le formulaire ''=(F_Production) avec les 2 date.
    Nom : CaptureFproduction.PNG
Affichages : 166
Taille : 26,7 Ko

    J ai ensuite créé l'état qui est basé sur la table T_Production et j’ai nommé son entête "etqTitre".
    Nom : CaptureEproduction.PNG
Affichages : 147
Taille : 17,3 Ko

    J 'ai utilisé le code suivant dans l'évenement "sur ouverture" de l'état:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Report_Open(Cancel As Integer)
       Dim d1 As Variant, d2 As Variant
       If OpenArgs = "F_Production ouvert" Then
          Me.RecordSource = Form_F_Production.RecordSource
          d1 = Nz(Form_F_Production.Dat1, "")
          d2 = Nz(Form_F_Production.Dat2, "")
          If d1 <> "" And d2 <> "" Then
             Me.etqTitre.Caption = "Liste des plants produits entre le " & Format(d1, "dd/mm/yyyy") & _
                                   " et le " & Format(d2, "dd/mm/yyyy") & "."
          End If
       End If
    End Sub
    Mais apparemment j'ai dû faire une erreur quelque part parce que ça me donne ce message
    Nom : Capturemessage.PNG
Affichages : 128
Taille : 4,9 Ko
    Je n'arrive pas à déceler l’erreur
    Avez-vous une idée de ce qui n'a pas marché?
    Merci

  6. #6
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    Bonjour,

    Attention, ce n'est pas la 'section' qui doit avoir ce nom, mais l'étiquette qui contient le texte de titre:

    Nom : CaptureEproduction.PNG
Affichages : 166
Taille : 19,8 Ko

    Bonne continuation.

  7. #7
    Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2019
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonjour et Merci pour la correction.
    J'ai rectifié et Il n'y a plus de message d'erreur mais les 2 dates ne s'affichent pas sur l'état et aussi la sélection de dates n'est pas effectuée.
    Sur cette exemple mon formulaire présente une entrée
    Nom : Capture1.PNG
Affichages : 155
Taille : 20,8 Ko
    mais l'était présente toutes les entrées
    Nom : Capture2.PNG
Affichages : 145
Taille : 29,9 Ko
    Y'a t il une autre erreur?
    Merci

  8. #8
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    Bonjour,

    Dans le fichier exemple donné, il y avait dans le formulaire un bouton avec ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub btnPrint_Click()
       DoCmd.OpenReport "ePlants", acViewPreview, , , , "fPlants ouvert"
    End Sub
    Le texte "fPlants ouvert" est l'argument envoyé à l'état "ePlants".
    Il faut exactement ce même texte dans la macro Report_Open(...). C'est ce texte qui est analysé dans l'instruction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If OpenArgs = "F_Production ouvert" Then
    Si d'un côté il est indiqué "fPlants ouvert" et de l'autre "F_Production ouvert", cela ne peut effectivement pas fonctionner: il n'y a pas égalité.
    En exécutant la macro Report_Open pas à pas, vous pourrez voir ce qui se passe effectivement.

    Bonne continuation.

  9. #9
    Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2019
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    J'ai vérifié mais j'ai le même ''F_production ouvert'' dans les 2 codes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Private Sub valider_Click()
       If IsDate(Me.Dat1) And IsDate(Me.Dat2) Then
          If Me.Dat1 > Me.Dat2 Then
             MsgBox "Annulé: Date2 < Date1 ?", , "Anomalie dates"
          Else
             Me.RecordSource = "Select * FROM T_Production WHERE Date_production Between #" & Format(Me.Dat1, "yyyy-mm-dd") & "# AND #" & Format(Me.Dat2, "yyyy-mm-dd") & "#;"
          End If
       Else
          MsgBox "Annulé: SVP indiquez la fourchette de date de production", , "Date manquante"
       End If
    End Sub
     
    Private Sub imprimer_Click()
    DoCmd.OpenReport "E_Production", acViewPreview, , , , "F_Production ouvert"
    End Sub
    Je peux peut-être vous envoyer ma base pour que vous voyez ce qui ne vas pas?

    Production plants.rar

  10. #10
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    Bonjour,

    En fait il suffit d'allonger la largeur de l'étiquette etqTitre pour que tout le texte puisse s'afficher!

    Bonne continuation.
    Fichiers attachés Fichiers attachés

  11. #11
    Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2019
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Génial ça a marché.
    Merci beaucoup EricDgn

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/07/2009, 01h21
  2. Comment insérer la date actuelle dans une requête SQL ?
    Par AMINE07 dans le forum Bases de données
    Réponses: 7
    Dernier message: 15/11/2007, 16h47
  3. Compter les Dates différentes dans une requête Access
    Par maxireus dans le forum Modélisation
    Réponses: 2
    Dernier message: 11/05/2007, 00h02
  4. Réponses: 1
    Dernier message: 01/09/2006, 20h13
  5. Comment gérer les valeur Nulles dans une requête ?
    Par sondo dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/03/2005, 11h02

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