PDA

Vollständige Version anzeigen : A97-SR2/NT 4.0--Netz: Verweise, DAO. Welche?


marmic55
21.06.2001, 14:02
Hallo Allesamt,
ich habe vor knapp 2 Jahren eine Personal-DB geschrieben, die seit 6 Monaten einwandfrei läuft (kleine Bugs wie üblich).

Diese DB wird als Runtime ausgeliefert (ODE-SetUp).
Heute wurden neuere Versionen aufgespielt, die nicht ablauffähig sind.
Fehler tauchen bei den einfachsten Sachen auf: Das Schlüsselwort >> CurrentUser <<,
>> Date() << oder auch Stringvariablen (Left, Mid pp.) werden nicht mehr erkannt.

Verweise:
V-Basic f. Aplicationen -- MS Access 8.0 Obj. Lib. -- MS Office 8.0 Obj. Lib UND neben anderen noch
>> MS DAO 2.5/3.5 Compatibility Libr. (DAO 253) >>.
So wäre es jetzt praktisch nicht mehr möglich, auf dem PC 1 eine DB zu erstellen und diese so auf den PC 2 zu kopieren. Es ginge komischerweise, wenn man eine leere DB erstellt und die Objekte der kopierten DB importiert.
Dann läuft es meistens wieder (????).

Nun habe ich auf die DAO 3.51 (Datei VBA 332) verwiesen; das Problem ist offenbar behoben.
Bei weiteren Recherchen stellte ich fest, dass auf einigen Rechnern die >> DAO 350 << (Dateiname 350.dll (?) ) vorhanden ist.

Eine Suche in diesem Forum brachte mich nicht weiter. Was übersehe ich ???
Wie muss ich vorgehen, wenn ich -schlicht ausgedrückt- hier eine Datenbank erstelle und die ohne Runtime usw. einfach meinem Kumpel geben möchte, ohne dass einfachste Schlüsselworte nicht mehr erkannt werden ?

Es wäre schön, wenn Ihr mich mal 'aufklären' könntet.
Sagen kann ich Euch gleich, dass ich erst nach 19:00 Uhr hier wieder reinschauen kann.

Da ich z. Zt. sehr im Stress bin, schließe ich nicht aus, dass ich eigentl. von Anfang an die DAO 351 eingebunden hatte u. versehentl. den Verweis auf DAO 2.5/3.5 gelegt habe (habe mich vor ca. 2 Monaten von "OCX"-Steuerelementen verabschiedet).
Wie dem auch sei: Das Problem ist gedanklich für mich damit noch nicht gelöst.

Danke

Michael

Manuela Kulpa
21.06.2001, 16:39
<font face="Verdana" size="2">Hallo Michael!

Schau dich mal bei Karl Donaubauer um, dort speziell

<a href="http://www.donkarl.com/AccessFAQ.htm?/FAQ/FAQ7Bugs.htm" target="_blank">FAQ 7.1 - VERWEISE</a>

HTH
Manuela</font>

marmic55
21.06.2001, 18:46
Danke Manuela,

das war genau das Richtige. Ich lasse zwar vor Programmstart durch eine Holländische Funktion (= van Andern) die Verweise überprüfen. Das hat jedoch offenbar nicht geholfen.

Bis dann

Michael

marmic55
21.06.2001, 18:50
Danke Manuela,

das war genau das Richtige. Ich lasse zwar vor Programmstart durch eine Holländische Funktion (= van Andern) die Verweise überprüfen. Das hat jedoch offenbar nicht geholfen.


Bis dann

Michael

marmic55
22.06.2001, 17:40
Hallo Manuela und alle anderen,

ich habe mich heute einmal hinter das Thema Verweise geklemmt. Über
Don Karl bin ich zu
<a href="http://www.microsoft.com/IntlKB/Germany/Support/kb/D36/D36818.htm">Microsoft</a>
gelangt.
Dort befindet sich der Artikel: ACC97Fehler: Funktion steht nicht....

Eingesetzt habe ich das Code-Beispiel (Function CheckRefs() ).
Dieses zusammen mit dem benötigten Makro / Abfrage / Tabelle habe ich
erst einmal in einer leeren Datenbank untergebracht und den Verweis auf die
"DAO 2.5/3.5..." eingestellt.
In einer fertigen Personaldatenbank war der Verweis auf DAO 3.51 eingestellt.
Ich habe dann alle obigen Elemente von MS in die Personal-DB importiert.

Die Autoexec rief die Funktion "CheckRefs()" auf und zeigte keinen
Verweisfehler an.
Anschließend sollte per Aktionsabfrage der CurrentUser in eine Tabelle
gespeichert werden (CurrentDB.Execute Insert into ....CurrentUser As Ausdruck1...

Hier wurde der Fehler 3085 (Undefinierte Funktion 'CurrentUser' in Ausdruck)
angezeigt.
Das zeigte mir erst einmal folgendes:
Importiere ich aus einer Datenbank (mit Verweis DAO 3.51) Objekte aus einer
anderen Datenbank (mit Verweis "DAO 2.5/3.5), so kommt Access scheinbar
auch durcheinander.

Obige Aktionsabfrage habe ich dann in die Funktion von MS (CheckRefs() )
eingebaut und entsprechend fehlerbehandelt (per VBA wird auch hier ein
Verweis gelöscht und anschließend wieder eingesetzt).
Anschließend wird der Code kompiliert (klappt offenbar auch mit MDE-Datei).

Ein erneutes anschließendes Aufrufen des Autoexec-Makros erbrachte den selben Fehler.
Dieser ist erst beseitigt, wenn Access geschlossen und erneut geöffnet wird.

Also lasse ich die Personal-DB vollkommen schließen, wenn der Fehler aufgetaucht und
bereinigt wurde (Apllication quit....).

In der Abfrage von MS ("TestVerweise") habe ich als weiteren Ausdruck2 den CurrentUser
anzeigen lassen. Aber wie gesagt: Hier wurde komischerweise der Fehler 3075,
auf den sich Microsoft in seinem Artikel bezog, nicht erkannt.

Vielleicht ist dieser Hinweis auch für andere interessant; dann habe ich
nicht 4 Stunden umsonst an dem Thema gesessen.
Vielleicht stelle ich die Beispieldatenbank mal auf meiner HP heute oder
morgen in's Netz.

Den lieben Moderatoren verspreche ich hoch und heilig, nicht mehr 2 Mal zu
drücken.

Michael