Verifier si un recordset est null [Résolu]

Messages postés
18
Date d'inscription
lundi 2 juin 2003
Dernière intervention
8 mars 2007
- 16 févr. 2007 à 12:50 - Dernière réponse :
Messages postés
18
Date d'inscription
lundi 2 juin 2003
Dernière intervention
8 mars 2007
- 16 févr. 2007 à 16:33
bonjour,
j'utilise adodb.recordset pour lire dans une base mysql, je souhaite verifier si la requete a retourné une valeur, en d'autre terme si le recordset est vide ou non. j'ai essayé if recordset is nothing mais sans resultat...
si quelqu'un pouvait m'aider ce serait sympa...
Afficher la suite 

Votre réponse

16 réponses

Meilleure réponse
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Dernière intervention
7 novembre 2014
- 16 févr. 2007 à 14:37
3
Merci
Vérifier sur RecordCount si on n'a pas besoin du count est une opération couteuse inutile.

If rst.eof Then EstVide
EOF est positionné dès l'ouverture.

ciao...
BruNews, MVP VC++

Merci BruNews 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de BruNews
Meilleure réponse
Messages postés
18
Date d'inscription
lundi 2 juin 2003
Dernière intervention
8 mars 2007
- 16 févr. 2007 à 15:37
3
Merci
miracle!!! j'ai essayer avec rst.BOF est ca marche! donc
if rst.bof then
    c'est vide
else
    fait ce que ta a faire
end if

quelqu'un peu m'expliquer le pourquoi du comment

Merci wouldsmina 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de wouldsmina
Messages postés
1
Date d'inscription
mardi 28 décembre 2004
Dernière intervention
16 février 2007
- 16 févr. 2007 à 13:11
0
Merci
Salut,

Essaie :
if (rst("nom_champ")) <> "" then

Ca marche si tu ne gére pas les retour d'erreur, en effet un recordset null est considéré comme une erreur.
Commenter la réponse de jester666
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
- 16 févr. 2007 à 13:23
0
Merci
regarde si tu n'as pas une propriété Recorset.Count qui te renverrais le nombre d'enregistrements contenus dans le recordset

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Commenter la réponse de cs_casy
Messages postés
71
Date d'inscription
jeudi 16 juin 2005
Dernière intervention
16 février 2007
- 16 févr. 2007 à 13:24
0
Merci
Salut!
Do so:
       if IsNull(rst("nom_champ").Value)  Then

OU mieux
if IsNull(rst.Fields(Numero de ton Champs).Value)  Then
Commenter la réponse de yuri1961
Messages postés
71
Date d'inscription
jeudi 16 juin 2005
Dernière intervention
16 février 2007
- 16 févr. 2007 à 13:32
0
Merci
et verifier si la requete a retourné une valeur on peut ainsi
      If rst.RecordCount > 0 then
Commenter la réponse de yuri1961
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Dernière intervention
23 février 2011
- 16 févr. 2007 à 13:35
0
Merci
Presque ça Casy, la propriété exacte, c'est Recordset.Recordcount
Et donc, si rst.recordcount =0, c'est que le recordset est vide.
A faire avant toute opération pour être sûr que le reste de ton code ne plantera pas.

Molenn
Commenter la réponse de Molenn
Messages postés
18
Date d'inscription
lundi 2 juin 2003
Dernière intervention
8 mars 2007
- 16 févr. 2007 à 14:31
0
Merci
merci de toutes ses reponses. Je teste tout de suite
Commenter la réponse de wouldsmina
Messages postés
18
Date d'inscription
lundi 2 juin 2003
Dernière intervention
8 mars 2007
- 16 févr. 2007 à 14:36
0
Merci
j'ai testé rs.recordcount, et il me renvoie systematiquement -1 qu'il y est une valeur ou non!!!
Commenter la réponse de wouldsmina
Messages postés
18
Date d'inscription
lundi 2 juin 2003
Dernière intervention
8 mars 2007
- 16 févr. 2007 à 15:31
0
Merci
la encore ca ne marche pas rst.eof est a true qu'il y est une valeur ou non! mais ce qui m'etonne le plus c'est que recordcount renvoie systematiquement -1 alors que mes requete fonctionne, avec pres de 100 resultats. je suis debutant, mais la c'est quand meme pas tres compliquer pourtant!!! d'autre idée??
Commenter la réponse de wouldsmina
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Dernière intervention
7 novembre 2014
- 16 févr. 2007 à 15:34
0
Merci
Tu n'aurais pas une gestion d'erreurs 'douteuse' du genre 'resume next' ou truc de ce genre ???

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
Messages postés
18
Date d'inscription
lundi 2 juin 2003
Dernière intervention
8 mars 2007
- 16 févr. 2007 à 15:40
0
Merci
c'est quoi que tu appel une gestion douteuse des erreurs, j'ai pas mis de resume next dans mon code. mais vue mon niveau, c'est pas impossible que j'ai fait n'importe quoi...
Commenter la réponse de wouldsmina
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Dernière intervention
7 novembre 2014
- 16 févr. 2007 à 15:41
0
Merci
Bizzare seulement le BOF alors que normalement les 2 sont positionnés (BOF et EOF) dès l'ouverture du recordset.

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
Messages postés
18
Date d'inscription
lundi 2 juin 2003
Dernière intervention
8 mars 2007
- 16 févr. 2007 à 15:42
0
Merci
bon en tout cas merci a tous pour votre aide, surtout brunews sans quoi je serais encore dans la m.....
Commenter la réponse de wouldsmina
Messages postés
1855
Date d'inscription
jeudi 23 mai 2002
Dernière intervention
24 juin 2018
- 16 févr. 2007 à 16:08
0
Merci
 Bonjour,

Naivement, on peut tester comme:

RsBaseRef.Open "SELECT * FROM " & ........



i=0
Do while not RsBaseRef.EOF
i=1
'ici code
Loop

If i = 0 Then .....



jean-marc
Commenter la réponse de cs_JMO
Messages postés
18
Date d'inscription
lundi 2 juin 2003
Dernière intervention
8 mars 2007
- 16 févr. 2007 à 16:33
0
Merci
non ce n'est pas exactement ce que je veux JMO, car j'avais besoin de tester si le recordset était vide avant de lancer la boucle do while. merci quand meme...
Commenter la réponse de wouldsmina

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.