Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1101 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  pas de resultat de requete

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pas de resultat de requete

n°749015
ma_mat
Posté le 02-06-2004 à 15:43:48  profilanswer
 

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.
 
 

Code :
  1. Set rp = Application.Reports(etat)
  2.             rp.RecordSource = requete
  3. If rp."je ne sais pas quoi mettre ici" <> "" Then '<----probleme
  4.                                                   pour tester ici!!! 
  5.                 Application.DoCmd.OpenReport etat, acViewPreview
  6.             Else
  7.                 Reports(etat).Visible = False
  8.                 MsgBox "il n'y a pas de rapport correspondant a votre requete !"
  9.             End If

mood
Publicité
Posté le 02-06-2004 à 15:43:48  profilanswer
 

n°749055
cakeman
Posté le 02-06-2004 à 16:22:36  profilanswer
 

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.

n°749095
ma_mat
Posté le 02-06-2004 à 16:42:42  profilanswer
 

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. ???

n°749131
cakeman
Posté le 02-06-2004 à 17:01:11  profilanswer
 

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


Message édité par cakeman le 02-06-2004 à 17:01:27
n°749143
pumpkin031​2
Posté le 02-06-2004 à 17:06:57  profilanswer
 

il faut faire le recordcount sur la requête source du rapport.
If CurrentDb.OpenRecordset("NomTable" ).RecordCount > 0 Then

n°758806
Myway
Posté le 10-06-2004 à 09:51:50  profilanswer
 

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 :
  1. for year=2004 to 2005
  2.    rst.Open "SELECT nb_jours WHERE year = " & year, cnx
  3.    if rst.recordcount = 0 then
  4.       msgbox("pas de résultat" )
  5.    else
  6.       msgbox("res : " & rst("nb_jours" ) )
  7.    end if
  8. next year


...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  :hello:


Message édité par Myway le 10-06-2004 à 09:53:54
n°758828
JihemAir
Je sais pas
Posté le 10-06-2004 à 10:00:35  profilanswer
 

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

n°758830
Myway
Posté le 10-06-2004 à 10:01:56  profilanswer
 

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 :
  1. if rst.RecordCount <=0 then msgbox("pas de res" )


ça marche  :)

n°758835
Myway
Posté le 10-06-2004 à 10:02:41  profilanswer
 

JihemAir a écrit :

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


Je retiens cette autre solution, merci  :jap:  
 
 :hello:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  pas de resultat de requete

 

Sujets relatifs
[Access] Une requete qui fournit trop de resultat[MYSQL] prob bizarre ma requete ne me renvoi que le premier résultat
mise en forme résultat d'une requete SQLRequte SQL sur un resultat de requete
Faire un lien sur le résultat d'une requêteenregistrer la résultat d'une requête dans une textbox
[mySQL] transféré les résultat d'une requete dans une tablerequête qui donne le résultat de deux select ?
Faire apparaitre le résultat d'une requête dans une TextBoxCréer une table avec le résultat d'une requête sous VB Access
Plus de sujets relatifs à : pas de resultat de requete


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR