Plus simplement, dans l'évènement "Sur impression" de la section où sont insérés tes sous-états, tu testes le recordset de ton sous-Etat02 et tu traites l'affichage de ton sous-état01 en conséquence:
If Me.[Sous-Etat02].Report.RecordsetClone.RecordCount=0 Then Me.[Sous-Etat01].Visibleúlse Else Me.[Sous-Etat01].Visible=True End If
A tester, je ne suis pas certain que l'on puisse tester le recordset d'un état...
Message du samedi 06/10/2007
Bonjour à tous,
J'ai un Etat (EtatPrincipal) avec deux Sous-Etats (Sous-Etat01 & Sous- Etat02) qui se superposent.
Mon Sous-Etat01 sera toujours alimenté de données.
Mon Sous-Etat02 sera des fois alimenté et des fois non en fonction d'une requête implémentée.
Comment faire pour :
Si mon Sous-Etat02 est alimenté de données, tu mets mon Sous- Etat01.Visible = False
Puisque qu'il y a le code événement NoDate, j'ai pensé de faire le contraire comme cela :
Je mets mon Sous-Etat01.Visible = False à défaut et sous l'événement "Sur aucune donnée" de mon Sous-Etat02
Private Sub Report_NoData(Cancel As Integer) Report! EtatPrincipal!Entête01! Sous-Etat01.Visible = True End Sub
Mais ça ne marche pas !
Où est l'erreur ?
Merci pour votre aide. Xavier
-- Cordialement, Thierry
Tout pour réussir avec Access : http://www.mpfa.info
Bonjour Xavier !
Plus simplement, dans l'évènement "Sur impression" de la section où
sont insérés tes sous-états, tu testes le recordset de ton sous-Etat02
et tu traites l'affichage de ton sous-état01 en conséquence:
If Me.[Sous-Etat02].Report.RecordsetClone.RecordCount=0 Then
Me.[Sous-Etat01].Visibleúlse
Else
Me.[Sous-Etat01].Visible=True
End If
A tester, je ne suis pas certain que l'on puisse tester le recordset
d'un état...
Message du samedi 06/10/2007
Bonjour à tous,
J'ai un Etat (EtatPrincipal) avec deux Sous-Etats (Sous-Etat01 & Sous-
Etat02) qui se superposent.
Mon Sous-Etat01 sera toujours alimenté de données.
Mon Sous-Etat02 sera des fois alimenté et des fois non en fonction
d'une requête implémentée.
Comment faire pour :
Si mon Sous-Etat02 est alimenté de données, tu mets mon Sous-
Etat01.Visible = False
Puisque qu'il y a le code événement NoDate, j'ai pensé de faire le
contraire comme cela :
Je mets mon Sous-Etat01.Visible = False à défaut
et sous l'événement "Sur aucune donnée" de mon Sous-Etat02
Private Sub Report_NoData(Cancel As Integer)
Report! EtatPrincipal!Entête01! Sous-Etat01.Visible = True
End Sub
Mais ça ne marche pas !
Où est l'erreur ?
Merci pour votre aide.
Xavier
--
Cordialement,
Thierry
Tout pour réussir avec Access :
http://www.mpfa.info
Plus simplement, dans l'évènement "Sur impression" de la section où sont insérés tes sous-états, tu testes le recordset de ton sous-Etat02 et tu traites l'affichage de ton sous-état01 en conséquence:
If Me.[Sous-Etat02].Report.RecordsetClone.RecordCount=0 Then Me.[Sous-Etat01].Visibleúlse Else Me.[Sous-Etat01].Visible=True End If
A tester, je ne suis pas certain que l'on puisse tester le recordset d'un état...
Message du samedi 06/10/2007
Bonjour à tous,
J'ai un Etat (EtatPrincipal) avec deux Sous-Etats (Sous-Etat01 & Sous- Etat02) qui se superposent.
Mon Sous-Etat01 sera toujours alimenté de données.
Mon Sous-Etat02 sera des fois alimenté et des fois non en fonction d'une requête implémentée.
Comment faire pour :
Si mon Sous-Etat02 est alimenté de données, tu mets mon Sous- Etat01.Visible = False
Puisque qu'il y a le code événement NoDate, j'ai pensé de faire le contraire comme cela :
Je mets mon Sous-Etat01.Visible = False à défaut et sous l'événement "Sur aucune donnée" de mon Sous-Etat02
Private Sub Report_NoData(Cancel As Integer) Report! EtatPrincipal!Entête01! Sous-Etat01.Visible = True End Sub
Mais ça ne marche pas !
Où est l'erreur ?
Merci pour votre aide. Xavier
-- Cordialement, Thierry
Tout pour réussir avec Access : http://www.mpfa.info
domivax
Bonsoir Thierry,
Malheureusement ça ne marche pas.
Alors j'ai contourné le problème comme ceci :
J'ai crée une requete (MaRequete) qui alimente également mon Sous- Etat02 et j'ai placé un TextBox (MonTextBox) dans mon état avec la valeur :
=CpteDom("MonChamp";"MaRequete")
et Sur impression
If Me.[MonTextBox] = 0 Then Me.[Sous-Etat01].Visibleúlse ElseIf Me.[MonTextBox] = 1 Then Me.[Sous-Etat01].Visible=True End If
Merci pour ton aide. Bonne soirée Xavier
Bonsoir Thierry,
Malheureusement ça ne marche pas.
Alors j'ai contourné le problème comme ceci :
J'ai crée une requete (MaRequete) qui alimente également mon Sous-
Etat02 et j'ai placé un TextBox (MonTextBox) dans mon état avec la
valeur :
=CpteDom("MonChamp";"MaRequete")
et Sur impression
If Me.[MonTextBox] = 0 Then
Me.[Sous-Etat01].Visible=False
ElseIf Me.[MonTextBox] = 1 Then
Me.[Sous-Etat01].Visible=True
End If