1 pièce(s) jointe(s)
Enregistrer plusieurs noms avec plusieurs Array codes
Salut tout le monde
Svp j'ai vraiment besoin d'aide poir resoudre ce probleme
Avec CheckedListBox1 .. je choisis un seul nom ou plusieurs noms a la fois pour les enregistrer dans ma base de donnee .. lorsque j'utilise uniquement un seul Array_Code tout fonctionne tres tres bien .. comme ca :
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
| Dim Array_Name As New ArrayList
For i = 0 To Me.CheckedListBox1.Items.Count - 1
If Me.CheckedListBox1.GetItemChecked(i) Then
Array_Name.Add(Me.CheckedListBox1.Items(i)("EMPLOYE_Name"))
End If
Next
If Array_Name.Count = 0 Then Exit Sub
Dim Array_Code As New ArrayList
For i = 0 To Me.CheckedListBox1.Items.Count - 1
If Me.CheckedListBox1.GetItemChecked(i) Then
Array_Code.Add(Me.CheckedListBox1.Items(i)("EMPLOYE_Code"))
End If
Next
Dim cmd As New OleDbCommand("INSERT INTO Table1( Employe_Code , Presence_Date) VALUES ( @Ccode , @Ddate)", Conne)
Conne.Open()
For Each Ccode In Array_Code
cmd.Parameters.Clear()
cmd.Parameters.AddWithValue("@Ccode", Ccode)
cmd.Parameters.AddWithValue("@Ddate", Me.DateTimePicker1.Value.Date)
cmd.ExecuteNonQuery()
Next
Conne.Close()
For i = 0 To Me.CheckedListBox1.Items.Count - 1
Me.CheckedListBox1.SetItemChecked(i, False)
Next |
Mais lorsque je veux ajouter un autre Array_Name ( Employe_Name ) dans mon code qui se sera comme ca :
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 30 31 32 33 34 35 36
| Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim Array_Name As New ArrayList
For i = 0 To Me.CheckedListBox1.Items.Count - 1
If Me.CheckedListBox1.GetItemChecked(i) Then
Array_Name.Add(Me.CheckedListBox1.Items(i)("EMPLOYE_Name"))
End If
Next
If Array_Name.Count = 0 Then Exit Sub
Dim Array_Code As New ArrayList
For i = 0 To Me.CheckedListBox1.Items.Count - 1
If Me.CheckedListBox1.GetItemChecked(i) Then
Array_Code.Add(Me.CheckedListBox1.Items(i)("EMPLOYE_Code"))
End If
Next
Dim cmd As New OleDbCommand("INSERT INTO Table1( Employe_Code , Employe_Name , Presence_Date) VALUES ( @Ccode , @Nname , @Ddate)", Conne)
Conne.Open()
For Each Ccode In Array_Code
For Each Nname In Array_Name
cmd.Parameters.Clear()
cmd.Parameters.AddWithValue("@Ccode", Ccode)
cmd.Parameters.AddWithValue("@Nname", Nname)
cmd.Parameters.AddWithValue("@Ddate", Me.DateTimePicker1.Value.Date)
cmd.ExecuteNonQuery()
Next
Next
Conne.Close()
For i = 0 To Me.CheckedListBox1.Items.Count - 1
Me.CheckedListBox1.SetItemChecked(i, False)
Next
End Sub |
Le probleme si par exemple je coche 3 noms dans ma CheckedListBox1 .. alors je trouve dans ma base de donnee ces trois nom en double 3 fois comme l'indique cette image :
Pièce jointe 656057
Comment faire svp poir inserer un deuxieme Array ( For Each Nname In Array_Name ) dans mon code
Merci beaucoup d'avance pour l'aide
Cordialement
MADA