Problembeschreibung

Beim Öffnen einer mit Access 2000 erstellten Datenbank über MFC-DAO-Klassen in Visual C++ erhalten Sie die folgende Fehlermeldung:

Unbekanntes Datenbankformat.

Diese Meldung wird auch angezeigt, wenn Sie versuchen, ein neues MFC-DAO-Datenbank-SDI-oder MDI-Projekt unter Verwendung von MFC-AppWizard zu erstellen.

Ursache

Diese Fehlermeldung tritt auf, weil die MFC-DAO-Klassen, die mit Visual C++ 6,0 ausgeliefert werden, DAO 3,5 (dao350. dll) standardmäßig laden. DAO 3,5 verwendet Jet 3,5, das nur die Datenbanken des Jet 3,5-Formats (oder früher) öffnen kann. Access 2000 erstellt Datenbankdateien des Jet 4,0-Formats, die für Jet 3,5 nicht zu erkennen sind. Wenn Sie eine Access 2000-Datenbank mithilfe der MFC-DAO-Klassen erfolgreich öffnen möchten, müssen Sie DAO 3,6 (dao360. dll) verwenden. DAO 3,6 verwendet Jet 4,0, der jedes verfügbare Access-Datenbankformat öffnen kann.

Fehlerbehebung

Derzeit gibt es keine Problemumgehung für die Verwendung von AppWizard mit Access 2000-Datenquellen. Damit Ihre Anwendung Version 3,6 von DAO verwenden kann, müssen Sie die MFC-Version zur Laufzeit auf MFC, Version 6,01, aktualisieren. Dazu hängt davon ab, ob Sie die Anwendung erstellen, um die MFC-DLL zu verwenden oder mit den statischen Bibliotheken für MFC zu erstellen. Wenn Sie eine Verknüpfung mit der MFC-DLL herstellen, können Sie angeben, dass MFC DAO 3,6 verwenden soll, indem Sie die folgende Codezeile einfügen, bevor Sie eine Access 2000-Datenbank öffnen:

AfxGetModuleState()->m_dwVersion = 0x0601;

Fügen Sie diese Zeile in der CYourApp:: InitInstance ()-Funktion Ihres Programms ein. Wenn Sie mit den statischen MFC-Bibliotheken arbeiten, führen Sie die folgenden Schritte aus, um statische MFC-Builds für die Verwendung von DAO 3,6 zu erhalten:

  1. Ändern Sie die Datei "Daocore. cpp" im MFC-src-Verzeichnis. Sie erhalten den folgenden Kommentar:

    // Determine whether to use DAO 3.6, 3.5, or 3.0// Use DAO 3.0 if DLL build and not built with MFC 4.21 or later// Use DAO 3.6 if MFC 6.01 or later// otherwise, DAO 3.5

    Fügen Sie die folgenden Zeilen hinzu:

    #undef _MFC_VER#define _MFC_VER 0x0601
  2. Erstellen Sie die Bibliothek für die benötigte Variante neu. Wenn Sie beispielsweise die statische MFC-Bibliothek erstellen möchten, verwenden Sie den folgenden Befehl an der Eingabeaufforderung im Ordner MFC\SRC:

      nmake DEBUG=1for release:   nmake DEBUG=0for unicode builds:   nmake DEBUG=1  UNICODE=1   nmake DEBUG=0  UNICODE=1

Hinweis Sie müssen sicherstellen, dass sich die Compiler-Tools in Ihrem Pfad befinden. Wenn dies nicht der Fall ist, müssen Sie möglicherweise die Datei "vcvars32. bat" im Visual C++-Ordner "\bin" ausführen. Beachten Sie auch, dass Sie beim Erstellen dieser neuen Versionen der Bibliotheken über die vorhandenen Dateien im MFC\LIB-Ordner kopiert werden, damit Sie die alten Dateien zuerst speichern können.

Status

Es handelt sich hierbei um ein beabsichtigtes Verhalten.

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Microsoft Insider beitreten

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Übersetzungsqualität?
Was hat Ihre Erfahrung beeinflusst?

Vielen Dank für Ihr Feedback!

×