Hallo,
wie kann ich die Mehrfachauswahl in einem Listenfeld zwischenspeichern (Variable), damit wenn das Formular mit dem besagten Listenfeld wieder aufgerufen wird, die Mehrfachauswahl wieder angezeigt wird?
Diese Listenfeld dient zur Auswahl (Filter) von Daten für einen Bericht. Somit wäre beim Aufruf des Listenfeldes sofort ersichtlich, das ein Filter gesetzt wurde.
Habe was über Me!MeinListenfeld.selected gelesen, aber wie gehe ich da bei Mehrfachauswahl vor?
Gruß Hubert
Hallo,
z. B. :
in einem Standardmodul:
Public a() as Long
im Formular als Ereignisprozeduren für zwei Schaltflächen (ohne Errorhandling):
Private Sub btnReselect_Click()
Dim i As Long
For i = 0 To Me!lstListe1.ListCount
Me!lstListe1.Selected(i) = False
Next
For i = LBound(a) To UBound(a)
Me!lstListe1.Selected(a(i)) = True
Next
End Sub
Private Sub btnSave_Click()
Dim itm, i As Long
ReDim a(0)
For Each itm In Me!lstListe1.ItemsSelected
ReDim Preserve a(i)
a(i) = itm
i = i + 1
Next
End Sub
Hallo Franz,
Danke für den Code. :)
Dachte schon, das ich um das anlegen einer extra Tabelle - wo die Daten gespeichert werden - nicht drumherum komme.
Gruß Hubert
Hi,
nun, wenn du die Auswahl auch beim nächsten Start der DB noch sehen willst, wirst du sie tatsächlich in einer Tabelle speichern müssen.
Hallo MaggieMay,
nein, das will ich nicht. Zumindest bis jetzt nicht. ;)
Gruß
Jetzt hät ich doch noch eine Frage:
Wie kann ich ein Arrey auf "Null" prüfen?
Der Code von Franz läuft einwandfrei. Problem ist jetzt nur noch, dass wenn keine Auswahl im Listenfeld stattgefunden hat, und ich klicke den Button Private Sub btnReselect_Click()
Dim i As Long
For i = 0 To Me!lstListe1.ListCount
Me!lstListe1.Selected(i) = False
Next
For i = LBound(a) To UBound(a)
Me!lstListe1.Selected(a(i)) = True
Next
End Sub
dann bekomme ich eine Fehlermeldung.
"Error 9. Index auserhalb des Bereichs".
Die Variable a ist ja sozusagen leer (oder Null). Wie kann ich das jetzt abfangen? (Mal vom abfangen der Error-Nummer abgesehen)
Gruß Hubert
Hi,
was du dabei wohl bedenken solltest: ohne btnSave_Click gibt es keinen Array "a".
Mit der (nicht) vorhandenen Auswahl im Listenfeld hat das eher weniger zu tun.
Hallo MaggieMay,
Danke für den Hinweis. Ich seh schon, ich habe noch viel zu lernen. :D
Habe jetzt eine zusätzliche boolean-Variable eingebaut, wo ich gespeichert "ja" bzw. "Nein" abfragen kann.
Gruß
Hubert