pas de resultat de requete - VB/VBA/VBS - Programmation
Marsh Posté le 02-06-2004 à 16:22:36
Tu fais rp.recordcount : cette propriété (recordcount) compte le nombre d'enregistrement auxquels tu as eu accès avec ton curseur.
Si ta requête ne renvoie pas de résultat alors rp.recordcount=0 sinon il est au moins égal à 1.
Marsh Posté le 02-06-2004 à 16:42:42
ca ne marche pas il me met erreur defini par l'application ou par l'objet. Je ne pense pas que ca marche car rp est un rapport. ???
Marsh Posté le 02-06-2004 à 17:01:11
He bien dans ce cas, définis un recordset et analyse ta requête avant de l'assigner à ton état:
set rs= ??? . CreateQueryDef("", requete).OpenRecordset
if rs.recordcount=0 then
msgbox ....
else
rp.RecordSource = requete
Application.DoCmd.OpenReport etat, acViewPreview
end if
Marsh Posté le 02-06-2004 à 17:06:57
il faut faire le recordcount sur la requête source du rapport.
If CurrentDb.OpenRecordset("NomTable" ).RecordCount > 0 Then
Marsh Posté le 10-06-2004 à 09:51:50
Bonjour,
J'ai le même type de problème que ma_mat. J'ai essayé ce que vous proposez (avec le recordCount), mais je n'y arrive pas.
J'ai écrit le code suivant:
Code :
|
...sachant que pour 2005 il n'y a pas d'enregistrement
Le 1er msgbox ne s'affiche pourtant pas, et j'ai une "erreur 1004: BOF ou EOF est égal à true ou l'enregistrement actuel a été supprimé..." pour le rst("nb_jours" )
Merci pour votre aide
Marsh Posté le 10-06-2004 à 10:00:35
Le recordset est vide. BOF est égal à EOF. Il faut tester:
If Not rs.EOF And Not rs.BOF Then
Je fais ce que j'ai à faire
Else
Je sors
End If
Marsh Posté le 10-06-2004 à 10:01:56
Il semblerait en fait que le rst.RecordCount renvoit -1 quand il n'y a pas de résultat. en tout cas, chez moi, avec
Code :
|
ça marche
Marsh Posté le 10-06-2004 à 10:02:41
JihemAir a écrit : Le recordset est vide. BOF est égal à EOF. Il faut tester: |
Je retiens cette autre solution, merci
Marsh Posté le 02-06-2004 à 15:43:48
je voudrais savoir comment fait ton pour voir si une requete ne contient pas de resultat. je voudrais tester ce resultat et ainsi en fonction de cela afficher ou non un rapport.