Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

Symptom

När du öppnar en databas som skapats med Access 2000 via DAO MFC-klasser i Visual C++ kan få du följande felmeddelande:

Okänt databasformat.

Du kan också få detta meddelande när du försöker skapa en ny MFC DAO databas SDI eller MDI-projekt med hjälp av MFC AppWizard.

Orsak

Det här felmeddelandet beror på att MFC DAO klasser fartyget med Visual C++ 6.0 belastning DAO 3,5 (Dao350.dll) som standard. DAO 3,5 använder Jet 3.5, som bara kan öppna Jet 3.5-format (eller tidigare) databaser. Access 2000 skapar Jet 4.0-format databasfiler som är okända för Jet 3.5. Du har öppnat en Access 2000-databas med hjälp av MFC DAO klasser, måste du använda DAO 3.6 (Dao360.dll). DAO 3.6 använder Jet 4.0 som kan öppna alla tillgängliga Access-databasformat.

Lösning

Det finns för närvarande ingen lösning med AppWizard med Access 2000-datakällor.

För att programmet ska använda version 3.6 av DAO, måste du uppdatera versionen av MFC vid körning till MFC version 6.01. Beror på om du skapar programmet använda MFC DLL eller bygg med statiska bibliotek för MFC för att göra detta.

Om du länkar med MFC DLL kan du ange att du vill MFC att använda DAO 3.6 genom att infoga följande rad med kod innan du öppnar en Access 2000-databas:

AfxGetModuleState()->m_dwVersion = 0x0601;

Infoga den här raden i funktionen CYourApp::Initinstance() i programmet. Om du bygger med statiska MFC-biblioteken är följande steg för att få statiska build-versioner av MFC att använda DAO 3.6:

  1. Ändra filen Daocore.cpp i katalogen MFC SRC. Du får följande 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

    Lägg till följande rader:

    #undef _MFC_VER
    #define _MFC_VER 0x0601
  2. Återskapa biblioteket för den variant som du behöver. Till exempel om du vill skapa statiska MFC-biblioteket, felsökningsversion, använda icke-Unicode med inga webbläsarfiler följande kommando vid kommandotolken i mappen MFC\SRC:

      nmake DEBUG=1

    for release:
    nmake DEBUG=0

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

Obs! Du måste göra vissa som kompilatorn verktyg finns i sökvägen. Om inte, du kan behöva köra filen Vcvars32.bat i mappen \BIN Visual C++. Tänk också på att när du skapar dessa nya versioner av bibliotek, kommer de att kopieras över befintliga i mappen MFC\LIB så kanske du vill spara gamla först.

Status

Detta är avsiktligt.

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×