Fledbezeichner durch Variable ersetzen

Hallo,

ich stehe gerade vor einem wohl eher grundsätzlichen Problem, schaffe aber dennoch die Lösung nicht allein und bitte freundlichst um Hilfe.

Ich habe folgenden Code in meinem Access-VBA-Modul:

Do Until rsTablenames.EOF

If rsTablenames![Angabe] = „HD“ Then

'… to do …

End If

rsTablenames.MoveNext

Loop

Funktioniert auch wunderbar.
Nun habe ich aber darüber hinaus, weil ich es in mehreren Funktionen brauche, global folgendes deklariert:

Const sFieldname = „Angabe“

Wie kann ich nun in meiner If-Abfrage das [Angabe] durch den Variablenbezeichner „sFieldname“ ersetzen? Überall anders, wo ich es gebraucht habe (z.B. SQL-Abfragen) habe ich es geschafft. Hier nicht.

rsTablenames!sFieldname funktioniert auf jeden Fall nicht.

Danke für Eure Unterstützung.

Hallo!

If rsTablenames![Angabe] = „HD“ Then

Ich habe zwar keine Ahnung, was für ein Objekt dieses rsTablenames ist. Aber was ich auf die Schnelle in Google gefunden habe, ist rsTableName(„TABLE_NAME“).

Probiere also ob das funktioniert:

If rsTablenames(sFieldname) = "HD" Then

mfg
christoph

Sorry,klar rsTablenames ist natürlich gesetzt als

Set rsTablenames = DB.OpenRecordset(sTable, dbOpenDynaset)

„sTable“ ist dabei ein Tabellenname.

Danke auch für Deinen Tipp, funktioniert. Ich habe mich wohl zu sehr an dem Punkt geklammert, und da hat jede getestete Option nicht geklappt, an einen Klammerausdruck habe ich überhaupt nicht gedacht.

Danke nochmal.