Movenext

Résolu
monopole Messages postés 44 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 29 janvier 2009 - 19 déc. 2005 à 11:15
cs_funseb Messages postés 154 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 28 janvier 2010 - 19 déc. 2005 à 11:57
bonjour,
je n arrive pas a faire defiler un enregistremnt depuis une table sql server;
en faite le probleme c est que je defile le premier enregistrement avc movenext et puis c est stable...
voila mon code :
Private Sub cmd_suivant_Click()
Dim vCon As New ADODB.Connection
Dim vRs As New ADODB.Recordset

vRs.CursorType = 1
vCon.Open vNPAIConnectionString
vCon.CommandTimeout = 1200

vRs.Open "select * from fiche_relance where per_id = '" & vTAId & "' ", vCon


If Not vRs.EOF Then

vRs.MoveNext

ficid.Text = vRs("fic_id")
perid.Text = vRs("per_id")
fic_nom_clt.Text = vRs("fic_nom_clt")
txt_prenom_clt = vRs("fic_prenom_clt")
gsm_client.Text = vRs("fic_tel")

Else
MsgBox ("aucune fiche restante !")
End If

vRs.close
Set vRs = Nothing
vCon.close
Set vCon = Nothing

End Sub

5 réponses

cs_funseb Messages postés 154 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 28 janvier 2010 1
19 déc. 2005 à 11:33
Salut,

C'est normal, tu réalises ta requète dans ton événement click !! donc à chaque fois que tu cliques sur ton cmd_suivant, il réactualise ton recordset et remet la position au premier enregistrement de ton recordset ! Il faut que tu remplissent ton recordset en dehors de ta procédure click , dans le form load par exemple !
3
Simouss33 Messages postés 85 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 15 février 2006 2
19 déc. 2005 à 11:29
Je ne comprends pas très bien ton problème, si tu veux parcourir tous tes enregistrements, il suffit de faire une boucle.

While Not vRs.EOF
ficid.Text = vRs("fic_id")
perid.Text = vRs("per_id")
fic_nom_clt.Text = vRs("fic_nom_clt")
txt_prenom_clt = vRs("fic_prenom_clt")
gsm_client.Text = vRs("fic_tel")
vRs.MoveNext
Wend
0
monopole Messages postés 44 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 29 janvier 2009
19 déc. 2005 à 11:49
merci funseb, j ai bien compris ce que tu veut dire mais j ai pas pu realiser la methode c est a dire saisir le recordset ds la form load puis la recuperer ds le click suivant si tu peut me donner cet expl je serait content.merci
0
Simouss33 Messages postés 85 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 15 février 2006 2
19 déc. 2005 à 11:52
Désolé pour ma réponse je n'avais effectivement pas compris le problème
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_funseb Messages postés 154 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 28 janvier 2010 1
19 déc. 2005 à 11:57
ok, je dois t'avouer que je suis un peu rouiller en vb, je suis passé en .net depuis 8 mois ... donc a tester :
tu declare
Dim vCon As New ADODB.Connection
Dim vRs As New ADODB.Recordset
en haut de ta page (général),

ensuite dans le form load tu met :
vRs.CursorType = 1
vCon.Open vNPAIConnectionString
vCon.CommandTimeout = 1200

vRs.Open "select * from fiche_relance where per_id = '" & vTAId & "' ", vCon
ficid.Text = vRs("fic_id")
perid.Text = vRs("per_id")
fic_nom_clt.Text = vRs("fic_nom_clt")

txt_prenom_clt = vRs("fic_prenom_clt")

gsm_client.Text = vRs("fic_tel")

puis ds ton cmd_suivant :

If Not vRs.EOF Then

vRs.MoveNext

ficid.Text = vRs("fic_id")
perid.Text = vRs("per_id")
fic_nom_clt.Text = vRs("fic_nom_clt")
txt_prenom_clt = vRs("fic_prenom_clt")
gsm_client.Text = vRs("fic_tel")

Else
MsgBox ("aucune fiche restante !")
End If

enfin dans un bouton quitter ou à la fermeture de ta pae :
vRs.close
Set vRs = Nothing
vCon.close
Set vCon = Nothing

Voila, mais je suis pas certain !
0
Rejoignez-nous