Sterbende Konstante
Marzer
Gesendet: 04.03.16 10:56
Betreff: Sterbende Konstante


Veteran

Beiträge: 101
100
Kennt jemand auch folgende Erscheinung in Access beobachtet(2012 und auch in älteren Versionen)?
Ich definiere in einer Prozedur (sub, function) eine Konstante und referenziere nachher diese Konstante im VBA-Code.
Das klappt einwandfrei. Während Monaten. Plötzlich lässt sich das nicht mehr kompilieren: die verwendete Konstante sei unbekannt. Es nützt nichts, die Konstante umzubenennen. Ich muss eine neue Konstante definieren und diese im Code referenzieren. Dann klappt wieder alles. Ein paar Wochen später kann ich die Umbenennung meistens rückgängig machen; dann reklamiert der Compiler nicht mehr. Das Verhalten ist erratisch.
Compress/Repair nützt übrigens so wenig wie /Decompile.

Beispiel:

dim rs as dao.recordset
const c_strTablename as string="tblCustomer"
set rs = CurrentDb().openrecordset(c_strTablename, dbopendynaset, dbseechanges)
...

Die Konstante "c_strTablename" ist in diesem Fall eine Kandidatin für das beobachtete Phänomen.
Abhilfe schafft dann Folgendes:

dim rs as dao.recordset
'const c_strTablename as string="tblCustomer" (auskommentiert)
const aaa as string="tblCustomer"
'set rs = CurrentDb().openrecordset(c_strTablename, dbopendynaset, dbseechanges) (auskommentiert)
set rs = CurrentDb().openrecordset(aaa,dbopendynaset, dbseechanges)
Top of the page Bottom of the page