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

Access Discussion :

impression zone de liste


Sujet :

Access

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut impression zone de liste
    Bonjour,

    Voila j'ai crée une zone de liste dans laquelle j'affiche le résultat de ma requête.

    Je voudrai imprimer le contenu de cette zone liste. Comment faire?

    Merci.

    Vince

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 419
    Points : 508
    Points
    508
    Par défaut
    salut

    tu peux utiliser la même requete dans un état qui sera lancé par un bouton a cote de ta zone de liste.

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    je comprend ce que tu veu dire, mais niveau code, je sui un peu perdu.
    Tu n'aurai pas un exemple par hasard.
    Merci.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 32
    Points
    32
    Par défaut
    tu vas dans état et tu crée ton état à partir de ta requête

    la ou tu as ta zône de liste tu crée un bouton

    en mode création tu clic droit et dans proriété tu clic sur les trois petits points ... de "Sur clic" (en bout de ligne) dans l'onglet Evénement

    tu choisis de faireun macro

    tu as une liste de possibilité de macro automatique

    là tu choisis ouvrir état
    tu choisi ton état et tu choisis si tu le veux en mode aperçu ou impression direct

    et puis ça devrait être bon

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 419
    Points : 508
    Points
    508
    Par défaut
    une variante :
    tu passes la requete de ta zone de liste en openArgs qui deviendra la source de ton état :
    code pour le bouton qui ouvre l'état:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Commande10_Click()
    Dim sql As String
    sql = Me.MaZoneDeListe.RowSource
    Debug.Print sql
    DoCmd.OpenReport "MonEtat", acViewPreview, , , , sql
    End Sub
    sur l'évènement ouverture de l'état :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Report_Open(Cancel As Integer)
    Me.RecordSource = OpenArgs
    End Sub

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    Bonjour,

    C'est bien le code que je cherchais, mais je rencontre une erreur.
    Au niveau du "OpenArgs", il m'indique l'erreur variable non définie".

    Comment dois-je déclarer "openargs"?

    D'avance merci.

    Vince

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 419
    Points : 508
    Points
    508
    Par défaut
    tu dois avoir une erreur dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport "MonEtat", acViewPreview, , , , sql

  8. #8
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    en effet j'avais une rreur là que j'avais déjà corrigé.

    Le problème vient de "OpenArgs" à l'ouverture de l'état avec l'erreur " l'erreur variable non définie"

    Voyez vous d'où ça pe venir?

    Encore merci.

    Vince

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 419
    Points : 508
    Points
    508
    Par défaut
    tu peux nous donner le code qui lance l'état et celui à l'ouverture de l'état ?

  10. #10
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    oui pas de problème :

    voici le code au click sur le bouton dans le formulaire :

    Private Sub cmdimp_Click()
    Dim sql As String
    sql = Me.Liste5.RowSource
    'MsgBox sql
    DoCmd.OpenReport "reqecheance", acViewPreview, , sql
    End Sub
    et voici le code à l'ouverture de l'état :

    Private Sub Report_Open(Cancel As Integer)

    Me.RecordSource = OpenArgs

    End Sub

    Merci de votre aide

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 419
    Points : 508
    Points
    508
    Par défaut
    il manque des virgules
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport "reqecheance", acViewPreview, , , , sql

  12. #12
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    Non je pense pas qu'il me manque de virgule puisque quand je commence la saisie, il me montre les paramtres attendue et après le "acViewPreview", il attend juste un "filtre" et la clause "where".
    sachant que dans la clause "where" j'ai mis la requête de ma zone de liste , et la requete est :

    req = "SELECT * FROM Identifiant WHERE DATFIN <= #" & Texte1.Text & "# order by profil;"
    'Affichage dans la listye du résultat de la requête
    Liste5.RowSource = req
    Ou alors il manquerait une référence dans le projet? mais laquelle??

    j'ai oublié de précise pe etre, mais je travaille sous access 97

    Merci.

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 419
    Points : 508
    Points
    508
    Par défaut
    OpenArgs est le 6ème argument de openReport donc faut bien 4 virgules.
    Essaye et tu verras

  14. #14
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    je te crois, mais moi ça marche pas, si je met 4 virgule, il me met un message d'erreur comme quoi le nombre d'argument est incorrect. Dans mon code, lorsque j'utilise "docmd.openreport", il me demande que 4 arguments.

    Il existe une référence particulière pour le "Openargs"??

    Merci

  15. #15
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    dans la clause "where" j'ai mis la requête
    oui mais dans la clause where il attend une clause where, pas une requête complète
    la source des données est paramétré dans l'état, tu ne peux que passer les filtres en paramètre

  16. #16
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    ah ok.
    autrement, je vien de voir sur un autre forum comme quoi la fonction OpenArgs ne fonctionne avec les états qu'à partir de access 2002.

    C'est vrai?

  17. #17
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,

    j'ai une autre solution tu modifie par SQL une requête.
    Tu créer un état basé sur une requête et tu modifie cette requête par un bouton en fonction de ta zone de liste puis tu ouvre ton état.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Set req = CurrentDb.QueryDefs("MaRequete")
        req.sql = Me.MaZoneDeListe.RowSource
    chsql => Correspond à ton SQL de ta zone de liste.

  18. #18
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    je vois a peu près ce que tu veu dire.

    voici mon code :

    Dim qdf As New QueryDef

    Set qdf = CurrentDb.QueryDefs("MaRequete")
    qdf.sql = Me.Liste5.RowSource
    lorsque j'exécute il me dit 'Item not found in this collection".

    est-ce que je peu créer un état avec une simple sélection de la table et dans le code à l'ouveture de l'état, je lui indique

    "monetat.RowSource = MonFomr.MaZoneListe.RowSource"

    Encore merci.

  19. #19
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    re,

    il faut bien créer ta requête avant que tu appel "MaRequete" et ensuite tu exécute le code, si la req n'éxiste pas c'est normale qu'il te mette une erreur. Pour la création de ta requête tu mets n'importe quelle table dedans elle sera modifié lors de ta prochaine éxécution du code.

  20. #20
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    Merci beaucoup, c'est parfait.

    Il me reste plus qu'à faire le code pour modifier tous les enregistrements de la zone de liste par une valeur rentré par l'utilisateur.

    Encor merci.

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

Discussions similaires

  1. [AC-2007] Etat d'impression avec plusieurs zones de listes
    Par metalleuse dans le forum IHM
    Réponses: 8
    Dernier message: 17/02/2015, 21h33
  2. [XL-2002] Impression en PDF suite à sélection multiple dans zone de liste
    Par lumpys dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 20/10/2011, 21h15
  3. Réponses: 6
    Dernier message: 05/01/2009, 16h33
  4. Réponses: 9
    Dernier message: 01/09/2008, 15h09
  5. [VB6] Zone de liste modifiable basée sur un champ
    Par pepper dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 27/11/2002, 13h41

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