Guten Tag,
bei uns werden nach und nach die Office Vesionen von 2003 auf 2010 umgestellt. Heute gab es bei einer Access 2010-Version die Meldung, dass =currentdb() nicht verfügbar sei. Ich habe in der autoexec den Datenbanknamen und Speicherort abgefragt, um im Falle einer falschen Verwendung eine Meldung auszugeben.
Steht dieser Befehl in A.2010 nicht mehr zur Verfügung oder ist das eine Sache der Verweise?
Gruss
Jens
Hallo,
vermutlich ist es eine Sache der Einstellungen bzgl. vertrauenswürdige Speicherorte und Makros zulassen, bzw. VBA-Projekt vertrauen.
Hallo!
Ich sah gerade unter Access 2010 (SP1) nach.
CurrentDb() steht als eingebauter Ausdruck für ein Makro nicht zur Verfügung.
Eine Umweglösung wäre die Database-Referenz über eine VBA-Funktion für das Makro verfügbar zu machen.
Anm.: etwas eigenartig finde ich, dass CurrentDb ohne den Aufruf der Name-Methode den Datenbanknamen unter Access 2003 lieferte, da Name nicht die Standardeigenschaft von DAO.Database ist.
mfg
Josef
OK, danke für die Info. Dann muss ich diese Funktion erstmal deaktivieren. Wie heisst diese Funktion denn in A.2010?
Hallo,
@Jens: WO und WIE verwendest Du diesen Ausdruck ?
Die "Funktion" musst Du selber schreiben:
In einem Standard-Modul:
Public Function fktCurFileName()
fktCurFileName = Currentdb().Name
End Function
und Aufruf:
=fktCurFileName() ' Wo auch immer
@Josef : Unter A2003 liefert =Currentdb() nicht den Namen.....
Zitat von: DF6GL am Mai 31, 2012, 18:20:01
@Jens: WO und WIE verwendest Du diesen Ausdruck ?
... in der autoexec, um einen Abgleich zu machen, ob der User die richtige Datenbank verwendet oder eine, die durch selbständiges Basteln oder Kopieren "angezapft" wurde. Zudem als Infozeile im Kopf des Hauptformulars.
Ich habe den Code erstellt und jetzt erfolgreich eingesetzt.
Danke.
Gruss
Jens