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 :

Ouverture état aperçu avant impression [AC-2013]


Sujet :

IHM

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    398
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 398
    Points : 128
    Points
    128
    Par défaut Ouverture état aperçu avant impression
    Bonjour,

    j'ai créé un formulaire de recherche avec un filtre multi critère.
    J'ai créé une macro sur un bouton qui ouvre l'état avec aperçu avant impression et j'ai mis une condition where pour afficher le résultat de ma recherche.
    Le problème est que l'état n'affiche qu'une seule donnée alors que dans mon formulaire j'ai plusieurs données.
    Merci

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 359
    Points : 23 829
    Points
    23 829
    Par défaut
    Bonjour.

    Le problème est que l'état n'affiche qu'une seule donnée alors que dans mon formulaire j'ai plusieurs données.
    • Vérifie que la source du rapport a bien plusieurs lignes de données.
    • Vérifie que ton rapport, si tu ne lui passe pas de condition affiche bien toutes les données.
    • Assure-toi qu'i n'y a pas de regroupement ou de saut de page après chaque enregistrement.
    • Vérifie la condition passée au rapport. Correspond-t'elle bien à la sélection voulue ?
    • Éventuellement poste une copie de ta condition, ça donnera peut-être une piste.


    A+

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    398
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 398
    Points : 128
    Points
    128
    Par défaut
    J'ai vérifié tout est correct.
    Ma condition :
    N° de réception est la clé primaire de ma table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [N° de réception]=[Formulaires]![f_recherche_multicritere]![N° de réception]

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 359
    Points : 23 829
    Points
    23 829
    Par défaut
    Bonjour.

    Étrange cela marche très bien d'habitude.

    Peux-tu poster un extrait des données qui devrait être affichée par le rapport (ex : juste la colonne réservation, pour une seule réservation, pris dans la source du rapport) ?

    A+

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    398
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 398
    Points : 128
    Points
    128
    Par défaut
    Je résume :
    Mon formulaire continu de recherche avec mon champ N° de réception clé primaire

    Nom : Annotation 2020-04-01 200032.png
Affichages : 133
Taille : 23,9 Ko

    les propriétés du champ N° de réception

    Nom : Annotation 2020-04-01 200033.png
Affichages : 149
Taille : 7,2 Ko

    Les propriétés de mon formulaire

    Nom : Annotation 2020-04-01 200034.png
Affichages : 229
Taille : 9,3 Ko

    Ma requête qui est la source de mon formulaire issue de la table réception

    Nom : Annotation 2020-04-01 200035.png
Affichages : 142
Taille : 3,0 Ko

    Les propriétés de mon état dont la source est la table réception

    Nom : Annotation 2020-04-01 200036.png
Affichages : 152
Taille : 4,7 Ko

    La macro sur mon bouton pour ouvrir l'état avant impression

    Nom : bouton.png
Affichages : 137
Taille : 7,7 Ko

    Un exemple de résultat de données sur le formulaire avec 3 résultats

    Nom : recherche.png
Affichages : 165
Taille : 33,8 Ko

    Et seulement 1 résultat sur mon état qui correspond toujours au premier N° de réception ici le 721

    Nom : etat.png
Affichages : 128
Taille : 3,7 Ko

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 359
    Points : 23 829
    Points
    23 829
    Par défaut
    Vraiment étrange.

    Peux-tu poster les SQL de la source de données du rapport (ou sa propriété source si tu n'as pas de SQL) ?

    A+

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonsoir,

    Désolé de m'inviter dans votre échange mais je pense que le résultat est conforme au filtre indiqué au post #3 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [N° de réception]=[Formulaires]![f_recherche_multicritere]![N° de réception]
    Maintenant comme dit marot_r, il faut voir les sources de l'état et du formulaire et le code éventuel qui fait la recherche pour avancer je pense.

    Cordialement.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    398
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 398
    Points : 128
    Points
    128
    Par défaut
    Ci dessous le code du formulaire de recherche avec filtre multi critère

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Private Sub Form_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then 'Touche Entrée
    f = ""
    If Not IsNull(Me.Texte76) And Me.Texte76 <> "" Then
    f = "Expéditeur LIKE ""*" & Me.Texte76 & "*"""
    End If
    If Not IsNull(Me.Texte78) And Me.Texte78 <> "" Then
    If f <> "" Then
    f = f & " AND Destinataire LIKE ""*" & Me.Texte78 & "*"""
    Else
    f = "Destinataire LIKE ""*" & Me.Texte78 & "*"""
    End If
    End If
    If Not IsNull(Me.shipment) And Me.shipment <> "" Then
    If f <> "" Then
    f = f & " AND [N° shipment] LIKE ""* & Me.Shipment & " * """"
    Else
    f = "[N° shipment] LIKE ""*" & Me.shipment & "*"""
    End If
    End If
    If Not IsNull(Me.Texte80) And Me.Texte80 <> "" Then
    If f <> "" Then
    f = f & " AND [Numéro du Colis] LIKE ""*" & Me.Texte80 & "*"""
    Else
    f = "[Numéro du Colis] LIKE ""*" & Me.Texte80 & "*"""
    End If
    End If
    If Not IsNull(Me.choix_date_de_debut) And Me.choix_date_de_debut <> "" And Not IsNull(Me.choix_date_de_fin) And Me.choix_date_de_fin <> "" Then
    If f <> "" Then
    f = f & " AND [Date de réception] BETWEEN #" & Format(Me.choix_date_de_debut, "mm-dd-yyyy") & "# AND #" & Format(Me.choix_date_de_fin, "mm-dd-yyyy") & "#"
    Else
    f = "[Date de réception] BETWEEN #" & Format(Me.choix_date_de_debut, "mm-dd-yyyy") & "# AND #" & Format(Me.choix_date_de_fin, "mm-dd-yyyy") & "#"
    End If
    End If
    Me.Filter = f
    Me.FilterOn = True
    End If
    End Sub
    Mon formulaire

    Nom : Annotation 2020-04-02 201323.png
Affichages : 167
Taille : 160,8 Ko

    Ces propriétés

    Nom : Annotation 2020-04-02 2013223.png
Affichages : 160
Taille : 23,3 Ko

    Mon état

    Nom : Annotation 2020-04-02 201322443.png
Affichages : 139
Taille : 101,8 Ko

    ces propriétés

    Nom : Annotation 2020-04-02 20132255443.png
Affichages : 166
Taille : 22,1 Ko

  9. #9
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonsoir,

    Si j'ai bien compris le but de l'opération, c'est d'ouvrir l'état avec les numéros de réception 721, 776, 2368 ?

    Mais le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [N° de réception]=[Formulaires]![f_recherche_multicritere]![N° de réception]
    qui est dans le macro (peut-on avoir une copie d'écran) ou dans le code VBA va filtrer les données et n'afficher que pour le numéro de réception 721.
    C'est pourquoi je disais que tel quel, le résultat est correct.

    Maintenant, peux-tu confirmer le résultat souhaité que j'indique au début.

    Cordialement.

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    398
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 398
    Points : 128
    Points
    128
    Par défaut
    Oui le but de l'opération est d'avoir les numéros de réception 721, 776, 2368

    Ma macro
    Nom : Annotation 2020-04-02 221717.png
Affichages : 125
Taille : 7,7 Ko

    Exemple :
    Dans mon formulaire je recherche le destinataire david
    Il trouve 3 résultats pour le destinataire david
    Le filtre multi critère fonctionne et les données son corrects.
    Quand j'ouvre mon état il me donne que le premier résultat concernant david et pas les 2 autres.
    Plus d'une semaine que je suis dessus

  11. #11
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    bonjour,
    Citation Envoyé par chartreuse
    Oui le but de l'opération est d'avoir les numéros de réception 721, 776, 2368
    oui mais préciser un identifiant, comme te l'a signalé madefemere, n'est pas la solution car dans un formulaire, il prend la valeur de l'enregistrement en cours.
    La solution serait de passer le contenu des données du formulaire (propriété RecordSource) à l'état via les arguments d'ouverture (OpenArgs) à condition que les champs soient les mêmes, mais il faut utiliser VBA:
    dans le formulaire, insérer ce code sur l'évènement click du bouton d'impression :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport "e_resultat_recherche", acReport, , , , Me.RecordSource
    et dans l'état, sur l'évènement "Sur ouverture":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not IsNull(Me.OpenArgs) Then Me.RecordSource = Me.OpenArgs

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    398
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 398
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    quand je lance lance l'impression sur mon formulaire j'ai ce message d'erreur

    Nom : Annotation 2020-04-03 184826.png
Affichages : 117
Taille : 5,7 Ko

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub impression_Click()
    DoCmd.OpenReport "e_resultat_recherche", acReport, , , , Me.RecordSource
    End Sub

  13. #13
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    désolé, c'est acViewReport, pas acReport

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    398
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 398
    Points : 128
    Points
    128
    Par défaut
    Malheureusement le code me renvoie tous les données et non celle que je recherche dans mon formulaire.
    J'ai essayé ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport "e_resultat_recherche", acViewPreview, , "N° de réception=" & N° de réception
    Mais bien sûre erreur de syntaxe car il y a des espaces au 2ème N° de réception.
    J'ai essayé des [] ou "" mais toujours erreur.

  15. #15
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    bonjour,
    désolé, en effet, il faut appliquer le filtre du formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub impression_Click()
    Dim strOpenArgs As String
    strOpenArgs ="select * from (" & Replace(Me.RecordSource, ";", "") & ") where " & Me.Filter
     
    DoCmd.OpenReport "e_resultat_recherche", acViewReport, , , , strOpenArgs 
    End Sub

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    398
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 398
    Points : 128
    Points
    128
    Par défaut



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

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/01/2013, 20h39
  2. [AC-2003] Textbox d'un état qui disparait en aperçu avant impression
    Par Fred.dz dans le forum IHM
    Réponses: 0
    Dernier message: 25/05/2011, 10h45
  3. Réponses: 2
    Dernier message: 10/01/2010, 10h20
  4. Aperçu avant impression pour 2 états
    Par stounouslous dans le forum WinDev
    Réponses: 2
    Dernier message: 23/03/2009, 19h57
  5. Réponses: 1
    Dernier message: 16/09/2008, 18h59

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