Listenfeld-Auswahl Werte aus Tabelle in Textfeld

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:

  • Name
  • Vorname
  • Ort

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:

  • Name
  • Vorname
  • Ort

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