|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : mai 2011 Messages : 16 ![]() |
Bonjour à tous,
Je dois actuellement créer une fonction qui teste si une chaine de caractère se situe dans un recordset. rien de compliqué me direz vous, sauf que j'ai un problème vraiment bizarre. Tout d'abord voici le code de la fonction Code :
J'espère que quelqu'un pourra m'aider |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Pierre GONZALEZDéveloppeur Office VBA Inscription : août 2005 Messages : 3 412 ![]() |
Bonjour.
Si le recordCount est > 0, il semble en effet se passer des choses bizarres. Es-tu vraiment sûr que EOF est VRAI? Pour vérifier, je ferais plutôt Code :
Debug.Print reserv.recordcount & " : " & reserv.eof Cordialement,
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : mai 2011 Messages : 16 ![]() |
le recordcount vaut 81 et le getstring me retourne bien la liste des enregistrements...Quand au EOF. Lorsque j'ai l'erreur et j'entre en debogage, j'ai bien EOF= TRUE en passant ma souris sur la méthode.
C'est plutôt embêtant vu que je ne rentre pas dans la boucle. Pour ce qui est le but de ma fonction, je me suis mal exprimé. Je dois bien vérifier si la chaine se trouve dans le champ d'une table. Ne connaissant pas la fonction Dlookup, je me penche dessus dès que j'aurai mangé. Merci pour la réponse rapide. PS |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() Pierre GONZALEZDéveloppeur Office VBA Inscription : août 2005 Messages : 3 412 ![]() |
Re,
Je comprends mieux : c'est après avoir parcouru le jeu d'enregistrements que tu trouves EOF = VRAI, ce qui est bien normal! L'erreur est levée par quelle ligne? Mais regarde le DLookUp quand même! PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon |
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 805 ![]() |
Bonjour,
Code :
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
||
|
|
00
|
|
|
#6 | ||
|
Invité régulier
![]() Inscription : mai 2011 Messages : 16 ![]() |
Re,
@pgz: L'erreur est relevée au niveau du While @pc75: A mon avis le problème vient de là. Je teste et j'édite merci beaucoup! EDIT: Bon j'ai regardé un peu le Dlookup et j'en ai déduit que je pouvais tout remplacer par quelque chose dans ce genre Code :
(message "utilisation incorrecte de NULL"). EDIT2: C'est bon j'ai trouvé le problème, je passe mon paramètre comme un pied. Je vous remercie encore pour votre aide et pour m'avoir fait découvrir le DLookUp. Je suis en fait en stage et je découvre un peu le vba avec un sujet (que je trouve) assez compliqué (importation sélective de données excel tout ça...) Bref je vous souhaite une bonne journée. Cordialement, |
||
|
|
00
|
|
|
#7 |
|
Expert Confirmé Sénior
![]() Pierre GONZALEZDéveloppeur Office VBA Inscription : août 2005 Messages : 3 412 ![]() |
Re,
A mon avis la cause de l'erreur est la suivante : Si la valeur recherchée n'existe pas, le jeu d'enregistrements est totalement parcouru. A ce moment là, l'évaluation de la condition du While renvoie VRAI pour EOF (pas de pb) mais reserv.Fields(0) lève une erreur puisqu'on est EOF! CQFD. Bonne journée, PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com