findfirst Feldname durch Variable ersetzen

02/07/2014 - 12:11 von w.weitzel | Report spam
Hallo,
ich benötige FindFirst in mehreren Tabellen und möchte aus diesem Grund den Feldnamen durch eine Variable ersetzen.
Der Code sieht wie folgt aus:
Set rsdb = db.OpenRecordset(v_Tab, dbOpenDynaset)
rsdb.FindFirst v_Feld = " & v_Form1!ze_id_asp & " '"
If rsdb.NoMatch Then
rsdb.AddNew
. . . (Ausführungscode)
rsdb.Update
else
. . . (Ausführungscode)
endif
In der Variablen v_Tab steht der jeweilige Tabellenname.
In der Variablen v_Feld steht der entsprechende Feldname der Tabelle, die durchsucht wird.
In der Variablen v_Form1!ze_id_asp steht eine Zahl die in der Tabelle gesucht wird.
Ich erhalte den Laufzeitfehler 3070.
"Das Microsoft Datenbankmodul erkennt 'Falsch' nicht als gültigen Feldnamen oder Ausdruck."

MfG
W.Weitzel
 

Lesen sie die antworten

#1 Karl Donaubauer
02/07/2014 - 14:13 | Warnen spam
Hallo!

Am 02.07.2014 12:11, schrieb w.weitzel:
...

rsdb.FindFirst v_Feld = " & v_Form1!ze_id_asp & " '"
...

In der Variablen v_Feld steht der entsprechende Feldname der Tabelle, die durchsucht wird.
In der Variablen v_Form1!ze_id_asp steht eine Zahl die in der Tabelle gesucht wird.
Ich erhalte den Laufzeitfehler 3070.
"Das Microsoft Datenbankmodul erkennt 'Falsch' nicht als gültigen Feldnamen oder Ausdruck."



Wenn ich richtig verstehe, müsste die FindFirst-Zeile so aussehen:

rsdb.FindFirst v_Feld & " = " & v_Form1!ze_id_asp

Bei Text statt Zahl:

rsdb.FindFirst v_Feld & " = '" & v_Form1!ze_id_asp & "'"

Ähnliche fragen