メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

現象

Visual C++ の MFC DAO クラスを通じて、Access 2000 で作成されたデータベースを開くときは、次のエラー メッセージを表示します。

データベースが認識できない形式です。

新しい MFC DAO データベース SDI または MDI プロジェクトが MFC AppWizard を使用して作成しようとするときもこのメッセージが表示されます。

原因

このエラー メッセージは、既定の MFC DAO クラスの Visual C++ 6.0 負荷 DAO 3.5 (Dao350.dll) 付属しているために発生します。DAO 3.5 を使用して、Jet 3.5 では、Jet 3.5 形式のみを開くことができます (またはそれ以前) のデータベースです。Access 2000 では、Jet 3.5 にわかりやすいものではないデータベース ファイルは、Jet 4.0 形式を作成します。MFC DAO クラスを使用して Access 2000 データベースを正常に開く、DAO 3.6 (Dao360.dll) を使用する必要があります。DAO 3.6 を使用して、Jet 4.0 では、任意の利用可能なアクセス データベース形式を開くことができます。

解決策

現在、AppWizard を使用して Access 2000 のデータ ソースを使用する回避策はありません。

DAO のバージョン 3.6 を使用するのには、アプリケーションの実行時に MFC のバージョン 6.01 に MFC のバージョンを更新する必要があります。これを行うには、MFC DLL を使用するか、MFC のスタティック ライブラリをビルドするのには、アプリケーションを作成するかどうかに依存します。

MFC DLL とリンクしている場合、MFC は DAO 3.6 を使用して、Access 2000 データベースを開く前に、次のコード行を挿入することによってすることを指定できます。

AfxGetModuleState()->m_dwVersion = 0x0601;

プログラムの CYourApp::Initinstance() 関数では、この行を挿入します。MFC のスタティック ライブラリをビルドする場合は、以下の MFC DAO 3.6 を使用するビルド時に静的なを取得する手順。

  1. MFC の SRC ディレクトリに Daocore.cpp ファイルを変更します。次のコメントが表示されます。

    // 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

    次の行を追加します。

    #undef _MFC_VER
    #define _MFC_VER 0x0601
  2. 必要なバリエーションのライブラリを再構築します。たとえば、スタティック MFC ライブラリ、デバッグ バージョンをビルドする unicode 対応でない、ブラウザー ファイルが存在しないコマンドを使用次 mfc \src フォルダーでコマンド プロンプトで。

      nmake DEBUG=1

    for release:
    nmake DEBUG=0

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

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×