Jeg skal have værdierne fra en combobox ned i en tabel i en database. Problemet er bare at trods for-løkken så får jeg kun det øverste felt fra comboboksen ned i databasen.
Dvs. der hvis der er 3 udfyldte felter i comboboksen hvor "Hans hansen" står øverst, så kommer der til at stå "Hans Hansen" 3 gange i tabellen. Har testet med en msgbox og der kommer de forskellige navne frem men alstå ikke ned i tabellen!! Hvad er der galt?
Såfremt du kender en smartere metode at gemme indhold af en comboks i en tabel så fortæl endelig!
Min kode:
Minconn.Open() GemKommenteredeCommand.Connection = Minconn For i = 0 To ComboBox8.Items.Count - 1 With GemKommenteredeCommand .CommandText = "INSERT INTO Instruks_kommenteres_af (Instruks_nr, Kommenteres_af ) VALUES (@p_instruksnr, @p_KomAf)" With .Parameters .Add("@p_instruksnr", OleDbType.VarChar).Value = InstruksnrLB.Text .Add("@p_KomAf", OleDbType.VarChar).Value = ComboBox8.Items.Item(i) End With MsgBox(ComboBox8.Items.Item(i)) .ExecuteNonQuery() End With Next Minconn.Close()
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Så vidt jeg kan se, så add'er du 2 parametre til din Command i hvert gennemløb af løkken, og siden din Command kun skal bruge to, så ta'r den hver gang de to første.
jeg tror ikke det er svaret. Instruksnummeret (den første parameter) skal være den samme i hvert gennemløb men som du kan se i anden parameter "ComboBox8.Items.Item(i)" bruger jeg - i - som tæller og det er hver linie i comboboksen som jeg vil have frem een efter een.
Din Command har 2 parametre og derfor bør hver parameter kun ADD'es præcis 1 og kun en gang.
Vi er vel enige om, at du kalder Command.Parameters.Add i hvert gennemløb. Dvs. @p_instruksnr bliver Add'et lige så mange gange som der er elementer i din Combo. Det er forkert.
With GemKommenteredeCommand .CommandText = "INSERT INTO Instruks_kommenteres_af (Instruks_nr, Kommenteres_af ) VALUES (@p_instruksnr, @p_KomAf)" With .Parameters .Add("@p_instruksnr", OleDbType.VarChar) .Add("@p_KomAf", OleDbType.VarChar) End With End With
For i = 0 To ComboBox8.Items.Count - 1 With GemKommenteredeCommand .Parameters("@p_instruksnr").Value = InstruksnrLB.Text .Parameters("@p_KomAf").Value = ComboBox8.Items.Item(i) End With
MsgBox(ComboBox8.Items.Item(i)) GemKommenteredeCommand.ExecuteNonQuery() Next
Minconn.Close()
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.