Hallo.
Habe folgendes Problem:
Ich hab mir eine Form gebastelt mit einem Listenfeld lstKontakte. Dieses Listenfeld holt sich die Datensätze aus der Tabelle Kontakte. Jetzt will ich, wenn ein Eintrag aus dem Listenfeld ausgewählt wurde, die Datensatz aus der Tabelle Kontakte holt und den jeweiligen Wert in eine Textbox schreibt.
Meine Tabelle hat folgende Felder:
- ID
- Name
- Vorname
- Adresse
- PLZ
- Ort
Das Listenfeld hat im Mom. nur drei Spalten und zwar:
Ich übergib im mom. mit folgendem Code die Werte des Listenfelds in die txtboxen Name, Vorname, ID und Ort.
Wie bekomm ich noch die anderen Daten, sprich Adresse, PLZ in die txtboxen??
Hier der jetzige Code:
Private Sub lstKontakte\_ItemClick(ByVal Item As Object)
Dim objListitem
For Each objListitem In lstKontakte.ListItems
If objListitem.Selected Then
Debug.Print objListitem.Key, objListitem.Text, objListitem.listsubitems(1).Text, objListitem.listsubitems(2).Text
Me!txtId = objListitem.Key
Me!txtName = objListitem.Text
Me!txtVorname = objListitem.listsubitems(1).Text
Me!txtOrt = objListitem.listsubitems(2).Text
End If
Next
End Sub
Grüße und danke für eure Hilfe.
Sebastian
Hallo Sebastian,
Ich hab mir eine Form gebastelt mit einem Listenfeld
lstKontakte. Dieses Listenfeld holt sich die Datensätze aus
der Tabelle Kontakte. Jetzt will ich, wenn ein Eintrag aus dem
Listenfeld ausgewählt wurde, die Datensatz aus der Tabelle
Kontakte holt und den jeweiligen Wert in eine Textbox
schreibt.
soll das so was wie eine Auswahl/Suche sein?
Falls JA: erstelle ein Kombifeld im Formularkopf mit dem Assistenten, vorausgesetzt du hast als Datenbasis für dein Formular auch deine Tabelle Kontakte genutzt.
Falls NEIN:
Meine Tabelle hat folgende Felder:
- ID
- Name
- Vorname
- Adresse
- PLZ
- Ort
Das Listenfeld hat im Mom. nur drei Spalten und zwar:
erweitere das Listenfeld um die noch fehlenden Felder, setzte die Länge für diese Felder auf 0 = unsichtbar in der Liste!
- Name = column(0)
- Vorname = column(1)
- Ort = column(2)
- ID = column(3)
- Vorname = column(4)
- Adresse = column(5)
- PLZ = column(6)
Wie bekomm ich noch die anderen Daten, sprich Adresse, PLZ in
die txtboxen??
Hier der neue Code:
Private Sub lstKontakte\_ItemClick(ByVal Item As Object)
Me.txtId = me.lstkontakte.column(3)
Me.txtname = me.lstkontakte.column(2)
Me.txtvorname = me.lstkontakte.column(1)
Me.txtort = me.lstkontakte.column(2)
Me.txtplz = me.lstkontakte.column(6)
Me.txtadresse = me.lstkontakte.column(5)
End Sub
Grüße aus Raben Steinfeld (bei Schwerin)
Wolfgang
(Netwolf)
Hallo Wolfgang.
Habe jetzt meine Listbox mit den fehlenden Spalten erweitert. Es klappt, er überträgt mir auch die Daten da rein.
Jetzt wollte ich den Code:
Private Sub lstKontakte_ItemClick(ByVal Item As Object)
Me.txtId = me.lstkontakte.column(3)
Me.txtname = me.lstkontakte.column(2)
Me.txtvorname = me.lstkontakte.column(1)
Me.txtort = me.lstkontakte.column(2)
Me.txtplz = me.lstkontakte.column(6)
Me.txtadresse = me.lstkontakte.column(5)
End Sub
einfügen und dann kommt folgende Fehlermeldung:
Laufzeitfehler 438: Objekt unterstützt diese Eigenschaft oder Methode nicht --> Zeile Me.txtId = me.lstKontakte.Column(3) wird gelb hinterlegt. Wenn ich dann es nochmals eintippe über das IntelliSense von MS, gibts bei me.lstKontakte die Methode Column nicht, sehe aber auch keine andere, die das gleiche machen würde. Muss ich da noch was in der Listbox einstellen, dass ich diese Methode nützen kann?
Ich verwende MS Access 2003 auf Windows XP.
Grüße und danke für deine Hilfe.
Sebastian
Hallo.
Habe selbst die Lösung gefunden.
Hier die Lösung um die Werte an eine TxtBox mittels ItemClick zu übergeben:
Private Sub lstKontakte\_ItemClick(ByVal Item As Object)
Dim objListitem
For Each objListitem In lstKontakte.ListItems
If objListitem.Selected Then
Debug.Print objListitem.Key, objListitem.Text, objListitem.listsubitems(1).Text, objListitem.listsubitems(2).Text, objListitem.listsubitems(3).Text, objListitem.listsubitems(4).Text, objListitem.listsubitems(5).Text, objListitem.listsubitems(6).Text, objListitem.listsubitems(7).Text, objListitem.listsubitems(8).Text
Me!txtId = objListitem.listsubitems(3).Text
Me!txtName = objListitem.Text
Me!txtVorname = objListitem.listsubitems(1).Text
Me!txtOrt = objListitem.listsubitems(2).Text
Me!txtAdresse = objListitem.listsubitems(4).Text
Me!txtPLZ = objListitem.listsubitems(5).Text
Me!txtLand = objListitem.listsubitems(6).Text
Me!txtTelefon = objListitem.listsubitems(7).Text
Me!txtEMail = objListitem.listsubitems(8).Text
End If
Next
End Sub
@Wolfang…Vielen Dank für deine Hilfe!!!
Grüße,
Sebastian