VB.NET se déplacer dans les enregistrements

dakota77 Messages postés 11 Date d'inscription samedi 1 septembre 2007 Statut Membre Dernière intervention 25 février 2010 - 16 déc. 2008 à 23:01
fad7 Messages postés 7 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 25 mars 2013 - 25 mars 2013 à 17:20
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... :)

5 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
16 déc. 2008 à 23:19
0
dakota77 Messages postés 11 Date d'inscription samedi 1 septembre 2007 Statut Membre Dernière intervention 25 février 2010
18 déc. 2008 à 20:49
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
0
dakota77 Messages postés 11 Date d'inscription samedi 1 septembre 2007 Statut Membre Dernière intervention 25 février 2010
18 déc. 2008 à 22:34
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
0
Ngolow Messages postés 1 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 13 septembre 2011
13 sept. 2011 à 23:36



0

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

Posez votre question
fad7 Messages postés 7 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 25 mars 2013
25 mars 2013 à 17:20
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
...
0
Rejoignez-nous