Pb ds mon code

Résolu
Signaler
Messages postés
13
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
21 octobre 2007
-
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
-
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

Messages postés
630
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
17 février 2007

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
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
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