Bonjour,
En lisant la faq je suis tombé sur ça :
imprimer les données d'un formulaire dans un état
Le problème c'est que je dispose d'onglets dans le formulaire.
Pour mieux comprendre voici les détails.
Dans ma base j'ai deux tables : Modification et Creation qui ne sont pas liées du tout et qui ne peuvent pas être liées.
Par la suite j'ai crée deux formulaires (Creation et Modification) avec deux états (Création et Modification).
Ces deux formulaires disposent d'un bouton imprimer qui ouvre l'état correspondant avec l'enregistrement en cours du formulaire.
Pour que cela soit plus pratique j'ai crée un formulaire (Form1) qui disposent de deux onglets qui correspondent aux deux formulaires cités ci dessus.
En me basant exactement sur le code décrit dans la faq, quand je clique sur un des boutons imprimer l'état correspondant s'ouvre mais les champs sont vides.
En cherchant un peu je décide de spécifier une source pour Form1, je choisis la req Création et je test à nouveau. ça marche nickel pour l'impression des créations par contre pour l'impression des modifications cela m'ouvre l'état Modification avec les données création.
Je pense que cela provient de la source Form1 qui ne contient pas les champs de la table Modification.
Voici le code :
Pour la partie Creation :
Variable publique :
Public Nom_Formulaire As String
Bouton imprimer du formulaire Creation
1 2 3 4 5 6 7
| Private Sub Commande65_Click()
Dim Nom_Etat As String
Nom_Etat = "Etat_Creation"
Nom_Formulaire = "Frm_Creation"
DoCmd.OpenReport Nom_Etat, acPreview, "", "Id_Creation=" & Me.Id_Creation
End Sub |
Evenement open de l'état Modification :
1 2 3
| Private Sub Report_Open(Cancel As Integer)
Me.RecordSource = Forms.Item(Nom_Formulaire).RecordSource
End Sub |
Pour la partie Modification :
Variable publique :
Public Nom_Formulaire1 As String
Bouton imprimer du formulaire Modification:
1 2 3 4 5 6 7
| Private Sub Commande71_Click()
Dim Nom_Etat1 As String
Nom_Etat1 = "Etat_Modification"
Nom_Formulaire1 = "Frm_Modification"
DoCmd.OpenReport Nom_Etat1, acPreview, "", "Id_Modification=" & Me.Id_Modification
End Sub |
Evenement open de l'état Modification :
1 2 3
| Private Sub Report_Open(Cancel As Integer)
Me.RecordSource = Forms.Item(Nom_Formulaire1).RecordSource
End Sub |
En clair la question : comment puis je imprimer l'enregistrement en cours dans un état à partir d'un formulaire contenant des onglets?
J'espère être assez clair.
Merci pour vos réponses.
Partager