3.4k Aufrufe
Gefragt in Datenbanken von pydna Einsteiger_in (27 Punkte)
Hallo,

ich habe folgendes Problem:

Ich möchte via Dropdown-Menü einem Textfeld verschiede Zellen in einer Tabelle zuweisen.

Bsp: Ich wähle im Dropdown-Menü "Normalstunden" aus und das Textfeld1 hat nun den Bezug zur Zelle "Normalstunden" in der Tabelle "Arbeitszeit". Wähle ich "Wegestunden" aus, soll das Textfeld1 den Bezug auf die Zelle "Wegestunden" in der Tabelle "Arbeitszeit" haben etc...

Wie kann ich dies per VBA lösen?

Vorab danke für Eure Hilfe!

Greez
Steppl

2 Antworten

0 Punkte
Beantwortet von rahi Experte (1.5k Punkte)
Hallo Steppl,

ich habe zwei Combo-Felder in meinem Formular definiert. "Kombinationsfeld0" hat ein Herkunftstyo "Werteliste" mit der Datensatzherkunft "Normalstunden";"Wegestunden" verpasst bekommen. Das "Kombinationsfeld2" hat den Herkunftstyp "Tabelle/Abfrage". Bei Ereignis "Nach Aktualisierung" beim Feld "Kombinationsfeld0" habe ich folgenen Code eingetragen:
Private Sub Kombinationsfeld0_AfterUpdate()

Select Case Kombinationsfeld0
Case "Normalstunden"
Me!Kombinationsfeld2.RowSource = "SELECT Strasse from strTab1"

Case "Wegestunden"
Me!Kombinationsfeld2.RowSource = "SELECT Strasse from strTab2"
Case Else
Me!Kombinationsfeld2.RowSource = ""
End Select
Me!Kombinationsfeld2 = ""

End Sub
Je nachdem welchen Wert du im ersten Kombi-Feld auswählst, wir das entsprechende SELECT zugeordnet. Du muss eigentlich nur noch die Select-Statements entsprechend deiner Anwendung anpassen. Geht das in die richtige Richtung?

Gruß
Ralf
0 Punkte
Beantwortet von pydna Einsteiger_in (27 Punkte)
Hallo,

ich habe mein Problem wie folgt gelöst:

In meiner Tabelle "Arbeitszeit" habe ich zwei weitere Spalten
hinzugefügt. Erste Splate "Stundenart" als DropDown-Menü mit den
Werten "Normalstunden";"Wegestunden"; etc. und die zweite Spalte
"Dummystunden".

Im Formular habe ich diese zwei neuen Spalten eingefügt und nach
Aktualisierung des Feldes "Dummystunden" starte ich eine if-Abfrage,
die wie folgt aussieht:

if me.stundenart = "Normalstunden" then
me.normalstunden = me.dummystunden
elseif me.stundenart = "Wegestunden" then
me.wegestunden = me.dummystunden
end if

Funktioniert wie gewollt :-)
...