Lange IF-Bedingung vereinfachen

Hallo,

ich habe mehrere If-Bedingung der folgenden Art:

IF Nummer = 1 or Nummer = 3 or Nummer =26 … or Nummer =1202 Then …

Ich möchte diese IF- Bedingung gerne vereinfachen. Stehe aber auf dem Schlauch und finde auch in Büchern keine zündende Idee.

Meine Vorstellung wäre eine Vereinfachung in Form von

If Nummer IstElementvonListe (1,3,26,…,1202) Then

Gibt es so eine Funktion in Access-VBA?

Wenn nein, könnte ich solch eine Funktion selbst schreiben? Starten würde ich mit:

Function (Nummer as Long, Wert1 as Long, Wert2 as Long, Wert 3 as Long …) as Boolean.

Die If-Bedingung wäre dann ja wie folgt.

If IstElementvonListe(Nummer, Wert1, Wert2, Wert3,…) Then

Aber die Länge der Liste ändert sich. Wie könnte ich einer solchen Funktion eine nicht vorher definierte Anzahl von Argumenten übergeben?

Viele Grüße,

Oliver

Hallo,

ich habe mehrere If-Bedingung der folgenden Art:
IF Nummer = 1 or Nummer = 3 or Nummer =26 … or Nummer
=1202 Then …

warum auch immer (es erscheint mir unlogisch)

Schau dir mal die Funktion Choose an.

Choose-Funktion (Beispiel)
In diesem Beispiel wird die Choose-Funktion verwendet, um als Reaktion auf die Weitergabe eines Indexes an eine Prozedur im Ind-Parameter einen Namen anzuzeigen.

Function GetChoice(Ind As Integer)
GetChoice = Choose(Ind, „Hopfen“, „Malz“, „Hefe“)
End Function

Beispiel: Ind = 2 dann Getchoise = „Malz“ (also der zweite Wert)

in deinem Fall also eine For…Next Schleife basteln, die die Werte durchläuft.

Grüße aus Rostock
Wolfgang
(Netwolf)

Danke für die Hilfe - damit bin ich weitergekommen!