Freigeben über

Combobox-Rowsource definieren

Anonym
2013-03-29T14:37:54+00:00

Beim Einschränken der Auswahlliste einer Combobox in VBA mit dem Befehl

Me!ComboboxName.Rowsource = "SELECT ... "

tritt bei mir das Problem auf, dass gespeicherte Werte in anderen Zeilen des Listenformulars kurzzeitig aus der Anzeige verschwinden.

Im Beispiel habe ich eine Tabelle "Sportart" definiert mit Sportarten wie Fußball, Handball etc. und einem Primärschlüssel "SportartID". In einer weiteren Tabelle "Liga" sind verschiedene Ligen zu der Sportart gespeichert. Neben der LigaID als Primärschlüssel ist u.a. die Möglichkeit vorhanden zu einer Liga die übergeordnete "Aufstiegsliga" anzugeben. Dieses erfolgt durch eine Selbstreferenz auf die jeweilige LigaID.

In einem Formular werden jetzt die Sportarten und mit Hilfe eines Unterformulars die dazu gehörigen Ligen verwaltet. Das Feld für die Aufstiegsliga ist mit einem Nachschlager verknüpft, der die Namen der Ligen statt der LigaIDs zur Auswahl bereitstellt.

Soweit funktioniert alles!

Der Nachschlager des Kombinationsfeldes bietet in dieser Version alle Ligen zur Auswahl an, also auch den Aufstieg in dieselbe Liga und den Aufstieg in die Liga einer anderen Sportart, z.B. von einer Fußballliga in eine Handballliga. Dieses Auswahl ist unsinnig! Daher habe ich durch eine kleine VBA-Prozedur die Auswahl eingeschränkt.

Private Sub AufstiegID_Enter()

    Me!AufstiegID.RowSource = "SELECT LigaID, Liga FROM Liga WHERE SportartID = " & _

        Forms!Sportart!SportartID & " AND LigaID <> " & Nz(Me!LigaID, 0) & " ORDER BY Liga"

    Debug.Print Me!AufstiegID.RowSource

End Sub

Das funktioniert soweit, dass in der Auswahl nur Ligen mit derselben Sportart wie im Hauptformular angeboten werden und diejeweilige Liga selbst ausgeblendet wird. Das Problem ist, dass der jeweilige SQL-Befehl auch in anderen Zeilen des Unterformulars Wirkung zeigt und einzelne Werte wie von Geisterhand verschwinden und wieder auftauchen. Klickt man z.B. auf das Aufstiegsfeld der 1. Bundesliga verschwindet die Anzeige der 1. Bundesliga im Aufstiegsfeld der 2. Bundesliga. Klickt man nun auf das Aufstiegsfeld der 2. Bundesliga, dann wird der Wert wieder angezeigt, aber es verschwindet die Anzeige der 2. Bundesliga im Aufstiegsfeld der 3. Bundesliga usw.

Vielen Dank für einen Tipp.

Microsoft 365 und Office | Access | Für Zuhause | Windows

Gesperrte Frage. Diese Frage wurde aus der Microsoft-Support-Community migriert. Sie können darüber abstimmen, ob sie hilfreich ist, aber Sie können keine Kommentare oder Antworten hinzufügen oder der Frage folgen.

0 Kommentare Keine Kommentare

Antwort, die vom Frageautor angenommen wurde

Anonym
2013-03-29T15:08:16+00:00

Am 29.03.2013 schrieb Erwin Jan Gerd Albers:

Beim Einschränken der Auswahlliste einer Combobox in VBA mit dem Befehl

Me!ComboboxName.Rowsource = "SELECT ... "

tritt bei mir das Problem auf, dass gespeicherte Werte in anderen Zeilen des Listenformulars kurzzeitig aus der Anzeige verschwinden.

Frag doch am besten im Entwicklerforum von Access nach, dort bekommst
Du vermutlich schneller Antwort.
http://social.msdn.microsoft.com/Forums/de-DE/accessde/threads/ Poste
bitte hier den Link aus dem Entwicklerforum, Danke.

Servus
Winfried


Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
GPO's: http://www.gruppenrichtlinien.de
Community Forums NNTP Bridge: http://communitybridge.codeplex.com/
Reg2xml:  http://www.reg2xml.com - Registry Export File Converter

War diese Antwort hilfreich?

0 Kommentare Keine Kommentare

0 zusätzliche Antworten

Sortieren nach: Am hilfreichsten