none
Prüfen in If-Schlaufe auf mehrere Werte

    Frage

  • Hallo zusammen

    Ich weiss, ist eigentlich eine peinliche Frage:

    Wie kann ich in einer IF-Schlaufe auf mehrere Werte prüfen?

    Bisher mache ich immer:

    If (a=b) or (a=c) or (a=d) then
    ...
    End if
    

    Geht das auch einfacher?

    Danke für Eure Antwort.

    Gruss
    Thomas


    Danke und Gruss Thomas
    Dienstag, 11. Januar 2011 10:38

Antworten

  • hi,

    Beim IF spricht man von einer bedingten Anweisung, nicht von einer Schlaufe oder gar Schleife. Siehe:

    http://de.wikipedia.org/wiki/Bedingte_Anweisung_und_Verzweigung

    Nicht wirklich. Du kannst es zerlegen, was unter Umständen Sinn macht, wenn du ordentliche Benennungen verwendest:

    Dim Condition1 As Boolean
    Dim Condition2 As Boolean
    Dim Condition3 As Boolean
    
    Condition1 = (a=b)
    Condition2 = (a=c)
    Condition3 = (a=d)
    If Condition1 Or _
       Condition2 Or _
       Condition3 then
    ...
    End if

    Die Verwendung von Line Continuations macht es manchmal auch lesbarer.

    Die einzige echte Alternative ist ein SELECT:

    Select Case a
      Case Is b, c, d
        ...
    End Select

    http://msdn.microsoft.com/de-de/library/cy37t14y(v=vs.80).aspx

    Ist aber auch nicht "schöner".


    Microsoft MVP Office Access
    https://mvp.support.microsoft.com/profile/Stefan.Hoffmann
    • Als Antwort markiert Alphawolfi Dienstag, 11. Januar 2011 12:36
    Dienstag, 11. Januar 2011 11:22
    Moderator

Alle Antworten

  • hi,

    Beim IF spricht man von einer bedingten Anweisung, nicht von einer Schlaufe oder gar Schleife. Siehe:

    http://de.wikipedia.org/wiki/Bedingte_Anweisung_und_Verzweigung

    Nicht wirklich. Du kannst es zerlegen, was unter Umständen Sinn macht, wenn du ordentliche Benennungen verwendest:

    Dim Condition1 As Boolean
    Dim Condition2 As Boolean
    Dim Condition3 As Boolean
    
    Condition1 = (a=b)
    Condition2 = (a=c)
    Condition3 = (a=d)
    If Condition1 Or _
       Condition2 Or _
       Condition3 then
    ...
    End if

    Die Verwendung von Line Continuations macht es manchmal auch lesbarer.

    Die einzige echte Alternative ist ein SELECT:

    Select Case a
      Case Is b, c, d
        ...
    End Select

    http://msdn.microsoft.com/de-de/library/cy37t14y(v=vs.80).aspx

    Ist aber auch nicht "schöner".


    Microsoft MVP Office Access
    https://mvp.support.microsoft.com/profile/Stefan.Hoffmann
    • Als Antwort markiert Alphawolfi Dienstag, 11. Januar 2011 12:36
    Dienstag, 11. Januar 2011 11:22
    Moderator
  • Hallo Stefan

    Danke für Deine Antwort.

    Gruss

    Thomas


    Danke und Gruss Thomas
    Dienstag, 11. Januar 2011 12:38
  • Hallo Apphawolfi
     
    Eine IMO übersichtlichere Alternative ist:
     
    Select Case a
      Case b, c, d
        ...
    End Select
     
    Gruss
    Henry

    Hallo zusammen

    Ich weiss, ist eigentlich eine peinliche Frage:

    Wie kann ich in einer IF-Schlaufe auf mehrere Werte prüfen?

    Bisher mache ich immer:

    If (a=b) or (a=c) or (a=d) then
    ...
    End if
    

    Geht das auch einfacher?

    Danke für Eure Antwort.

    Gruss
    Thomas


    Danke und Gruss Thomas
    Mittwoch, 12. Januar 2011 11:46