Ich habe ein Formular mit zwei Listenfelder, [Krankenstand] und [Arbeitsbereich]. Krankenstand gibt zum Beispiel (anwesend, mutterurlaub, arbeitsunfähig vor). Arbeitsbereich bezeichnet eine Abteilung.
Nun möchte ich, dass, wenn im Feld [Krankenstand] der Wert "arbeitsunfähig" ausgewählt wird, automatisch im Feld [Arbeitsbereich] der Standardwert 1 erscheint, der für "kein Bereich gewählt" steht.
Es soll auch anders herum so sein, dass wenn ich einen Arbeitsbereich wähle, dann automatisch im Feld Krankenstand der Wert "anwesend" erscheint.
Welche Vorgehensweise würdet Ihr wählen? Welche möglichst formularbasierte Lösung kann empfohlen werden? Gebt mir bitte mal einen Tipp für eine einfache Funktion.
Carl
Hallo Carl,
Womöglich helfen die diese Links weiter
http://www.donkarl.com?FAQ4.36 (http://www.donkarl.com?FAQ4.36)
http://www.donkarl.com?FAQ4.12 (http://www.donkarl.com?FAQ4.12)
gruss ekkehard
Danke, Ekkehard, aber das meinte ich nicht.
Wenn der User in dem Dropdownfeld [Krankenstand] den Wert "arbeitsunfähig" ausgewählt, soll automatisch im Dropdownfeld [Arbeitsbereich] der Standardwert 1 "kein Bereich" stehen. Damit der Datensatz in keinem Arbeitsbereich als verfügbar angezeigt wird.
Damit möchte ich verhindern, dass ein MA einerseits als krank, andererseits als in einem Bereich erwartet angezeigt wird.
Also ein konkreter Wert in einem Feld soll ein anderes Feld auf einen konkreten Wert setzen. Wenn es geht mit mehreren Fällen, z.B. 4 erzeugt 1; 3 erzeugt 2 usw..
Wie heißt denn die Funktion, die sowas kann?
Carl
Hallo,
ohne am Konzept herumzumeckern:
Sub Krankenstand_Afterupdate()
If Me!Krankenstand="arbeitsunfähig" then Me!Arbeitsbereich="Kein Bereich"
End Sub
Von der Beschreibung her sollten die Nach Aktualisierung Ereignisse beider Listenfelder für eine Umsetzung nach diesem Muster geeignet sein.Private Sub EinListenfeld_AfterUpdate()
With Me.EinAnderesListenfeld
Select Case Me.EinListenfeld.Value
Case 4: .Value = 1
Case 3: .Value = 2
'usw.
End Select
End With
End Sub
Wunderbar, ich habs hinbekommen.
Mal noch eine Frage, kann man die with's so hintereinander schachteln? Ich meine es funktioniert, aber ist es so auch korrekt?
Private Sub MoTP_AfterUpdate()
With Me.Kombinationsfeld163
Select Case Me.MoTP.Value
Case Is > 1: .Value = 1
'Case 3: .Value = 2
'usw.
End Select
End With
'hier gleich das nächste with für ein drittes Feld
With Me.Kombinationsfeld212
Select Case Me.MoTP.Value
Case Is > 1: .Value = 1
'Case 3: .Value = 2
'usw.
End Select
End With
End Sub
Hallo Carl,
Ist schon richtig so.
Ohne With kannst du aber beide Kombifelder pro Case aktualisieren
Select Case Me.MoTP.Value
Case Is > 1
Me.Kombinationsfeld163.Value = 1
Me.Kombinationsfeld212.Value = 1
Case 3
Me.Kombinationsfeld163.Value = 2
Me.Kombinationsfeld212.Value = 2
'usw.
End Select
Mit Case > 1 kommst du allerdings nie zu Case 3.
gruss ekkehard