Problème datagridcombobox et insertion
Bonjour à tous,
Bon voila je suis sur un petit agenda en vb , un prof m'avait donné un chemin à suivre mais j'ai préférer m'en écarter car tout le monde le faisait comme ca je voulais me départager un peu devant le jury^^.
Donc voila mon problème j'ai un datagridview dans lequel j'ai 3 colonnes la première comportant une liste déroulante contenant les tranches horaires (alimenté par une base de données avec le libellé de la tranche en displayed et le codetranche en value), une colonne sujet et une dernière détail.
Bon j'arrive à renseigner la liste déroulante nickel mais j'ai un gros problème quand je tente de faire une insertion dans la base de données acces à l'aide du bouton valider
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| Private Sub valider_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles valider.Click 'lorsque l'on clique sur le button1 (temporaire)
Dim chaineconnexion As String
chaineconnexion = "provider = microsoft.jet.oledb.4.0 ; data source = " &
Application.StartupPath & "\Baseagen.mdb;" 'connexion à la base de donnée
Dim maconnexion As New OleDbConnection(chaineconnexion)
maconnexion.Open()
Dim i As Integer
Dim datum As Date
datum = (Day(Calendrier.SelectionStart) & "/" & Month(Calendrier.SelectionStart) & "/" & Year(Calendrier.SelectionStart))
i = 0
For Each row As DataGridViewRow In DataGridView1.Rows
Dim req As String
While i <= DataGridView1.DisplayedRowCount(True)
req = "insert into Agenda (Codetranche,Daterdv,Sujet,detail) values (" & DataGridView1.Item(1, i).Value & ",'" & datum & "','" & DataGridView1.Item(2, i).Value & "','" & DataGridView1.Item(3, i).Value & "');"
Dim query As New OleDbCommand(req, maconnexion)
query.ExecuteNonQuery() 'Exécute la requête
i = i + 1
End While
Next
MsgBox("insertion") 'Message de confirmation
End Sub |
mais j'obtiens cette erreur:
Citation:
L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection.
alors mes problèmes sont d'un l'erreur si dessus mais aussi que dois-je mettre pour prendre la valeur de la liste déroulante? dois-je la signaler comme une colonne lambda avec DataGridView1.Item(numcolonne, numligne).Value ou y'a til autre chose à mettre étant donnée que c'est une combobox ratachée à une colone de la datagridview
http://img15.hostingpics.net/thumbs/...50214h4640.png
Voici un screen pour vous faire une idée.^^
Voila merci d'avance parce que la je sèche, bien que j'ai cherché sur le net et que souvent ils disent de rajouter des tonnes de lignes de codes que je comprends absolument et faisant appel à des connaissances en objet que je n'ai pas.