Hallo
Ich habe mal ne kurze frage.
Ich habe möchte In Abhängigkeit eines Feldes ein anderes Feld aktivieren oder eben auch nicht.
Folgende Möglichkeiten habe ich ausprobiert:
* Wenn ich nur ein if im VBA-Code habe funktioniert es.
* Wenn ich die erste gesamte if-Anweisung (andere) ausklammer funktioniert die zweite (nicht klassifiziert).
* Wenn ich die zweite if-Anweisung (nicht klassifiziert)ausklammer funktioniert die erste (andere).
Hier nun mein Problem
* Wenn ich aber nun beide if-Schleifen drin habe, ignoriert er das erste if und führt nur das zweite aus.
Kann mir jemand sagen, wo mein Gedankenfehler ist?
Unten steht mein Code.
Private Sub txtsubgruppe_andere_AfterUpdate()
Me!txtsubtyp_andere.RowSource = "SELECT Subgruppe FROM dbo_tbl_Subgruppe_Subtyp WHERE Entitaet = '" & Me!txtsubgruppe_andere & "'"
txtsubtyp_andere.Visible = True
If Me!txtsubgruppe_andere = "andere" Then
Me!Subgruppe_andere_andere.Enabled = True
Me!txtsubtyp_andere.Enabled = False
Else
Me!Subgruppe_andere_andere.Enabled = False
Me!txtsubtyp_andere.Enabled = True
End If
If Me!txtsubgruppe_andere = "nicht klassifiziert" Then
Me!Subgruppe_andere_andere.Enabled = False
Me!txtsubtyp_andere.Enabled = False
Else
Me!Subgruppe_andere_andere.Enabled = False
Me!txtsubtyp_andere.Enabled = True
End If
End Sub
Vielen Dank für jede Hilfe.
LG Aisha
Hallo,
vielleicht ist dies gemeint:
Private Sub txtsubgruppe_andere_AfterUpdate()
Me!txtsubtyp_andere.RowSource = "SELECT Subgruppe FROM dbo_tbl_Subgruppe_Subtyp WHERE Entitaet = '" & Me!txtsubgruppe_andere & "'"
Select Case Me!txtsubgruppe_andere
Case "andere"
Me!Subgruppe_andere_andere.Enabled = True
Me!txtsubtyp_andere.Enabled = False
Case "nicht klassifiziert"
Me!Subgruppe_andere_andere.Enabled =False
Me!txtsubtyp_andere.Enabled = False
Case Else
Me!Subgruppe_andere_andere.Enabled = False
Me!txtsubtyp_andere.Enabled = True
End Select
End Sub
btw: es sollte der Tabellenaufbau (Normalisierung, Primärschlüssel ,etc.) überdacht werden.
Hallo
Vielen Dank. Ja so funktioniert das. Leider darf ich an den Tabellenstrukturen nicht verändern.
LG Aisha
Hallo aisha.
Zitat von: aisha am November 06, 2017, 13:11:15
* Wenn ich aber nun beide if-Schleifen drin habe, ignoriert er das erste if und führt nur das zweite aus.
Kann mir jemand sagen, wo mein Gedankenfehler ist?
Das erste IF wird nicht ignoriert sondern beide IFfs werden nacheinander abgearbeitet. Das zweite IF überschreibt allerdings das Ergebnis des ersten IF.
Um sowas zu verhindern gibt es neben "Select Case" noch "ElseIf".
If Me!txtsubgruppe_andere = "andere" Then
Me!Subgruppe_andere_andere.Enabled = True
Me!txtsubtyp_andere.Enabled = False
ElseIf Me!txtsubgruppe_andere = "nicht klassifiziert" Then
Me!Subgruppe_andere_andere.Enabled = False
Me!txtsubtyp_andere.Enabled = False
else
Me!Subgruppe_andere_andere.Enabled = False
Me!txtsubtyp_andere.Enabled = True
End If