Wert einer Variable zuweisen

04/11/2009 - 10:12 von Thomas Wolf | Report spam
Hallo NG

Ich benötige einige Variablen, welche sich nur durch eine Zahl
unterscheiden:

Dim str1
Dim str2
Dim str3

(Der Einfachheit halber keine Typdeklarationen). Jetzt möchte ich in einer
Prozedur die Variablen füllen. Ich habe es mit Eval versucht:

Sub test()
For x=1 to 3
Eval("str" & x)="str" & (x*10)
Next x
End Sub

Das ergibt mir aber den Fehler: "Microsoft Office Access can't find the Name
'str3' you entered in the Expression."

Mache ich etwas falsch? Wie kann ich mein Ziel erreichen (ausser mit einem
Select Case)?

Danke und Gruss
Thomas
 

Lesen sie die antworten

#1 Thomas Winkler
04/11/2009 - 10:25 | Warnen spam
Hallo,

Ich benötige einige Variablen, welche sich nur durch eine Zahl
unterscheiden:

Dim str1
Dim str2
Dim str3

(Der Einfachheit halber keine Typdeklarationen). Jetzt möchte ich in einer
Prozedur die Variablen füllen. Ich habe es mit Eval versucht:

Sub test()
For x=1 to 3
Eval("str" & x)="str" & (x*10)
Next x
End Sub



Variablennamen zur Laufzeit erzeugen geht so nicht. Dazu kommt, dass
Eval() eine *Funktion* ist. Funktionen geben Werte *zurück* und nehmen
keine auf. Außerdem sollte der Einsatz von Eval() grundsàtzlich
vermieden werden.

Du solltest mal in der OH nach Array, ParamArray, LBound, UBound u.à.
suchen. Damit làsst sich wohl das von Dir angestrebte erreichen.

HTH

Thomas

"Access? Damit arbeite ich nicht. Das ist doch nur ein abgespecktes Excel."

Ähnliche fragen