Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Konvertierung AC2.0 in AC2003

Begonnen von bambi1408, Oktober 22, 2016, 14:40:09

⏪ vorheriges - nächstes ⏩

bambi1408

Hallo Liebe Comunity
Ich muss eine Datenbank aus AC2.0 nach AC2003 konvetieren.
Nachdem ich dies getan habe, bringt er mir folgenden Fehler:

Fehler beim Kompilieren: Benutzerdefinierter Typ nicht definiert.
Markieren tut er mir folgende Zeile: Private Function GetMDBName2(gfni As GetFileNameInfo, ByVal fopen _
      As Integer) As Long

Kann mir vielleicht jemand weiterhelfen, wo da der Fehler liegt? Bin leider keine Spezialistin auf ACCESS.

Vielen Dank schon mal.

Gruss Nicole

crystal

Hallo Nicole,

prinzipiell ist es so, dass Access mit sog. Verweisen funktional erweitert werden kann. Wenn du z.B. einen HTML-Browser brauchst, kannst du eine externe "Funktionen-Sammlung" in Access "bekannt machen", die entsprechende Funktionen zur Verfügung stellt: Access nennt das "Verweis". Es gibt verschiedene Arten solcher Verweise, oft sind es DLLs.

Wenn du nun von Ac2.0 nach Ac2003 migrieren möchtest, so müssen in Ac2003 auch die entsprechenden Verweise gesetzt sein. Schau also zunächt nach, welche Verweise in Ac2.0 gesetzt sind. Geht glaube ich auch schon bei Ac2.0 im VBA-Editor unter Extras->Verweise.
Es geht hier um Verweise, die ein Häkchen für "aktiv" haben. Schau dir die Namen der betr. Verweise an und suche passende Namen in der Verweis-Liste unter Ac2003. Hier gibt es vielleicht neuere Versionen, die aber in der Regel abwärts-kompatibel sind (also Version 3 kann auch mit Code umgehen, der für Version 1 geschrieben wurde).

In deinem Beispiel tippe ich auf die Scripting-Library. Angemeckert wird der Datentyp "GetFileNameInfo". Du brauchst also einen Verweis auf eine Library, in der "GetFileNameInfo" definiert ist.

Der Fehler ist wahrscheinlich nur der erste von vielen, die noch folgen werden. Access bricht die Kompilierung nämlich beim ersten Fehler ab und es geht erst dann weiter, wenn man diesen Fehler beseitigt hat.

Wenn in Ac2.0 ein Verweis auf das aktuelle Verzeichnis deutet, ist die Library (meist DLL oder TLB) im gleichen Verzeichnis gespeichert wie die MDB selbst. Dann kopiere diese Libraries in das Verzeichnis deiner Ac2003-Datenbank und setze die Verweise entsprechend.

Dies ist - leider - nur eine grobe Beschreibung der Maßnahmen, die du ergreifen müsstest. Möglicherweise gibt es noch mehr zu tun (z.B. ActiveX-Steuerelemente anpassen). Leider kann ich Ac2.0 bei mir nicht mehr starten, ist einfach schon zu lange her.

Viel Glück jedenfalls bei deinem Vorhaben und ich hoffe, dass ich dir jedenfalls etwas helfen konnte.

Gruss

crystal
Wer Fehler in meinen Antworten findet, darf sie behalten, muss sie aber kommentieren. ;-)
Dies ist keineswegs arrogant gemeint, sondern soll nur unterstreichen, dass meine Antworten - natürlich - nicht immer fehlerfrei sind und sein können.
Devise: bitte immer erst selbst probieren!

Aus gesundheitlichen Gründen nur noch selten dabei...

bambi1408

Hallo  Crystal

Vielen Dank für deine Antwort. Ich werde mal mein Glück versuchen :-)

bambi1408

Hallo Crystal

Jetzt habe ich lange gesucht und bin dann im Internet auf einen Artikel gestossen. Laut diesem, gab es in ACC2.0 noch gar keine Verweise :-(
Wenn ich versuche, das Modul in ACC2.0 zu öffnen, kommt da nur eine kleine Seite, w vielleicht 2 Sätze drin stehen, aber kein Code. Öffne ich das konvertierte Modul....kommen mehrere Seiten VBA.

Komm ich an den Code irgendwie anders ran? Im VBA-Editor kann ich das jedenfalls nicht öffnen.

Gruss Nicole

bambi1408

Beim Vegleich mit einer anderen konvertierten Datenbank, passen die Verweise aber.

Lachtaube

Bei GetFileNameInfo scheint es sich eher um einen benutzerdefinierten Typ zu handeln, der in einer entsprechenden Type-Deklaration vorliegen sollte. Zeige uns bitte einmal den kompletten Code der Funktion - oder besser noch des gesamten Moduls (Text gezippt als Anhang hier hochladen).
Grüße von der (⌒▽⌒)

crystal

Hallo Nicole,

Ich fand folgenden Artikel:

https://support.office.com/de-de/article/Importieren-einer-Access-2-0-Datenbank-in-eine-Access-2007-Datei-2e9d8851-101d-4407-a881-65d06bb12aa7

Darin ist auch beschrieben, wie man bei Acc2003 vorgeht: ein Tool von Microsoft laden. Leider fehlt ein Link und bei Microsoft habe ich das Tool nicht gefunden. Aber bei cnet:

http://de.download.cnet.com/Access-2-0-Converter-for-Access-2003/3000-2070_4-10743423.html

Probier's mal damit. Vielleicht klappt's. (Tool natürlich vorher auf Viren prüfen.)

Viel Erfolg!

crystal
Wer Fehler in meinen Antworten findet, darf sie behalten, muss sie aber kommentieren. ;-)
Dies ist keineswegs arrogant gemeint, sondern soll nur unterstreichen, dass meine Antworten - natürlich - nicht immer fehlerfrei sind und sein können.
Devise: bitte immer erst selbst probieren!

Aus gesundheitlichen Gründen nur noch selten dabei...

MaggieMay

Hallo,

möglicherweise kann auch der folgende Link hier weiterhelfen:
"Wiedereinbindung NWIND" aus VORLAGEN.MDB anpassen (2.0)

Dort ist u.a. die fehlende Type-Deklaration enthalten.

Freundliche Grüße
MaggieMay

bambi1408

Hallo

Vielen Dank euch allen für eure Antworten. Ich habe das Problem zwischenzeitlich gelöst.

Gruss Nicole

crystal

Hallo Nicole,

schön, dass du das Problem lösen konntest.
Kannst du uns auch verraten, wie (und die Frage auf "erledigt" setzen)?
Das wäre nett.

Gruß,

crystal
Wer Fehler in meinen Antworten findet, darf sie behalten, muss sie aber kommentieren. ;-)
Dies ist keineswegs arrogant gemeint, sondern soll nur unterstreichen, dass meine Antworten - natürlich - nicht immer fehlerfrei sind und sein können.
Devise: bitte immer erst selbst probieren!

Aus gesundheitlichen Gründen nur noch selten dabei...