|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre actif
![]() Inscription : septembre 2003 Messages : 374 ![]() |
Bonjour,
Dans la FAQ à la question "comment parcourir un recordset", il est donné comme solution : Code :
En effet, si le record set est nul, on recupere un erreur "3021 aucun enregistrement en cours" exemple avec mon code : Code :
Alors je me suis dit, avant de commencer, il suffit de connaitre le nombre d'enregistrement... et de memoire il faut je crois faire un movelast pour avoir une bonne valeur dans recordcount, d'ailleur je viens de le lire dans la FAQ... Bien entendu MoveLast souffre du même probleme que moveFirst : access retourne une erreur si le recordset n'a aucun enregistrement... Mais comment faire pour savoir s'il y a un enregistrement quand la methode pour avoir le nombre d'enregistrement plante si egal à zero ?!!! ca se mort la queue... existe t'il une methode ellegante (pas a base de "on error", ni de "Dcount", une methode a base de recordset). si oui, il serait peut être bien d'en faire une entrée dans la FAQ non ? Merci d'avance. Note (au cas où) Access2000 et 2002. |
||||
|
|
00
|
|
|
#2 | ||
|
Membre actif
![]() Inscription : juin 2007 Messages : 155 ![]() |
Bonjour,
En ce qui me concerne, j'utilise : Code :
|
||
|
|
00
|
|
|
#3 | |||
|
Membre actif
![]() Inscription : septembre 2003 Messages : 374 ![]() |
Citation:
ca marche nickel... ce genre d'astuce aurait bien leur place dans la FAQ non ? (en plus de corriger "comment parcourir un recordset")? enfin, je dis celà comme ca hein. Merci en tout cas pour cette reponse ultra rapide. a+ |
|||
|
|
00
|
|
|
#4 |
![]() ![]() |
Salut,
La question de la FAQ est "Comment parcourir un recordset" et n'est donc pas fausse. De plus, il y a un tuto complet sur les Recordsets. On y trouve la réponse à la question savoir si un recordset est vide. Nous pouvons bien sûr envisager d'ajouter une entrée à la FAQ et de compléter celles existantes avec le lien vers le tutoriel.
__________________
Access : Les Cours, Les Sources et Les FAQs Office Avant de poster : les choses importantes à lire pour la bonne tenue du forum.sinon Ma boite à MPs n'est pas l'annexe du forum |
|
|
00
|
|
|
#5 | |
|
Membre actif
![]() Inscription : septembre 2003 Messages : 374 ![]() |
Citation:
parceque si on parcours un recordset sans enregistrement ca plante. ou du moins mettre en commentaire (en dehors du code) qu'il "faut que celui-ci soit non vide", et que pour tester s'il est vide ou pas, il faut utiliser rs.EOF et non pas chercher a connaitre le nombre d'enregistrement. voilà. |
|
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Christophe Warin Inscription : octobre 2004 Messages : 8 635 ![]() |
En effet, le movefirst est tout simplement inutile ici puisqu'à l'ouverture, le recordset est forcément à sa première position s'il est plein.
Ceci dit, rien ne précise qu'il vient d'être ouvert donc le test avec if not .eof est nécessaire (enfin recommandé si on ne veut pas prendre de risque) Nous allons corriger cela
|
|
|
00
|
|
|
#7 | |
|
Inscription : novembre 2008 Messages : 5 ![]() |
Citation:
Il faut donc utiliser dans ce cas if not (.BOF and .EOF), ce qui permet de déterminer que le recordset n'est pas vide, qu'on l'ait déjà parcouru ou non. |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com