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 bouton imprimer Report


Sujet :

IHM

  1. #1
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2013
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 76
    Points : 55
    Points
    55
    Par défaut Formulaire bouton imprimer Report
    Bonjour à tous,

    Me voilà devant un nouveau problème mais après quelques heures de recherche je bloque toujours.

    J'ai un formulaire sur lequel se trouve un bouton imprimer qui ouvre un report.

    Comment passer à ce report des informations du formulaire et les affecter au textbox de ce report ?

    Quelqu'un aurait un bon exemple ?

    D'avance merci
    salutations

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,
    3 solutions :

    1) Par une table et des dlookup() sur cette table dans les textbox.

    2) Utiliser des variables globales et affecter la valeur de chacune via l'événement On Format (sur formatage) de l'état.

    3) faire passe les valeurs par la clause OpenArgs de la commande docmd.openform, et comme pour la solution précédente tu affectes la valeur via l'événement.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2013
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    Merci loufab pour ta réponse.

    J'ai en partie résolu mon problème en créant des contrôles indépendants sur mon état et en leur affectant les données comme cela :

    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
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
    	Dim i As Integer
    	Dim txtNew As Access.TextBox 'textbox control
    	Dim lngTop As Long 'top valeur de la position du contrôle
    	Dim lngLeft As Long 'left valeur de la position du contrôle
    
    	If CurrentProject.AllForms("frmNavigation").IsLoaded Then
    		textBoxNom01.Value = Forms!frmNavigation!SousFormulaireNavigation.Form!textBoxNom01
    		textBoxNom02.Value = Forms!frmNavigation!SousFormulaireNavigation.Form!textBoxNom02
    		textBoxNom03.Value = Forms!frmNavigation!SousFormulaireNavigation.Form!textBoxNom03
    		textBoxNom04.Value = Forms!frmNavigation!SousFormulaireNavigation.Form!textBoxNom04
    		textBoxNom05.Value = Forms!frmNavigation!SousFormulaireNavigation.Form!textBoxNom05
    		
    		For i = 0 To Forms!frmNavigation!SousFormulaireNavigation.Form!lstNom.ListCount - 1
    			'créer un nouveau contrôle textbox et size to fit données
    			Set txtNew = CreateReportControl(EtatNom, acTextBox, acDetail, , Forms!frmNavigation!SousFormulaireNavigation.Form!lstNom.Column(1, Forms!frmNavigation!SousFormulaireNavigation.Form!lstNom.ListIndex + 1), lngLeft + 1500, lngTop)
    			txtNew.SizeToFit
    		Next i
    	End If
    End Sub
    Par contre j'ai une erreur Variable nom définie sur EtatNom ?
    Merci pour votre aide

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,
    Je pose la même question qu'ACCESS, Qui est EtatNom ? Je ne le trouve pas dans le code (ni dans l'état).

    Personnellement je n'utiliserai pas la méthode CreateXXXX. Pourquoi ?
    1) tu ne pourras pas protéger ton application en créant une version compilée (accde)
    2) elle ne sera jamais opérationnelle avec un runtime.

    Crées plutôt des textbox cachés (visible = false) qui tu rends visible aux besoins et toujours dans le onformat.

    Une question subsidiaire :
    C'est normal cette répétition de la même instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    		textBoxNom.Value = Forms!frmNavigation!SousFormulaireNavigation.Form!textBoxNom
    		textBoxNom.Value = Forms!frmNavigation!SousFormulaireNavigation.Form!textBoxNom
    		textBoxNom.Value = Forms!frmNavigation!SousFormulaireNavigation.Form!textBoxNom
    		textBoxNom.Value = Forms!frmNavigation!SousFormulaireNavigation.Form!textBoxNom
    		textBoxNom.Value = Forms!frmNavigation!SousFormulaireNavigation.Form!textBoxNom
    Je pense que c'est inutile que tu insistes aussi lourdement. Même s'il a dépasser les 20 ans il est toujours alerte.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2013
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    merci pour ta réponse.

    J'ai corrigé mon code ci-dessus effectivement j'insistais un peu trop :-)

    Voilà une solution mais qui ne me convient pas à 100% :

    dans mon form j'ai :

    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
    Private Sub cmdImprimer_Click()
        'Dim varSelect As Variant
        Dim i, j As Integer
        Dim strDataString As String
     
        For i = 0 To lstProjets.ListCount - 1
            For j = 0 To lstProjets.ColumnCount - 1
            'Access each item with
            If lstProjets.Column(i, j) <> "" Then
                strDataString = strDataString & lstProjets.Column(j, i) & Chr(32)
            End If
            Next j
            strDataString = strDataString & vbNewLine
        Next i
     
     
        DoCmd.OpenReport "etaPilotageSapProjetEtat", acPreview, , , , strDataString
    End Sub
    et dans mon état j'ai un champ text qui récupère cela :


    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
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
        Dim i As Integer
     
        If CurrentProject.AllForms("frmNavigation").IsLoaded Then
            txtLocalisation.Value = Forms!frmNavigation!SousFormulaireNavigation.Form!txtLocalisation
            txtGroupe.Value = Forms!frmNavigation!SousFormulaireNavigation.Form!txtGroupe
            txtProjet.Value = Forms!frmNavigation!SousFormulaireNavigation.Form!cboPilProjet
            txtNumSap.Value = Forms!frmNavigation!SousFormulaireNavigation.Form!cboNumSap
            txtFacturePilotage.Value = Forms!frmNavigation!SousFormulaireNavigation.Form!txtFacturesPilotage
            txtBudgetV0.Value = Forms!frmNavigation!SousFormulaireNavigation.Form!txtBudget
            txtBudgetV1.Value = Forms!frmNavigation!SousFormulaireNavigation.Form!txtBudgetV1
            txtDevisGeneral.Value = Forms!frmNavigation!SousFormulaireNavigation.Form!txtDevisGeneral
            txtForecast.Value = Forms!frmNavigation!SousFormulaireNavigation.Form!txtForecast
     
            txtLstProjet.Value = Me.OpenArgs
     
    End Sub
    Seulement c'est un champ text qui n'est pas tellement formatable donc la lisibilité se ressent .
    Quelqu'un aurait une autre façon de faire ?
    D'avance merci

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    c'est-à-dire "formatable" ?
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  7. #7
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2013
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    lui donner une mise en forme plus correcte avec des colonnes - lignes - entêtes

  8. #8
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Comme une zone de liste non ?!

    Pourquoi tu n'utilises pas simplement ce type de contrôle ?
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  9. #9
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2013
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    j'aimerai bien mais je n'arrive pas à l'implémenter.

    Sur mon formulaire, c'est ok mais sur l'état ça bloque.

    j'ai mis une listbox que je lie à une requête paramétrée mais lorsque je clic sur le bouton imprimer je dois saisir le paramètre.

  10. #10
    Membre éclairé Avatar de pyloupylou
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2012
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2012
    Messages : 438
    Points : 666
    Points
    666
    Par défaut
    bonjour,

    une suggestion

    bon je pars sur des suppositions, j'imagine que dans ton écran tu connais la valeur de ton paramètre
    si c'est le cas, tu peux essayer de retirer ton paramètre de la requête( que tu appelerais marequete par exemple) et de reconstituer ta requête lors de l'execution de ton état de la même manière ou tu charges tes variables

    cela donnerait un truc du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maliste.rowsource="select champ1, champ2 from marequete where moncritere='" & valeurdecritere &"'"
    ça devrait marcher
    ----
    Il ne s'agit pas de chercher à tout savoir mais de savoir où tout chercher

    merci de penser à
    Au fait.... je ne réponds pas, moi non plus, aux mp

  11. #11
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2013
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    Hello merci pour ta réponse.

    J'ai essayé de recréer ma requête vu que oui je peux avoir ma valeur depuis le formulaire mais j'obtiens une erreur 2191

    Nom : error2191.jpg
Affichages : 131
Taille : 19,6 Ko

    ????
    Merci pour votre réponse

  12. #12
    Membre éclairé Avatar de pyloupylou
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2012
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2012
    Messages : 438
    Points : 666
    Points
    666
    Par défaut
    un truc pour debugger... mets ton paramètre en dur dans ta requête pour trouver la bonne syntaxe et ensuite remplace ta valeur par ton expression issue de ton écran
    ----
    Il ne s'agit pas de chercher à tout savoir mais de savoir où tout chercher

    merci de penser à
    Au fait.... je ne réponds pas, moi non plus, aux mp

  13. #13
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2013
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    ok merci pyloupylou et loufab

    j'ai fini par résoudre mon problème. Je mets une marche à suivre pour ceux qui en auraient besoin

    J'ai fait 2 reports : un totalement indépendant et un autre dépendant de ma requête avec paramètres.
    Dans le premier j'insère le 2ème report avec ma requête paramétrées.

    A l'événement ouverture du report père je lui passe ma requête avec mon paramètre récupéré depuis mon formulaire

    du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CurrentDb.QueryDefs("marequeteparamétrée").sql = "SELECT * from tblxxxx 
            "WHERE monchamp = " & mavariableglobal
    et magie ça marche

    voilà
    @++
    cretgil

  14. #14
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,
    Tu peux éviter ce montage en utilisant ton code avant le lancement de l'état.

    Une fois que la querydef a reçu sa chaine SQL tu la fermes. Et dans ton état tu fais référence à elle dans ta source.

    Ainsi tu n'as plus qu'un état.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  15. #15
    Membre éclairé Avatar de pyloupylou
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2012
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2012
    Messages : 438
    Points : 666
    Points
    666
    Par défaut
    Mister Loufab

    heu, j'ai pas compris... peux tu détailler un peu plus ?

    Merci !
    ----
    Il ne s'agit pas de chercher à tout savoir mais de savoir où tout chercher

    merci de penser à
    Au fait.... je ne réponds pas, moi non plus, aux mp

  16. #16
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,

    Admettons un formulaire contenant un contrôle contenant la valeur servant de condition pour l'état et un bouton pour ouvrir l'état.

    Dans le bouton je mets ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CurrentDb.QueryDefs("marequeteparamétrée").sql = "SELECT * from tblxxxx WHERE monchamp = " & me.Moncontrole & ";"
    currentdb.querydefs.refresh
    docmd.openreport "monétat"
    Dans la source de l'état je mets simplement :

    marequeteparamétrée

    C'est suffisant, inutile de mettre un état dans un état qui fixe la source.

    cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

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

Discussions similaires

  1. [IP-2010] Bouton Imprimer dans un formulaire
    Par MrMeteo dans le forum InfoPath
    Réponses: 4
    Dernier message: 02/10/2014, 14h33
  2. Bouton Imprimer sur formulaire SharePoint 2013
    Par Emily7 dans le forum Développement Sharepoint
    Réponses: 0
    Dernier message: 21/08/2014, 10h15
  3. Réponses: 0
    Dernier message: 17/05/2012, 07h30
  4. Bouton imprimer dans un formulaire
    Par lolocdm dans le forum IHM
    Réponses: 3
    Dernier message: 15/09/2008, 21h05
  5. Réponses: 16
    Dernier message: 10/11/2006, 14h09

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