ObjetDataRow

Résolu
salutyoussef Messages postés 3 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 28 mai 2009 - 28 mai 2009 à 12:52
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 - 28 mai 2009 à 14:22
Bonjour, j'ai un petit probleme pour faire une modification d'une ligne dans une base de données Access.
J'aimerais à partir d'un "numadherent" trouver la ligne dans la base de donnée qui la contient, par exemple
dans l'image ci dessous j'aimerais connaitre le numero de ligne dans la base qui contient l'utilisateur ayant pour "numadherent" 18 (à savoir la ligne 4) afin de le modifier.

http://www.hiboox.fr/go/images/adulte/access,0607128960c8b7dcb575c5a1be182ad9.jpg.html

Dans l'image ci-dessous on peut voir la ligne de code encadré en rouge qui me pose probleme.

http://www.hiboox.fr/go/images/jeu-video/code,39fa1fc76b071d5db388c2a3e203800f.jpg.html

Si je met "manuellement" le numero de l'utilisateur choisis (le 18 par exemple) comme ceci :

ObjetDataRow = ObjetDataSet.Tables("Adherent").Rows(18)

La modification à bien lieu.

Merci d'avance pour vos réponses :)

4 réponses

salutyoussef Messages postés 3 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 28 mai 2009
28 mai 2009 à 12:55
Pardon les images sont mal passés.
3
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
28 mai 2009 à 13:40
Bonjour,

Il suffit simplement d'afficher la liste de tes adhérants dans un combo comme ceci:

'Dans ton form Load

ComboBox1.DataSource = ObjetDataSet.Tables("Adherent")
ComboBox1.DisplayMember = "NumAdherent"

If ComboBox1.Items.Count > 0 Then _
   ComboBox1.SelectedIndex = 0
Else
   'MsgBox ("Pas de données dans la table")
   'Exit Sub
End if

Dans ton Button_Click

ObjetDataRow = (ObjetDataSet.Tables ("Adherent").Row (ComboBox1.SelectedIndex)
[...]

De cette façon tu aura un combo qui t'affichera le numéro d'édhérent que tu pourra sélectionner, en suite tu saisi les valeurs dans tes textbox, lors de la validation avec ton bouton la ligne choisie dans le combo sera modifié.

PS:

ObjetDataRow = ObjetDataSet.Tables("Adherent").Rows(18) <= ne fonctionne pas, 18 n'est pas le numéro d'adhérent mais le numéro de ligne de la table ce sera donc :
ObjetDataSet.Tables("Adherent").Rows(4)
 Et pour obtenir son numéro d'adhérent c'est
ObjetDataSet.Tables("Adherent").Rows(4)("NumAdherent")

@+ Mayzz.
0
salutyoussef Messages postés 3 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 28 mai 2009
28 mai 2009 à 13:50
Merci cela fonctionne,
J'aimerais aussi savoir si à partir du nom d'un adhérent on puisse retrouve son numéro de ligne dans la base de données Access ? (afin d'eviter de passer par la combo box)

Merci :)
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
28 mai 2009 à 14:22
Oui en incluant une requête sélect qui retourne une table, avec des Row, en fonction de ta requête

Exemple de requête:
 
SELECT * FROM Adherent WHERE nom = @Nom

cette requête te retournera une DataTable avec toutes les lignes dont le nom d'utilisateur est égale à la valeur de la variable @Nom
0
Rejoignez-nous