collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 61
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 1

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13914
  • stats Beiträge insgesamt: 65822
  • stats Themen insgesamt: 8881
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Daten aus Kombinationsfeld mit Mehrfachauswahl in Textfeld füllen  (Gelesen 82 mal)

Offline Asce

  • Newbie
  • Beiträge: 2
Hallo zusammen,

Ich möchte in einem Formular, in dem ich meine neuen Datensätze anlege, über ein Kombinationsfeld mit Mehrfachauswahl meine Werte auswählen und diese dann an ein Textfeld übergeben. Die Daten für das Kombinationsfeld kommen aus einer Tabelle um eventuelle Schreibfehler und Varianten zu vermeiden.
Datensatzherkunft: SELECT [tblKombinationsfeld].[ID], [tblKombinationsfeld].[Kombinationsfeld] FROM tblKombinationsfeld ORDER BY [Kombinationsfeld];
Gebundene Spalte: 1
Spaltenanzahl: 2
Das hat den Hintergrund das ich dann im Anschluss ein Endlosformular erstellen will in dem ich dann über ein ungebundenes Textfeld nach diesen Werten filtern kann.

Ich habe bei meiner Suche dabei schon einige Beiträge mit Lösungen gefunden die auch bestätigt wurden, allerdings funktionieren diese bei mir nicht.

Der erste Lösungsansatz war:
Me!Text = Me!KombinationsfeldDamit wurde dann statt den hinterlegten Werten nur die ID angezeigt.-> 1;2;3

Wenn ich dann dieses versucht habe:
Me!Text = Me!Kombinationsfeld.Column(2)wurde wenn nur ein Wert ausgewählt wurde dieser in das Textfeld übernommen, bei zwei gewählten Werten ist das Testfeld wieder leer.

Dann bin ich auf diese Lösung gestoßen:
Private Sub Kombinationsfeld_AfterUpdate()
 ' Geht jedes angeklickte Element durch und speichert es in einem String
 
  Dim varPosition As Variant
  Dim str As String
   
  For Each varPosition In Kombinationsfeld.ItemsSelected
      str = str & Me!Kombinationsfeld.ItemData(varPosition) & ", "
  Next varPosition
 
  Me!Text = str
   
End Sub
Das Textfeld bleibt aber leider immer leer.

Hat jemand ein Idee dazu wo mein Fehler liegen könnte?



 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7204
Re: Daten aus Kombinationsfeld mit Mehrfachauswahl in Textfeld füllen
« Antwort #1 am: April 08, 2018, 23:59:21 »
Hallo,
lasse es lieber sein, in einer Datenbank speichert man nicht mehrere Werte in einem Feld. Das dürfte eine klassische n:m Beziehung sein zu der man 3 Tabellen braucht.
Die jetzige eigentliche Datentabelle, die Tabelle die Tabelle die die AuswahlIDs (tblKombinationsfeld) bereithält und die noch fehlende 3.Tabelle die die ausgewählten Werte als je ein Datensatz speichert.
Die Tabelle hat dann 2 Fremdschlüssel, einen zum Hauptdatensatz und einen zur getroffenen Auswahl. Gespeichert werden in jedem Fall die IDs, nicht die Klartexte. Dann kannst Du auch problemlos filtern und die Daten in einem Endlosformular auch als je ein Datensatz anzeigen.

Für dies alles braucht man kein VBA.
Lege Dein Vorhaben zu den Akten, es ist für eine Datenbank unbrauchbar. Mit Deinem Vorhaben kann man noch nicht mal ordentlich und einfach filtern.
Gruß
Klaus