VB.NET se déplacer dans les enregistrements

Signaler
Messages postés
11
Date d'inscription
samedi 1 septembre 2007
Statut
Membre
Dernière intervention
25 février 2010
-
Messages postés
7
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
25 mars 2013
-
Bonsoir,

Quand on se connecte en VB.NET à une base de données Access, l'assistant génère un série d'objets : dataset, datatable adapter, et un BindingNavigator. Celui-ci permet de se déplacer dans les enregistrements en avant ou en arrière. Donc tout va bien.

Je cherche simplement à faire un bouton qui permet d'afficher l'enregistrement suivant de la même manière que le BindingNavigator.

En VB6&ADO on se déplace dans un recordset avec movenext. En VB Access : DoCmd.GoToRecord , , acNext. Mais en VB.NET ça a l'air d'être une autre paire de manches ...

Cela me faciliterait les choses si je pouvais voir le code qu'il y a derrière le Bindingnavigator. Mais même ça je n'arrive pas à le trouver ...

Un grand merci pour votre aide à un novice en VB.NET au bord du désespoir... :)
A voir également:

5 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
33
Messages postés
11
Date d'inscription
samedi 1 septembre 2007
Statut
Membre
Dernière intervention
25 février 2010

Bonjour




Merci pour ta réponse. Malheureusement je n'ai toujours pas de code correct permettant de naviguer dans les enregistrements comme le fait le binding navigator. Le code ci-dessous génère une erreur sur la ligne en rouge. "Impossible d'effectuer une liaison à la propriété ou la colonne NBR sur le DataSource. Nom du paramètre : dataMember". Or NBR est un champ de la table CAL01.

Public Class Form1
Private CM As CurrencyManager

Public Sub Form1_Load
 Me.CAL01TableAdapter.Fill(Me.VOCDS.CAL01)
 TB01.DataBindings.Add("text", "CAL01", "NBR")
 CM = CType(Me.BindingContext(Me.VOCDS.CAL01), CurrencyManager)
 CM.Position = 0
End Sub

Private Sub Button1_Click
   CM.Position = 2
End Sub
Messages postés
11
Date d'inscription
samedi 1 septembre 2007
Statut
Membre
Dernière intervention
25 février 2010

C'est tout simple.
Il faut utiliser les méthodes et propriétés de la BindingSource :

- MoveFirst()

- MovePrevious()

- MoveNext()

- MoveLast()

- AddNew()

- RemoveCurrent()

- CurrentPosition

- Count


Le BindingNavigator est juste une interface graphique qui appelle ces méthodes
Messages postés
1
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
13 septembre 2011




Messages postés
7
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
25 mars 2013

dakota77 la simplifié! utlise le proprietés de la bindingsource!
Par exemple:
je suppose que ta table est TB01, tu auras donc TB01bindingsource:
tu n as qu a ecrire ceci dans ton code:
- me.TB01bindingsource.MoveNext
- me.TB01bindingsource.Moveprevious
- me.TB01bindingsource.Movefirst
- me.TB01bindingsource.Movelast
...