Pb ds mon code

Résolu
cs_kevin16 Messages postés 13 Date d'inscription samedi 16 septembre 2006 Statut Membre Dernière intervention 21 octobre 2007 - 15 oct. 2006 à 19:23
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 - 15 oct. 2006 à 21:28
Bonjours a tous !


voila je debute en vb et j'ai créer  mon  premier programme
permettant de se déplacer dans une base de données , j'ai 2 problèmes
tout d'abord lorsque je clique sur le bouton précedent qui permet de
lire l'enregistrement précédent de ma bdd il me dit que l'opération
demandé n'est pas autorisé dans ce contexte et mon second problème est
lorsque j'arrive a la fin de ma base de données en cliquant sur le
bouton suivant  il ne revient pas au premier enregistrement, pour
cela j'ai éssayer d'y insérer une condition en utilisant le EOF mais
sans succées donc je l'ai enlever.


Pouvez vous m'aider a résoudre ces problèmes qui vont surement vous paraître basic.

Merci


CODE :


Set cnx = New ADODB.Connection

Set rs = New ADODB.Recordset


'Définition du pilote de connexion

cnx.Provider = "Microsoft.Jet.Oledb.3.51"


'Définition de la chaîne de connexion

cnx.ConnectionString = "C:\Visual_Basic6\exerciceVb\Exercice1\db1.mdb"


'Ouverture de la base de données

cnx.Open


' Ouverture de la base

rs.Open "SELECT nom, prenom FROM exercice", cnx


' affichage des données

txtNom.Text = rs.Fields("nom")

txtPrenom.Text = rs.Fields("prenom")


End Sub


Private Sub cmdSuivant_Click()

 

    rs.MoveNext  ' rs prend la valeur de l'enregistrement precedent

    txtNom.Text = rs.Fields("nom")

    txtPrenom.Text = rs.Fields("prenom")


End Sub


Private Sub cmdPrecedent_Click()

   

    rs.MovePrevious  ' rs prend la valeur de l'enregistrement precedent

    txtNom.Text = rs.Fields("nom")

    txtPrenom.Text = rs.Fields("prenom")


End Sub


Private Sub cmdQuitter_Click()


End


End Sub

2 réponses

Dolphin Boy Messages postés 630 Date d'inscription vendredi 5 mai 2006 Statut Membre Dernière intervention 17 février 2007
15 oct. 2006 à 19:37
Salut,

Private Sub cmdSuivant_Click()
    rs.MoveNext  ' rs prend la valeur de l'enregistrement suivant  
    If rs.EOF Then rs.MoveFirst 'retour au début
    txtNom.Text = rs.Fields("nom")
    txtPrenom.Text = rs.Fields("prenom")

End Sub

Private Sub cmdPrecedent_Click()
   
    rs.MovePrevious  ' rs prend la valeur de l'enregistrement precedent
    If rs.BOF Then rs.MoveFirst 'si tu veux rester sur le début
    If rs.BOF Then rs.MoveLast 'si tu veux recommencer à partir de la fin
    txtNom.Text = rs.Fields("nom")
    txtPrenom.Text = rs.Fields("prenom")

End Sub
3
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
15 oct. 2006 à 21:28
Bonsoir,
Il faudrait peut être ajouter ,
lors de l' ouverture de la base ,
rs.Open "SELECT nom, prenom FROM exercice", _
cnx, adOpenDynamic, adLockOptimistic
Sans ça, je pense que ton recordset ne peut se déplacer
que vers l' enregistrement suivant
d' ou l' erreur :
< l'opération demandé n'est pas autorisé dans ce contexte...>

chaibat
3
Rejoignez-nous