Access-VBA: Setzen der Werte einer Mehrfachauswahl-Listenfeld in eine Tabelle
Ich habe ein Listenfeld, wo ich auswählen kann von Montag - Freitag. Ich kann wählen, wie viele Tage, wie ich will in der Liste, alle von Ihnen, wenn ich wollte. Ich will wissen, wie legen Sie den Wert der listbox in meine Tabelle.
Hier ist der code habe ich bisher geschrieben:
Private Sub Command499_Click()
Set RstRecSet = Nothing
Set db = CurrentDb
Dim dateDay As String
Dim dateWeek As String
MsgBox (lstDateDay.Selected)
''dateWeek = lstDateWeek.Value
db.Execute " INSERT INTO tblContacts (DateDay, DateWeek)Values" & "('" & dateDay & "', '" & dateWeek & "');"
db.Close
End Sub
Wie Sie sehen können ich habe versucht eine Menge verschiedener Dinge. Mein problem ist immer der Wert des Listenfeldes; es hält die zeigen, wie null, obwohl es Daten ausgewählt. Der genaue Fehler, den ich bekomme ist: "Ungültige Verwendung von Null."
Lassen Sie mich wissen, was Sie denken.
Dank,
Salat
EDIT:
Set rs = db.OpenRecordset("tblContacts")
For Each itm In lstDateWeek.ItemsSelected
rs.AddNew
rs!dateWeek = lstDateWeek.ItemData(itm)
rs!dateDay = itm
rs.Update
Next
rs.Close
Set rs = Nothing
Set db = Nothing
dateDay und dateWeek sind Spalten in tblContacts.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie die ItemsSelected-Auflistung, um den index des gewählten items im Multi-Select-Liste " und anschließend Durchlaufen Sie, und verwenden Sie den index, der Verweis auf die Zeilen gespeichert, die in der ItemData-Sammlung. Als Teil dieser iteration erstellen Sie einfach einen Datensatz hinzufügen und die Felder und aktualisieren. Es gibt verschiedene Möglichkeiten, dies zu behandeln ist, sondern ich wie das unten gezeigte.
Verwendung meinem Beispiel, erstellen Sie einfach eine Tabelle namens tblTest und zwei Spalten Beschreibung (text) und Tag als Zahl.
Erstellen Sie ein Formular und fügen Sie ein multi-select-Listenfeld mit dem Namen DaysOfWeek. füllen Sie es mit den Tagen der Woche als ValueList und fügen Sie eine Schaltfläche, die ich beschriftet Speichern.
Fügen Sie den folgenden code in die Tasten, click-Ereignis, und versuchen Sie es
Meine Ereignisprozedur sieht wie folgt aus:
Dies könnte getan werden, mit einem ADO-Aufruf durch den Bau einer Zeichenfolge AUSWÄHLEN, die für Ihre INSERT-Anweisung als gut, aber für mich ist das einfach.. Wenn Sie Fragen haben, lassen Sie es mich wissen. Wenn ich herausfinden kann, wie befestige meine Beispiel-Datenbank ich.