If Then mit variabler Abfrage

hondocrx

Erfahrenes Mitglied
Hallo!

Ich wollte eine If- Schleife so konstruieren das der Test per Variable übergeben wird.
Dis würde mir eine Menge Codezeilen ersparen.

Prinzipiell dachte ich mir dies so
Code:
i = 1
test = "i=1"
 
If test Then
  MsgBox test
End If

Lässt sich sowas realisieren? Und falls "ja" Then wie?

MfG
 
Nein, so ist das nicht möglich.
Versuch´s mal so:
Code:
Dim A As Long
Dim B As Long

A = 1
B = 1

If A = B Then
  MsgBox "A = B"
Else
  MsgBox "A <> B"
End If
 
Doch, das ist schon möglich!
Code:
Dim i As Integer
Dim test As Boolean
 
i = 1
test = (i = 1)
 
If test Then
MsgBox test
End If

Das ganze ist theoretisch auch ohne Variable "test" möglich:
Code:
Dim i As Integer
i = 1
 
If (i = 1) Then
  MsgBox (i = 1)
End If
 
Hallo hondocrx,

so gehts:

Code:
Dim i As Integer
Dim test As Boolean
i = 1
test = i = 1 ' Test wir True wenn i = 1
If test Then
  MsgBox test
Else
  MsgBox "war nix!"
End If

aber löst das wirklich Dein Problem? :confused:

Viel Erfolg
Walter Gutermann
 
@wincnc

Danke für den VErsuch aber leider haben wir uns Mißverstanden.

@Shakie

BESTENS!!

@WaGutSo

Auch gut.

Meine Vorgabe war nur Symbolisch um mein Problem zu verdeutlichen.

Mit Eurer Lösung kann ich die Bedingung mit einem String aus einer DB setzen und erspare mir so einige Zeilen Code. Dies sind bis jetzt locker mal 90 % für diese Abfrage und wird mit jedem Anbieter in der DB mehr


MfG hondocrx
 
Hallo hondocrx,

wenn es sich bei DB um eine Datenbank handelt ist evtl. eine sinnvolle Lösung mit einer SQL-Abfrage(n) zu machen.

Grüße
Walter Gutermann
 
@WaGutSo

DB wäre prinzipiell besser.
Es müssen aber auch Daten Beachtung finden die von einem anderen Programm erzeugt werden und in einer tempörären Datei liegen.
Da dieses Programm aber nicht von mir ist und ich etwas besser auf Änderungen in der Temp-Datei reagieren möchte will ich halt die Abfragen in die DB legen und nicht jedes mal ein neues Programm erzeugen.

MfG
 
Hallo,

für das was Du oben geschrieben hast kannst Du das Script Objekt nehmen und dann diee Evaluate (so heisst Sie glaube ich, oder AddCode) Eigenschaft den Code dynamisch als VBScript oder JScript auswerten. Oder Du baust Dir einen eigenen Parser ;)

Innerhalb der IDE kann man auch VB Code dynamisch ausführen. Leider klappt das mit dieser API wirklich nur innerhalb der IDE und nicht als EXE.

Gruß,

Stefan
 
Zurück