.NET Framework アプリケーションで Access データベースに接続する

DataSet クラスと関連クラスは、2000 年代初頭のレガシ .NET Framework テクノロジであり、アプリケーションがデータベースから切断されている間、アプリケーションがメモリ内のデータを操作できるようにします。 このテクノロジは、ユーザーがデータを変更し、変更をデータベースに保持できるアプリに特に役立ちます。 データセットは実証済みの成功したテクノロジですが、新しい.NET アプリケーションに推奨されるアプローチは、Entity Framework Coreを使用することです。 Entity Framework は、オブジェクト モデルとして表形式データを操作するより自然な方法を提供し、よりシンプルなプログラミング インターフェイスを備えています。

Visual Studioを使用して、Access データベース (.mdb ファイルまたは .accdb ファイル) に接続できます。 接続を定義すると、[データ ソース ウィンドウ] にデータが表示されます。 そこから、テーブルまたはビューをデザイン サーフェイスにドラッグできます。

Visual Studioを使用して Access データベースに接続する場合は、Visual Studio 2022 より前のバージョンのVisual Studioがすべて 32 ビット プロセスであることに注意してください。 つまり、Visual Studio 2019 以前の一部のデータ ツールは、32 ビット データ プロバイダーを使用してのみ Access データベースに接続できます。

Visual Studio 2022 を使用して Access データベースに接続する場合は、Visual Studio 2022 が 64 ビット プロセスになったことに注意してください。 つまり、Visual Studioの一部のデータ ツールは、32 ビット データ プロバイダーを使用して Access データベースに接続できません。

Access データベースに接続する 32 ビット アプリケーションを維持する必要がある場合でも、Visual Studio 2022 でアプリケーションをビルドして実行できます。 ただし、サーバー エクスプローラー、データ ソース ウィザード、DataSet デザイナーなどのVisual Studio データ ツールのいずれかを使用する必要がある場合は、まだ 32 ビット プロセスである以前のバージョンのVisual Studioを使用する必要があります。 32 ビット プロセスだったVisual Studioの最後のバージョンは、2019 年Visual Studioでした。

プロジェクトを 64 ビット プロセスに変換する場合は、Access Connectivity Engine (ACE) とも呼ばれる 64 ビット Microsoft Access データベース エンジンを使用することをお勧めします。 「OLE DB Provider for Jet および ODBC ドライバーは 32 ビット バージョンのみ」を参照してください。

[前提条件]

以下の手順を使用するには、次の要件を満たす必要があります。

  • Visual Studio
  • Windows フォームまたはWindows Presentation Foundation (WPF) プロジェクト
  • Access データベース (.accdb ファイル)、または Access 2000-2003 データベース (.mdb ファイル)。 ファイルの種類に対応する手順に従ってください。

.accdb ファイルのデータセットを作成する

次の手順を使用して、Microsoft 365、Access 2016、Access 2013、Access 2010、または Access 2007 で作成されたデータベースに接続します。

  1. Visual StudioでWindows フォームまたはWPFアプリケーション プロジェクトを開きます。

  2. [データ ソース] ウィンドウを開くには、Ctrl+Q キーを押し、検索ボックスに「data」と入力して、 [データソース] ウィンドウを選択します。 または、View メニューで、他のウィンドウ>データ ソース を選択します。 または、キーボードで Shift+Alt+D キーを押します。

    検索ボックスのデータ ソースのスクリーンショット。

    検索ボックスでの [データ ソース] のスクリーンショット

  3. [データ ソース] ウィンドウで、 [新しいデータ ソースの追加]をクリックします。

    データ ソース構成ウィザードが開きます。

    データ ソース構成ウィザードを示すスクリーンショット

  4. [データ ソースの種類の選択] ページで、 [データベース] を選択し、 [次へ] を選択します。

  5. [データベース モデルの選択] ページで、 [データセット] を選択し、 [次へ] を選択します。

    [データベース モデルの選択] ページのスクリーンショット

  6. [データ接続の選択] ページで、[新しい接続] を選択して新しいデータ接続を構成します。

    [データ接続の選択] ページのスクリーンショット

    [接続の追加] ダイアログ ボックスが表示されます。

    [接続の追加] ダイアログ ボックスのスクリーンショット

  7. Data sourceMicrosoft Access Database File に設定されていない場合は、Change ボタンを選択します。

    [データ ソースの変更] ダイアログ ボックスが開きます。 データ ソースの一覧で、Microsoft Access データベース ファイルを選択します。 OLE DB のオプション .NET Framework Data Providerは既に選択されています。 [OK]を選択して下さい。

    [データソースの選択] ダイアログ ボックスのスクリーンショット

  8. [データベース ファイル名] の横にある [参照]を選択し、.accdb ファイルに移動し、[開く]選択してください。

    Microsoft OfficeとVisual Studioのビット数 (32 ビットまたは 64 ビット) が一致しない場合は、Access データベースへの接続中にエラーが表示されます。 Visual Studio 2019 では、データベース プロバイダーが登録されていないというエラーが表示されます。 Visual Studio 2022 では、32 ビット データ プロバイダーに接続できないというエラーが表示されます。 このエラーを解決するには、32 ビット 版の Office を使用している場合は、2019 以前Visual Studio使用していることを確認します。64 ビット 版の Office の場合は、2022 以降Visual Studio必要です。

  9. ユーザー名とパスワードを入力し (必要な場合)、 [OK] を選択します。

  10. [データ接続の選択] ページで、 [次へ] を選択します。

    データ ファイルが現在のプロジェクトに含まれていないことを示すダイアログ ボックスが表示される場合があります。 [はい] または [いいえ] をクリックします。

  11. 次へアプリケーション構成ファイルに 接続文字列 を保存 ページで選択します。

    ページのスクリーンショット

  12. [データベース オブジェクトの選択] ページの [テーブル] ノードを展開します。

    [データベース オブジェクトの選択] ページのスクリーンショット。

    [データベース オブジェクトの選択] ページのスクリーンショット

  13. データセットに含めるテーブルまたはビューを選択し、 [完了] を選択します。

    プロジェクトにデータセットが追加され、テーブルとビューが [データ ソース] ウィンドウに表示されます。

    データベース オブジェクトが設定された [データ ソース] ウィンドウのスクリーンショット。

    データベース オブジェクトが設定された [データソース] ウィンドウのスクリーンショット

  14. 64 ビット Access データベース エンジンを持つ 64 ビット コンピューターでは、アプリケーションが 64 ビット アプリケーションとして実行されていることを確認する必要があります。 プロジェクトのプロパティを開きます (Alt+Enter キーを押すか、プロジェクト ノードを右クリックして、[プロパティ] を選択します)。 C# の Build タブ、または Visual Basic の Compile タブで、Prefer 32-bit チェックボックスをオフにします。

接続文字列は、ソリューション エクスプローラーの app.config および Settings.settings ファイルの Properties に格納されます。

.mdb ファイルのデータセットを作成する

次の手順を使用して、Access 2000 - 2003 で作成されたデータベースに接続します。

  1. Visual StudioでWindows フォームまたはWPFアプリケーション プロジェクトを開きます。

  2. View メニューの Other Windows>Data Sources を選択します。

  3. [データ ソース] ウィンドウで、 [新しいデータ ソースの追加]をクリックします。

    データ ソース構成ウィザードが開きます。

  4. [データ ソースの種類の選択] ページで、 [データベース] を選択し、 [次へ] を選択します。

  5. [データベース モデルの選択] ページで、 [データセット] を選択し、 [次へ] を選択します。

  6. [データ接続の選択] ページで、[新しい接続] を選択して新しいデータ接続を構成します。

  7. データ ソースが Microsoft Access データベース ファイル (OLE DB)Change を選択して Change データ ソース ダイアログ ボックスを開き、 Microsoft Access データベース ファイルを選択し、 OK を選択します。

  8. [データベース ファイル名] で、接続先の .mdb ファイルのパスと名前を指定し、[OK] を選択してください。

    Access データベース ファイルへの接続を追加

  9. [データ接続の選択] ページで、 [次へ] を選択します。

  10. アプリケーション構成ファイルに接続文字列を保存 ページで 次へ を選択します。

  11. [データベース オブジェクトの選択] ページの [テーブル] ノードを展開します。

  12. データセットに必要なテーブルまたはビューを選択し、 [完了] を選択します。

    プロジェクトにデータセットが追加され、テーブルとビューが [データ ソース] ウィンドウに表示されます。

生成されたコードを表示する

フォーム デザイナーで特定の操作を実行するときに多くのコードを自動的に生成するようにデータ ツールが構成されます。 たとえば、テーブルをフォームにドラッグ アンド ドロップすると、DataGridView が追加され、データをコントロールに接続するためのコードが作成されます。 このコードは、*.Designer.cs ファイルで確認できます。 生成されるコードは、Visual Studioのバージョンによって異なる場合があります。

おめでとうございます! Visual Studioの少しの助けを借りて、Access データ テーブルのフォームベースの編集エクスペリエンスを作成しました。

次のステップ

作成したデータセットは、[ データ ソース] ウィンドウで使用できます。 これで、以下のタスクをどれでも実行できます。