Formular: Inhalte vom Listenfeld übertragen

Hallo Experten,

ich habe folgendes Problem:

In einem Formularfeld von Access gibt es ein Listenfeld (name:
Listenfeld1),
wo Inhalte aus einer Abfrage stehen. Ich wähle dann per Mausklick ein
Inhalt aus und drücke dann
auf ein Button (Name: Button1). Danach wird dieser Text in einem anderen
Listenfeld (name: Liste2) übernommen und angezeigt.
Danach wähle ich den nächsten Inhalt aus Listenfeld1 aus und klicke wieder
auf Button1 und der Text erscheint dann
wiederum in einem neuen Listenfeld (name: Liste3). Hier sind dann max. 4
neue Felder (Liste2, Liste3, Liste4, Liste5)
möglich.

Gibt es irgendwo ein VBA Code was ich dafür übernehmen und modifizieren
kann ?

Über jede Hilfestellung wäre ich sehr dankbar.

Danke im voraus.

Gruß, Marsi

Hallo Marsi!

Klingt komisch, was Du vorhast. Aber okay. Sind die Listenfelder 2-5 auch an irgendwelche Daten/Abfragen gebunden? Oder soll dort nur der eine Eintrag aus Liste 1 erscheinen? Wenn ja, warum nimmst Du dann ein Listenfeld? So ganz klar ist mir die Sache noch nicht.

Egal, ich gehe jetzt mal von Deiner Beschreibung aus. Weiterhin behaupte ich, dass zu Anfang die Listenfelder 2-5 leer sind. Klick auf Button1 fügt in das nächste, nichtleere Feld den derzeit aktuellen Wert ein, ohne ihn aus der Ursprungsliste 1 zu löschen. Doppelauswahl wäre also möglich.

Dann sollten die Listenfelder 2 bis 5 außerdem als Herkunftstyp „Wertliste“ beinhalten, die Liste 1 wie gehabt Daten aus einer Tabelle/Abfrage.

sub Button1\_Click
 if not isnull(me.Listenfeld1) then
 if me.Liste2.Rowsource="" then
 me.Liste2.rowsource=me.Listenfeld1
 elseif me.Liste3.Rowsource="" then
 me.Liste3.rowsource=me.Listenfeld1
 elseif me.Liste4.Rowsource="" then
 me.Liste4.rowsource=me.Listenfeld1
 elseif me.Liste5.Rowsource="" then
 me.Liste5.rowsource=me.Listenfeld1
 else
 ' wenn alle Listenfelder belegt sind, werden durch
 ' erneuten Klick auf Button1 einfach alle wieder gelöscht:
 me.Liste2.rowsource=""
 me.Liste3.rowsource=""
 me.Liste4.rowsource=""
 me.Liste5.rowsource=""
 ' Diesen Code könntest Du dann auch bei der Initialisierung
 ' des Formulars verwenden.
 endif

 endif
end sub

Wie immer ungetestet/uncompiliert. So ganz sicher bin ich mir noch nicht, ob das gut ist, was wir da machen.

Gruß, Manfred

Hallo Manfred,

Klingt komisch, was Du vorhast. Aber okay. Sind die
Listenfelder 2-5 auch an irgendwelche Daten/Abfragen gebunden?
Oder soll dort nur der eine Eintrag aus Liste 1 erscheinen?
Wenn ja, warum nimmst Du dann ein Listenfeld? So ganz klar ist
mir die Sache noch nicht.

Die Listenfelder 2-5 sind nicht an irgendwelche Daten/Abfragen gebunden, sondern übernehmen das Ergebnis aus Liste 1.

Ich habe aus den Listenfelder jetzt Textfelder gemacht. Oki ?

Dann sollten die Listenfelder 2 bis 5 außerdem als
Herkunftstyp „Wertliste“ beinhalten, die Liste 1 wie gehabt
Daten aus einer Tabelle/Abfrage.

sub Button1_Click
if not isnull(me.Listenfeld1) then
if me.Liste2.Rowsource="" then
me.Liste2.rowsource=me.Listenfeld1
elseif me.Liste3.Rowsource="" then
me.Liste3.rowsource=me.Listenfeld1
elseif me.Liste4.Rowsource="" then
me.Liste4.rowsource=me.Listenfeld1
elseif me.Liste5.Rowsource="" then
me.Liste5.rowsource=me.Listenfeld1
else
’ wenn alle Listenfelder belegt sind, werden durch
’ erneuten Klick auf Button1 einfach alle wieder
gelöscht:
me.Liste2.rowsource=""
me.Liste3.rowsource=""
me.Liste4.rowsource=""
me.Liste5.rowsource=""
’ Diesen Code könntest Du dann auch bei der
Initialisierung
’ des Formulars verwenden.
endif

endif
end sub

Wie immer ungetestet/uncompiliert. So ganz sicher bin ich mir
noch nicht, ob das gut ist, was wir da machen.

Danke für die Mühe.
Ich habe den Code eingebaut und modifiziert und leider gibt es
dabei keine Reaktion.
Gruß, Marsi…

Hallo Marsi!

Ich habe aus den Listenfelder jetzt Textfelder gemacht. Oki ?

Auch gut. Du hast also 4 Textfelder. Richtig?

Danke für die Mühe.

Noch sind wir ja nicht fertig…

Ich habe den Code eingebaut und modifiziert und leider gibt es
dabei keine Reaktion.

Wie sieht der Code aus? Kannst Du mal hier reinsetzen (oder mir direkt zumailen-ich schaue gerade nicht allzu regelmäßig hier vorbei, sonder nnur, wenn mein Rechner rechnet und mich nicht schaffen lässt…)?

Gruß, Manfred