collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 82
  • Punkt Versteckte: 2
  • Punkt Mitglieder: 3
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13953
  • stats Beiträge insgesamt: 66364
  • stats Themen insgesamt: 8942
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Abhängigkeit von Feldern  (Gelesen 637 mal)

Offline aisha

  • Access-User
  • *
  • Beiträge: 56
Abhängigkeit von Feldern
« am: November 06, 2017, 13:11:15 »
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
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23320
Re: Abhängigkeit von Feldern
« Antwort #1 am: November 06, 2017, 13:47:00 »
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.

Offline aisha

  • Access-User
  • *
  • Beiträge: 56
Re: Abhängigkeit von Feldern
« Antwort #2 am: November 06, 2017, 14:15:04 »
Hallo

Vielen Dank. Ja so funktioniert das. Leider darf ich an den Tabellenstrukturen nicht verändern.

LG Aisha
 

Offline Frithjiof

  • Access-User
  • *
  • Beiträge: 74
Re: Abhängigkeit von Feldern
« Antwort #3 am: November 07, 2017, 11:09:59 »
Hallo aisha.

* 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