Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comment consulter si l'état est vide

1 réponse
Avatar
Michel Langlais
Bonjour, Je veux pouvoir ouvrir un état avec des criteres définie en vba
Si le résultat de la requete est vide je ne veux pas imprimer l'état et
passé au client suivant.
Comment peut-on consulter en vba si l'état et vide, j'ai essayé les lignes
suivantes mais une erreur dans mon If me dit qu'il manque un objet requis.

Set rst = CurrentDb.OpenRecordset("Clients")
stDocName = "FactureDetails"
criteredate = "[DateBordereau] Like '*-" & Me.ListeModifListeMois.Value &
"-*'"
rst.MoveFirst
While Not rst.EOF

filtre = "facture.noclient = " & rst![NoClient] & " AND " & criteredate

DoCmd.OpenReport stDocName, acPreview, , filtre
If (Report.facturedetails.Report_NoData = False) Then
'facturedetails est le nom de mon état
DoCmd.PrintOut acPrintAll
End If
DoCmd.Close acReport, "FactureDetails", acSaveNo
rst.MoveNext
Wend

Merci

1 réponse

Avatar
Raymond [mvp]
Bonsoir.

pour tester si un état est vide, utiliser la propriété HasData.
La propriété HasData permet de déterminer si un état est dépendant d'un jeu
d'enregistrements vide ou si des données sont présentes dans le recordSource
exemple sur : http://officesystem.access.free.fr/vba/avec_donnees.htm
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Pour les amoureux de l'Ardèche et de Joyeuse:
http://cppj.free.fr/


"Michel Langlais" a écrit dans le
message de news:
| Bonjour, Je veux pouvoir ouvrir un état avec des criteres définie en vba
| Si le résultat de la requete est vide je ne veux pas imprimer l'état et
| passé au client suivant.
| Comment peut-on consulter en vba si l'état et vide, j'ai essayé les lignes
| suivantes mais une erreur dans mon If me dit qu'il manque un objet requis.
|
| Set rst = CurrentDb.OpenRecordset("Clients")
| stDocName = "FactureDetails"
| criteredate = "[DateBordereau] Like '*-" & Me.ListeModifListeMois.Value &
| "-*'"
| rst.MoveFirst
| While Not rst.EOF
|
| filtre = "facture.noclient = " & rst![NoClient] & " AND " & criteredate
|
| DoCmd.OpenReport stDocName, acPreview, , filtre
| If (Report.facturedetails.Report_NoData = False) Then
| 'facturedetails est le nom de mon état
| DoCmd.PrintOut acPrintAll
| End If
| DoCmd.Close acReport, "FactureDetails", acSaveNo
| rst.MoveNext
| Wend
|
| Merci