次の方法で共有


.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 の最後のバージョンは、Visual Studio 2019 でした。

プロジェクトを 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」と入力して、 [データソース] ウィンドウを選択します。 [表示] メニューで、 [その他のウィンドウ]>[データ ソース] の順に選択します。 または、キーボードで Shift+Alt+D キーを押します。

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

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

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

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

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

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

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

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

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

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

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

  7. [データ ソース][Microsoft Access データベース ファイル] に設定されていない場合は、 [変更] ボタンを選択します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

接続文字列は、app.config ファイルと、ソリューション エクスプローラーの [プロパティ] にある Settings.settings ファイルに保存されます。

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

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

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

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

    [表示]、[その他のウィンドウ]、[データ ソース]

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

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

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

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

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

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

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

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

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

  7. [データ ソース][Microsoft Access データベース ファイル] に設定されていない場合は、 [変更] ボタンを選択します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  2. [表示] メニューで、 [その他のウィンドウ]>[データ ソース] の順に選択します。

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

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

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

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

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

  7. データ ソースが [Microsoft Access データベース ファイル (OLE DB)] でない場合は、 [変更] を選択して [データ ソースの変更] ダイアログ ボックスを開き、 [Microsoft Access データベース ファイル] を選択して、 [OK] を選択します。

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

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

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

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

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

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

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

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

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

おめでとうございます! Visual Studio のサポートを活用することで、Access データ テーブルのフォーム ベースの編集エクスペリエンスを作成しました。

次のステップ

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