cs_popo51
Messages postés38Date d'inscriptionlundi 14 février 2005StatutMembreDernière intervention 6 juin 2006
-
6 juin 2006 à 10:21
cs_popo51
Messages postés38Date d'inscriptionlundi 14 février 2005StatutMembreDernière intervention 6 juin 2006
-
6 juin 2006 à 11:01
Bonjour à tous, voila j'expose mon pb :
Je désire parcourir ma table a l'aide de recordset.MovePrevious et recordset.MoveNext
le problème c'est qu'avec le code actuelle je n'ais que l'enregistrement précédant et pas ceux d'avant !! Bisard
Private Sub Command1_Click()
If rSuivPre.BOF = False Then 'test si début de fichier
rSuivPre.MoveLast 'déplacement vers fin du fichier
End If
rSuivPre.MovePrevious 'déplacement d'un cran vers l'arrièreIf rSuivPre.BOF True Then 'test si début de fichier> plus rien a lire
MsgBox "Plus d'enregistrement précédant"
Exit Sub
End If
'affichage
Text4.Text = rSuivPre.Fields!Date
Text5.Text = rSuivPre.Fields!NumOf
Text6.Text = Format((rSuivPre.Fields!Compteur), "# ##0")
Text7.Text = rSuivPre.Fields!Format
End Sub
donc lors de la première pass ca fonctionnne mais losrque je ve effectuer une nouvelle passe rSuivPre.BOF reste a False alors que j'ais bien fait rSuivPre.MovePrevious ce qui fait que je ne comprend pas!!
cs_funseb
Messages postés154Date d'inscriptiondimanche 29 juin 2003StatutMembreDernière intervention28 janvier 20101 6 juin 2006 à 10:34
Salut, c'est normal, en faisant if rSuivPre.BOF = False ... tu met à la fin du fichier et après tu recules avec rSuivPre.MovePrevious, donc quand il reclique, ton rSuivPre.BOF est toujours égale à False et il replace donc tjs à la fin du fichier !
cs_popo51
Messages postés38Date d'inscriptionlundi 14 février 2005StatutMembreDernière intervention 6 juin 2006 6 juin 2006 à 11:01
Oui bien sur c'est ce que je fait, j'utilise deux bouttons mais dans chaqu'un des bouttons je doit réalisé un affichage de chaqu'un des champs de ma table en fonction de mon recordset c'est a dire : click en the button, test si fin du fichier (car j'ais une commande sql qui m'ordonne ma table en asc) sinon déplacement fin de fichier (rSuivPre.MoveLast), déplacement de l'enregistrement en cours en arrière affichage et bien sur si je suis au début du fichier (MsgBox "plus d"nregistrement précédant" )
Voila et donc j'en suis la :
Private Sub Command1_Click()
If rSuivPre.BOF = True Then
MsgBox "Plus d'enregistrement précédant"
Exit Sub
End If
If rSuivPre.BOF = False Then
rSuivPre.MoveLast
End If
rSuivPre.MovePrevious
Text4.Text = rSuivPre.Fields!Date
Text5.Text = rSuivPre.Fields!NumOf
Text6.Text = Format((rSuivPre.Fields!Compteur), "# ##0")
Text7.Text = rSuivPre.Fields!Format
End Sub
et comme le .BOF et tj a false il me ré-affiche les même champs ^^ je ne sais pas ce que je doit mètre comme condition pour faire le .MoveLast !! en gro