SQL Server データベースのインポートまたは SQL Server データベースへのリンク

SQL Server データベースのインポートまたは SQL Server データベースへのリンク

注: 最新のヘルプ コンテンツをできるだけ早く、お客様がお使いの言語で提供したいと考えております。このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。私たちの目的は、このコンテンツがお客様の役に立つようにすることです。お客様にとって役立つ情報であったかどうかを、このページの下部でお知らせください。簡単に参照できるように、こちらに英語の記事があります。

ミッション クリティカルなアプリケーションに使用される高性能な管理データベースである SQL データベースにデータをリンクさせたり、SQL データベースからデータをインポートしたりすることができます。詳細については、「SQL Server 2016」を参照してください。

  • データにリンクする場合、Access は、Access と SQL データベースのデータに対する変更を同期する双方向接続を作成します。

  • データをインポートする場合、Access は 1 回限りのデータのコピーを作成するため、Access または SQL データベースのいずれかのデータに対する変更は同期されません。

Access と SQL Server の接続の概要

はじめに

円滑に進めるため、リンクまたはインポートする前に以下の準備を行います。

  • SQL Server データベースのサーバー名を見つけて、必要な接続情報を特定し、認証方法 (Windows または SQL Server) を選択します。認証方法の詳細については、「サーバーへの接続 (データベース エンジン)」および「SQL Database の保護」を参照してください。

  • リンクまたはインポートするテーブルまたはビュー、およびリンクされたテーブルの一意の値のフィールドを特定します。一度の操作で複数のテーブルまたはビューをリンクまたはインポートすることができます。

  • 各テーブルまたは各ビューの列数を考慮します。Access は 1 テーブルにつき 255 を超えるフィールドをサポートしていないため、Access は最初の 255 列のみをリンクまたはインポートします。この問題を回避するため、SQL Server データベースに、制限を超える列にアクセスするビューを作成することができます。

  • インポートするデータの総量を決定します。Access データベースの最大サイズは、2 GB からシステム オブジェクトに必要な領域を引いた大きさです。SQL Server データベースに大きなテーブルが含まれている場合、すべてを 1 つの Access データベースにインポートすることはできません。この場合、インポートする代わりにデータへリンクすることを検討してください。

  • 信頼できる場所と Access データベース パスワードを使用して、Access データベースとそれに含まれる接続情報を保護します。これは、Access に SQL Server のパスワードを保存する場合に特に重要です。

  • 追加のリレーションシップを作成することを計画します。Access では、インポート操作の最後に、関連するテーブル間のリレーションシップが自動的に作成されません。[リレーションシップ] ウィンドウを使用すると、新しいテーブルと既存のテーブル間のリレーションシップを手動で作成することができます。詳細については、「リレーションシップ ウィンドウとは」と「リレーションシップを作成、編集、または削除する」を参照してください。

ステージ 1:はじめに

  1. [外部データ]、[新しいデータ ソース]、[データベースから]、[SQL Server から] の順に選択します。

  2. [外部データの取り込み - ODBC データベース] ダイアログ ボックスで、次のいずれかの操作を行います。

    • データをインポートするには、[現在のデータベースの新しいテーブルにソース データをインポートする] を選択します。

    • データをリンクするには、[リンク テーブルを作成してソース データにリンクする] をクリックします。

  3. [OK] をクリックします。

ステージ 2:DSN ファイルを作成または再利用する

DSN ファイルを作成したり、既存の DSN ファイルを再利用したりできます。異なるリンクおよびインポート操作で同じ接続情報を使用する場合、または DNS ファイルを使用する異なるアプリケーションと共有する場合は、DNS ファイルを使用します。データ接続マネージャーを使用して直接 DSN ファイルを作成することができます。詳細については、「ODBC データ ソースを管理する」を参照してください。

以前のバージョンの SQL ODBC ドライバーは引き続き使用できますが、多数の改善が加えられていますので、新しい SQL Server 2016 の機能をサポートしているバージョン 13.1 を使用することをお勧めします。詳細については、「Windows 上の Microsoft ODBC Driver for SQL Server」を参照してください。

  1. 次のいずれかの操作を行います。

    • 使用する DSN ファイルが既に存在する場合は、リストから選びます。

      [データ ソースの選択] ダイアログ ボックス

      接続情報に入力した認証方法に応じて、再度パスワードを入力する必要がある場合があります。

    • 新しい DNS ファイルを作成するには:

      1. [新規作成] を選びます。

        [新しいデータ ソースの作成] ダイアログ ボックス
      2. [ODBC Driver 13 for SQL Server] を選択し、[次へ] を選択します。

      3. DSN ファイルの名前を入力するか、[参照] をクリックして別の場所にファイルを作成します。

  2. [次へ] をクリックし、サマリー情報を確認して、[完了] をクリックします。

ステージ 3:[SQL Server に接続するための新規データ ソースを作成する] を使用する

[SQL Server に接続するための新規データ ソースを作成する] ウィザードで、次の操作します。

  1. 1 ページ目で、識別情報を入力します。

    • 必要に応じて、[説明] ボックスに、DSN ファイルに関するドキュメント情報を入力します。

    • [サーバー] ボックスに、SQL Server データベースの名前を入力します。下矢印はクリックしないでください。

  2. 2 ページ目では、以下の認証方法のいずれかを選択します。

    • 統合 Windows 認証を使用する場合    Windows ユーザー アカウント経由で接続します。必要に応じて、サービス プリンシパル名 (SPN) を入力します。詳細については、「クライアント接続 (ODBC) におけるサービス プリンシパル名 (SPN)」を参照してください。

    • SQL Server 認証を使用する場合    [ログイン ID] と [パスワード] を入力して、データベースで設定した資格情報で接続します。

  3. 3 ページ目と 4 ページ目では、接続をカスタマイズするためのさまざまなオプションを選択します。これらのオプションの詳細については、「Microsoft ODBC Driver for SQL Server」を参照してください。

  4. 設定を確認する画面が表示されます。[データ ソースのテスト] を選択し、接続を確認します。

  5. データベースにログインする必要がある場合があります。[SQL Server ログイン] ダイアログ ボックスに、[ログイン ID] と [パスワード] を入力します。その他の設定を変更するには、[オプション] を選択します。

ステージ 4:リンクまたはインポートするテーブルを選択する

  1. [テーブルのリンク] または [オブジェクトのインポート] ダイアログ ボックスの [テーブル] で、リンクまたはインポートする各テーブルまたはビューを選択し、[OK] をクリックします。

    リンクまたはインポートするテーブルのリスト
  2. リンク操作で、[パスワードを保存] を選択するかどうかを決定します。

    セキュリティ    このオプションを選択すると、Access を開いてデータにアクセスするたびに資格情報を入力する必要がなくなります。しかし、これは暗号化されていないパスワードを Access データベースに保存します。これは、ソース コンテンツにアクセスできるユーザーがユーザー名とパスワードを表示できることを意味しています。このオプションを選択する場合、信頼できる場所に Access データベースを保存し、Access データベース パスワードを作成することを強くお勧めします。詳細については、「データベースを信頼するかどうか決定する」と「データベース パスワードを使用してデータベースを暗号化する」を参照してください。

ステージ 5:定義およびタスクを作成する (インポートのみ)

結果

リンクまたはインポート操作が完了すると、SQL Server テーブルまたはビューと同じ名前でテーブル名が所有者名と結合されて [ナビゲーション] ウィンドウに表示されます。たとえば、SQL 名を dbo.Product とすると、Access 名は dbo_Product となります。この名前が既に使用されている場合、Access は新しいテーブル名に "1" を追加します。たとえば、dbo_Product1 です。dbo_Product1 が既に使用されている場合は、dbo_Product2 というように作成します。テーブル名をわかりやすい名前に変更することもできます。

インポート操作では、Access はデータベースのテーブルを上書きすることはありません。SQL Server データを既存のテーブルに直接追加することはできませんが、同じようなテーブルからデータをインポートした後は追加クエリ作成してデータを追加することができます。

リンク操作では、SQL Server テーブルで列が読み取り専用の場合、Access でも読み取り専用になります。

ヒント    接続文字列を表示するには、Access のナビゲーション ウィンドウのテーブルの上にマウス ポインターを置きます。

リンクされたテーブルのデザインを更新する

リンクされたテーブルでは、列を追加、削除、または変更したり、データ型を変更したりすることができません。デザインを変更する場合は、SQL Server データベースで行います。Access でデザイン変更を確認するには、リンクされたテーブルを更新します。

  1. [外部データ]、[リンク テーブル マネージャー] の順に選択します。

  2. 更新するリンクされた各テーブルを選択し、[OK] を選択して、[閉じる] を選択します。

データ型を比較する

Access のデータ型は、SQL Server のデータ型とは異なる名前で呼ばれます。たとえば、bit データ型の SQL Server 列は、Yes/No データ型で Access にインポートまたはリンクされます。次の表では、SQL Server と Access のデータ型を比較します。

SQL Server のデータ型

Access のデータ型

Access のフィールド サイズ

bigint

大きい数値

大きい数値データ型を使用する」を参照してください。

binary (フィールド サイズ)

バイナリ

SQL Server フィールド サイズと同じ

bit

Yes/No

char (フィールド サイズ)、フィールドサイズが 255 以下

テキスト

SQL Server フィールド サイズと同じ

char (フィールド サイズ)、フィールドサイズが 255 より大きい

メモ

datetime

日付/時刻

decimal (精度、小数点以下桁数)

数値

Decimal (Access の Precision および Scale プロパティは SQL Server の precision と scale に一致します)

float

数値

Double

image

OLE オブジェクト型

int

数値

Long Integer

money

通貨

nchar (フィールド サイズ)、フィールドサイズが 255 以下

テキスト

SQL Server フィールド サイズと同じ

nchar (フィールド サイズ)、フィールドサイズが 255 より大きい

メモ

ntext

メモ

numeric (精度、小数点以下桁数)

数値

Decimal (Access の Precision および Scale プロパティは SQL Server の precision と scale に一致します)

nvarchar (フィールド サイズ)、フィールドサイズが 255 以下

テキスト

SQL Server フィールド サイズと同じ

nvarchar (フィールド サイズ)、フィールドサイズが 255 より大きい

メモ

nvarchar(MAX)

メモ

real

数値

Single

smalldatetime

日付/時刻

smallint

数値

Integer

smallmoney

通貨

sql_variant

テキスト

255

text

メモ

timestamp

バイナリ

8

tinyint

数値

Byte

uniqueidentifier

数値

レプリケーション ID

varbinary

バイナリ

SQL Server フィールド サイズと同じ

varbinary (MAX)

OLE オブジェクト型

varchar (フィールド サイズ)、フィールドサイズが 255 以下

テキスト

SQL Server フィールド サイズと同じ

varchar (フィールド サイズ)、フィールドサイズが 255 より大きい

メモ

varchar(MAX)

メモ

xml

メモ

SQL Server に格納されているデータを使用するには、SQL Server にリンクするか、データを Access データベースにインポートします。データを他のユーザーと共有している場合は、リンクを選択することをお勧めします。データを一元管理して、最新データを表示したり、データを追加、編集したり、Access でクエリやレポートを実行したりできるためです。

手順 1: リンクの準備をする

  1. リンクする SQL Server データベースを探します。必要であれば、接続情報についてデータベース管理者にお問い合わせください。

  2. SQL データベース内のデータにリンクするテーブルおよびビューを特定します。一度に複数のオブジェクトにリンクできます。

次の考慮事項に従って、ソース データを確認します。

  • 1 つのテーブルで Access がサポートできるフィールドの数は最大 255 (列) であるため、リンク テーブルに追加されるのは、リンク対象オブジェクトの最初の 255 個のフィールドだけです。

  • SQL Server テーブルの読み取り専用列は、Access でも読み取り専用として扱われます。

  1. リンク テーブルを新しいデータベース内に作成するには、[ファイル]、[新規作成]、[空のデスクトップ データベース] の順にクリックします。リンク テーブルを既存の Access データベース内に作成するときは、データをデータベースに追加するために必要な権限を持っていることをご確認ください。

    注:  既存の Access データベース内に作成されるリンク テーブルは、ソース オブジェクト内のテーブルと同じ名前になります。このため、同じ名前の別のテーブルが既に存在している場合、新しいリンク テーブル名は Contacats1 のように "1" が追加されます  (Contacts1 も既に使われている場合は、Contacts2 が作成されます。以下同様に作成されます)。

手順 2: データにリンクする

SQL Server データベース内のテーブルやビューにリンクすると、ソース テーブルの構造とコンテンツを反映する新しいテーブル (リンク テーブルと呼ばれる) が作成されます。データは、SQL Server、Access のデータシート ビューまたはフォーム ビューから変更でき、変更は SQL と Access の両方に反映されます。列の削除や変更といった構造上の変更をリンク テーブルに加えるには、Access からではなく SQL から加える必要があります。

  1. 目的の Access データベースを開きます。

  2. [外部データ] タブの [ODBC データベース] をクリックします。

  3. [リンク テーブルを作成してソース データにリンクする]、[OK] をクリックし、ウィザードで示される手順に従います。[データ ソースの選択] ボックスで、使用する .dsn ファイルが既に存在する場合は、一覧でそのファイルをクリックします。

    新しい .dsn ファイルを作成するには、次の手順を実行します。

    [データ ソースの選択] ボックスで、[新規作成]、[SQL Server]、[次へ] の順にクリックします。

    1. .dsn ファイルの名前を入力して、[参照] をクリックします。

      注: .dsn ファイルを保存するには、フォルダーへの書き込み権限が必要です。

    2. [次へ] をクリックし、サマリー情報を確認して、[完了] をクリックします。

      [SQL Server に接続するための新規データ ソースを作成する] ウィザードの手順に従います。

  4. [OK] をクリックし、[テーブル] でリンクする各テーブル、ビューをクリックして、[OK] をクリックします。

[一意なレコード識別子の選択] が表示されている場合、ソース データの各行を一意に識別するフィールドを Access で特定できなかったことを意味します。それぞれの行の一意のフィールドまたはフィールドの組み合わせを選んでください。わからない場合は、SQL Server データベースの管理者にご確認ください。

リンク操作が完了すると、新しいリンク テーブルがナビゲーション ウィンドウに表示されます。

最新の SQL Server オブジェクト構造を適用する

リンク テーブルまたはソース テーブルを開くと、最新のデータが表示されます。ただし、構造上の変更が SQL Server オブジェクトに加えられた場合、これらの変更を表示するためにはリンク テーブルを更新してください。

  1. ナビゲーション ウィンドウでテーブルを右クリックし、ショートカット メニューの [リンク テーブル マネージャー] をクリックします。

  2. 更新する各リンク テーブルの横にあるチェック ボックスをオンにするか、[すべて選択] をクリックしてすべてのリンク テーブルを選択します。

  3. [OK]、[閉じる] をクリックします。

注: Access のデータ型と SQL Server のデータ型は異なるため、それぞれの行で最も適切なデータ型にリンクされます。割り当てられたデータは Access で確認できますが、変更はできません。

詳細については、「Access デスクトップ データベースを共有する方法」を参照してください。

ページの先頭へ

データの保存に Microsoft SQL Server を使用している部署またはワークグループでは、SQL Server データの一部を Access で操作することが必要になる場合があります。

SQL Server オブジェクト (テーブルまたはビュー) からデータを Access に取り込むには、インポートとリンクの 2 つの方法があります。2 つのプロセスの違いは次のとおりです。

  • データをインポートすると、Access で SQL ​​Server データのコピーが作成されます。それ以降、Access データベースのそのデータに対して行った変更は、SQL Server データベースには反映されません。同様に、それ以降に SQL Server のテーブルまたはビューに対して行った変更は、Access テーブルには反映されません。

  • SQL Server データにリンクした場合、ソース データに直接接続されるので、それ以降に Access のデータに対して行った変更は SQL Server のデータにも反映され、逆に SQL Server のデータに対して行った変更は Access のデータにも反映されます。

この記事では、SQL Server データを Access にインポートする方法および SQL Server データにリンクする方法について説明します。

インポートまたはリンクのどちらにするかを決める

インポートが適している状況

通常は、次の理由により、SQL Server データを Access データベースにインポートします。

  • SQL Server データベース内のデータが不要になったために、SQL Server のデータを Access データベースに完全に移動する場合。Access にデータをインポートした後は、SQL Server データベースからそのデータを削除できます。

  • 所属する部署またはワークグループで Access​​ を使用しているが、ときどき補足データについて SQL Server データベースを参照しなければならず、それを Access​​ データベースに結合したい場合。

SQL Server データをインポートすると Access データベースにデータのコピーがインポートされるので、インポート プロセス時には、コピー元のテーブルまたはビューを指定します。

リンクが適している状況

通常は、次の理由により、SQL Server データにリンクします。

  • SQL Server データベースと Access データベースの両方で最新情報を表示および編集できるようにソース データに直接接続する場合。

  • SQL Server データベースに大きなテーブルが多数含まれていて、すべてを 1 つの .accdb ファイルにインポートすることができない場合。Access データベースの最大サイズは、2 GB からシステム オブジェクトに必要な領域を引いた大きさです。

  • データのコピーを作成することなく、クエリを実行し、SQL Server からのデータに基づいてレポートを生成したい場合、SQL Server へのリンクを検討。

  • 所属する部署またはワークグループで、レポート作成やクエリには Access​​ を使用し、データ ストレージとしては SQL ​​Server を使用する場合。個々のチームは、SQL Server テーブルおよびビューを一元的なストレージとして作成できますが、このデータを集計しレポートを作成するためにデスクトップ プログラムに取り込むことがしばしば必要になります。この場合はリンクを設定するのが適切な選択です。SQL Server サイトと Access​​ データベースの両方のユーザーがデータの追加や更新を行い、常に最新のデータで作業できるからです。

  • ごく最近 SQL ​​Server を使用し始めた Access​​ ユーザーの場合。いくつかのデータベースを SQL Server に移行し、移行したデータベース内のほとんどのテーブルがリンク テーブルになっています。それ以降は、Access​​ テーブルを作成するのではなく、SQL ​​Server 内にテーブルとビューを作成し、Access​​ データベースからそれらにリンクします。

  • データは引き続き SQL Server に保存するが、クエリを実行したり、Access​​ でデザインしたレポートを印刷したりするために、Access​​ でも最新のデータを使用したい場合。

ページの先頭へ

SQL Server からデータをインポートする

インポートの準備をする

インポート操作の実行中に、Access によってテーブルが作成され、SQL Server データベースからのデータがそのテーブルにコピーされます。インポート操作の最後に、インポート操作の詳細を定義として保存することを選択できます。

注: 詳細を保存しておくと、今後インポート操作を繰り返す場合に、インポート ウィザードの手順を毎回最初から実行する必要がなくなります。

  1. インポートするデータが含まれる SQL Server データベースを特定します。接続情報については、データベースの管理者にお問い合わせください。

  2. インポートするテーブルまたはビューを特定します。1 回のインポート操作で複数のオブジェクトをインポートすることができます。

  3. 次の点を考慮しながら、ソース データを確認します。

    • Access は 1 テーブルにつき 255 を超えるフィールドをサポートしていないため、Access は最初の 255 列のみをインポートします。

    • Access データベースの最大サイズは、2 GB からシステム オブジェクトに必要な領域を引いた大きさです。SQL Server データベースに大きなテーブルが多数含まれている場合、すべてを 1 つの Access データベースにインポートすることはできません。この場合は、インポートするのでなく、データを Access​​ データベースにリンクすることをお勧めします。

    • Access​ では、インポート操作の最後に関連するテーブル間のリレーションシップが自動的に生成されることはありません。[リレーションシップ] ウィンドウのオプションを使用して、新規テーブルと既存テーブル間でリレーションシップを手動で作成する必要があります。[リレーションシップ] タブを表示するには、次の手順を実行します。

      • [データベース ツール]、[リレーションシップ] の順にクリックします。

  4. SQL Server データのインポート先の Access データベースを特定します。

    Access データベースにデータを追加するのに必要な権限があることを確認します。既存データベースにデータを格納しない場合は、新規の空白のデータベースを作成してください。

  5. Access データベースにテーブルが存在する場合は、確認します。

    インポート操作では、SQL Server オブジェクト名と同じ名前のテーブルが作成されます。その名前が既に使用されている場合、Access​​ によって新しいテーブル名に "1" が追加され、Contacts1 のようになります (Contacts1 も既に使用中の場合、Access​​ によって Contacts2 が作成されます。以下同様に作成されます)。

    注: Access​​ では、インポート操作の一環としてデータベース内のテーブルが上書きされることはありません。また、既存のテーブルに SQL Server データを追加することはできません。

データをインポートする

  1. インポート先のデータベースを開きます。

    [外部データ] タブの [インポートとリンク] で、[ODBC ​​データベース] をクリックします。

  2. [現在のデータベースの新しいテーブルにソース データをインポートする] をクリックし、[OK] をクリックします。

  3. [データ ソースの選択] ダイアログ ボックスで、使用したい .dsn ファイルが既に存在する場合は、リスト内の該当するファイルをクリックします。

    新しい .dsn ファイルを作成する必要がある場合

    注: ここに示す手順は、自分のコンピューターにインストールされているソフトウェアによって少し異なる場合があります。

    1. [新規作成] をクリックして、新しいデータ ソース名 (DSN) を作成します。

      [新規データ ソースの作成] ウィザードが開始されます。

    2. このウィザードでは、ドライバーの一覧から [SQL Server] を選択し、[次へ] をクリックします。

    3. 別の場所にファイルを保存するには、.dsn ファイルの名前を入力するか、[参照] をクリックします。

      注: .dsn ファイルを保存するには、フォルダーへの書き込み権限が必要です。

    4. [次へ] をクリックし、サマリー情報を確認して、[完了] をクリックします。これでウィザードは終了します。

      [SQL Server に接続するための新規データ ソースを作成する] ダイアログ ボックスが表示されます。

    5. [説明] ボックスにデータ ソースの説明を入力します。この手順は省略できます。

    6. [接続する SQL Server サーバー名を入力してください。] の [サーバー] ボックスで、接続先の SQL Server の名前を入力または選択し、[次へ] をクリックして続行します。

    7. Microsoft Windows NT 認証または SQL Server 認証のいずれを使用するかなど、SQL Server データベース管理者から情報を取得することが必要な場合があります。[次へ] をクリックして続行します。

    8. 特定のデータベースに接続する場合は、[既定のデータベースを以下に変更する] チェック ボックスがオンになっていることを確認してください。作業するデータベースを選択し、[次へ] をクリックします。

    9. [完了] をクリックします。

    10. サマリー情報を確認して、[データ ソースのテスト] をクリックします。

    11. テストの結果を確認し、[OK] をクリックして、ダイアログ ボックスを閉じます。

      テストが成功している場合は、[OK] をもう一度クリックするか、[キャンセル] をクリックして設定を変更します。

  4. [OK] をクリックして、[データ ソースの選択] ダイアログ ボックスを閉じます。

    Access によって [オブジェクトのインポート] ダイアログ ボックスが表示されます。

  5. [テーブル] で、インポートするそれぞれのテーブルまたはビューをクリックし、[OK] をクリックします。

  6. [固有レコード識別子の選択] ダイアログ ボックスが表示されている場合は、特定のオブジェクトの各行を一意に識別するフィールドを Access で特定できなかったことを意味します。この場合は、それぞれの行の一意のフィールドまたはフィールドの組み合わせを選んで、[OK] をクリックします。わからない場合は、SQL Server データベースの管理者にご確認ください。

    Access によってデータがインポートされます。後でインポート操作を繰り返す場合は、インポート手順をインポート定義として保存することで、同じインポート手順を後で簡単に再実行できます。タスクを作成するには、Microsoft Office Outlook がコンピューターにインストールされている必要があります。

  7. [外部データの取り込み - ODBC データベース] ダイアログ ボックスの [インポート操作の保存] で [閉じる] をクリックします。Access はインポート操作を完了し、ナビゲーション ウィンドウに 1 つまたは複数の新しいテーブルを表示します。

インポートをタスクとして保存して再び使用できるようにする場合は、次のセクションに進みます。

ページの先頭へ

SQL Server データにリンクする

データはテーブルに保存されるので、SQL Server データベース内のテーブルまたはビューにリンクすると、Access ではソース オブジェクトの構造とコンテンツを反映した新しいテーブル (リンク テーブルと呼ばれることが多い) が作成されます。SQL Server 内でデータを変更することも、Access​​ のデータシート ビューまたはフォーム ビューでデータを変更することもできます。一方のデータに対して加えた変更は、他方のデータにも反映されます。ただし、列の削除や列の変更など、構造的な変更を実行する場合は、SQL Server データベースから行うか、またはそのデータベースに接続されている Access プロジェクトから行う必要があります。Access での作業中に、リンク テーブル内のフィールドの追加、削除、または変更を行うことはできません。

リンクの準備をする

  1. リンク先のデータが存在する SQL Server データベースを探します。接続情報については、データベース管理者にお問い合わせください。

  2. リンク先のテーブルまたはビューを特定します。1 回のリンク設定操作で複数のオブジェクトにリンクすることができます。

  3. 次の点を考慮しながら、ソース データを確認します。

    • 1 つのテーブルで Access がサポートできるフィールドの数は最大 255 (列) であるため、リンク テーブルに追加されるのは、リンク対象オブジェクトの最初の 255 個のフィールドのみです。

    • SQL Server オブジェクトで読み取り専用になっている列は、Access でも引き続き読み取り専用として扱われます。

    • Access ではリンク テーブルにある列の追加、削除、または変更を行うことはできません。

  4. リンク テーブルを作成する Access ​​データベースを指定します。データベースにデータを追加するのに必要な権限があることを確認します。既存のデータベースにデータを格納したくない場合は、新しい空白のデータベースを作成してください。そのためには、[ファイル] タブをクリックし、[新規作成] タブで、[空のデータベース] をクリックします。

  5. Access​​ データベース内のテーブルを調べます。SQL Server のテーブルまたはビューにリンクする場合、Access​​ ではソース オブジェクトと同じ名前のリンク テーブルが作成されます。その名前が既に使用されている場合は、新しいリンク テーブル名に "1" が追加され、Contacts1 のようになります (Contacts1 も使用されている場合は、Contacts2 が作成されます。以下同様に作成されます)。

  6. データにリンクするには、リンク先のデータベースを開きます。

  7. [外部データ] タブの [インポートとリンク] で、[ODBC ​​データベース] をクリックします。

  8. [リンク テーブルを作成してソース データにリンクする] をクリックし、[OK] をクリックします。

  9. [データ ソースの選択] ダイアログ ボックスで、使用する .dsn ファイルをクリックするか、または [新規作成] をクリックして新しいデータ ソース名 (DSN) を作成します。

  10. [データ ソースの選択] ダイアログ ボックスで、使用したい .dsn ファイルが既に存在する場合は、リスト内の該当するファイルをクリックします。

    新しい .dsn ファイルを作成する必要がある場合

    注: ここに示す手順は、自分のコンピューターにインストールされているソフトウェアによって少し異なる場合があります。

    1. [新規作成] をクリックして、新しいデータ ソース名 (DSN) を作成します。

      [新規データ ソースの作成] ウィザードが開始されます。

    2. このウィザードでは、ドライバーの一覧から [SQL Server] を選択し、[次へ] をクリックします。

    3. 別の場所にファイルを保存するには、.dsn ファイルの名前を入力するか、[参照] をクリックします。

      注: .dsn ファイルを保存するには、フォルダーへの書き込み権限が必要です。

    4. [次へ] をクリックし、サマリー情報を確認して、[完了] をクリックします。これで [新規データ ソースの作成] ウィザードは終了します。

      [SQL Server に接続するための新規データ ソースを作成する] が起動します。

    5. ウィザードの [説明] ボックスにデータ ソースの説明を入力します。この手順は省略可能です。

    6. [接続する SQL Server サーバー名を入力してください。] の [サーバー] ボックスで、接続先の SQL Server コンピューターの名前を入力または選択し、[次へ] をクリックして続行します。

    7. ウィザードのこのページでは、Windows NT 認証または SQL Server 認証のいずれを使用するかなど、SQL Server データベース管理者から情報を取得することが必要な場合があります。[次へ] をクリックして続行します。

    8. ウィザードの次のページでは、SQL Server データベース管理者から詳細情報を取得することが必要な場合があります。特定のデータベースに接続する場合は、[既定のデータベースを以下のものに変更する] チェック ボックスがオンになっていることを確認し、作業する SQL Server データベースを選択し、[次へ] をクリックします。

    9. [完了] をクリックします。サマリー情報を確認して、[データ ソースのテスト] をクリックします。

    10. テストの結果を確認し、[OK] をクリックして、[SQL Server ODBC データ ソース テスト] ダイアログ ボックスを閉じます。

      テストが成功した場合は、再び [OK] をクリックしてウィザードを完了させるか、または [キャンセル] をクリックしてウィザードに戻り、設定を変更します。

  11. [OK] をクリックします。

    Access​​ では [リンク テーブル] ダイアログ ボックスが表示されます。

  12. [テーブル] で、リンクする各テーブル、ビューをクリックして、[OK] をクリックします。

    1. [固有レコード識別子の選択] ダイアログ ボックスが表示されている場合は、ソース データの各行を一意に識別するフィールドを Access で特定できなかったことを意味します。この場合は、それぞれの行の一意のフィールドまたはフィールドの組み合わせを選んで、[OK] をクリックします。わからない場合は、SQL Server データベースの管理者にご確認ください。

Access はリンク操作を終了し、ナビゲーション ウィンドウに 1 つまたは複数の新しいリンク テーブルを表示します。

重要: リンク テーブルまたはソース オブジェクトのいずれかを開くたびに、最新のデータが表示されます。ただし、SQL Server オブジェクトに加えられた構造的な変更は、リンク テーブルに自動的には反映されません。

最新の SQL Server オブジェクト構造を適用して、リンク テーブルを更新する

  1. ナビゲーション ウィンドウでテーブルを右クリックし、ショートカット メニューの [リンク テーブル マネージャー] をクリックします。

  2. 更新する各リンク テーブルの横にあるチェック ボックスをオンにするか、[すべて選択] をクリックしてすべてのリンク テーブルを選択します。

  3. [OK] をクリックします。

    更新が正常終了した場合は、その結果に対するメッセージが表示されます。それ以外の場合は、エラー メッセージが表示されます。

  4. [閉じる] をクリックして、リンク テーブル マネージャーを閉じます。

ページの先頭へ

他に必要な情報はありますか?

ページの先頭へ

Access で SQL Server データ型を表示する方法

Access データ型は SQL Server データ型とは異なるため、Access​​ ではインポートまたはリンクする各 SQL Server テーブルまたはビューの列ごとに、使用するのに最適な Access​​ データ型を決定する必要があります。たとえば、bit データ型の SQL Server 列は、Yes/No データ型で Access にインポートまたはリンクされます。別の例として、nvarchar(255) (またはそれより小さい) データ型の SQL Server 列は、テキスト データ型でインポートまたはリンクされますが、nvarchar(256) (またはそれより大きい) は、Access​​ メモ型フィールドとしてインポートされます。インポート操作またはリンク操作の完了後は、デザイン ビューでテーブルを開き、Access​​ のフィールドに割り当てられているデータ型を確認できます。インポートされたテーブル内のフィールドのデータ型は変更することができます。ただし、リンク テーブル内のフィールドのデータ型を変更することはできません。例外として、SQL Server データベース自体で、またはそのデータベースに接続されている Access プロジェクトから、データ型を変更することはできます。

次の表に、メインの SQL Server データ型を一覧表示します。2 番目の列と 3 番目の列では、各データ型が Access​​ でどのように解釈されるかを示しています。

SQL Server のデータ型

Access のデータ型

Access のフィールド サイズ

bigint

テキスト

255

binary ( フィールド サイズ )

バイナリ

SQL Server フィールド サイズと同じ

bit

Yes/No

char ( フィールド サイズ )、フィールド サイズが 255 以下

テキスト

SQL Server フィールド サイズと同じ

char ( フィールド サイズ )、フィールド サイズが 255 より大きい

メモ

datetime

日付/時刻

decimal ( 精度 小数点以下桁数 )

数値

Decimal (Access の Precision および Scale プロパティは SQL Server の precision と scale に一致します)

float

数値

倍精度浮動小数点型

image

OLE オブジェクト

int

数値

長整数型

money

通貨

nchar ( フィールド サイズ )、フィールド サイズが 255 以下

テキスト

SQL Server フィールド サイズと同じ

nchar ( フィールド サイズ )、フィールド サイズが 255 より大きい

メモ

ntext

メモ

numeric ( 精度 小数点以下桁数 )

数値

Decimal (Access の Precision および Scale プロパティは SQL Server の precision と scale に一致します)

nvarchar ( フィールド サイズ )、フィールド サイズが 255 以下

テキスト

SQL Server フィールド サイズと同じ

nvarchar ( フィールド サイズ )、フィールド サイズが 255 より大きい

メモ

nvarchar(MAX)

メモ

real

数値

単精度浮動小数点型

smalldatetime

日付/時刻

smallint

数値

整数型

smallmoney

通貨

sql_variant

テキスト

255

テキスト

メモ

timestamp

バイナリ

8

tinyint

数値

バイト型

uniqueidentifier

数値

レプリケーション ID

varbinary

バイナリ

SQL Server フィールド サイズと同じ

varbinary(MAX)

OLE オブジェクト

varchar (フィールド サイズ)、フィールド サイズが 255 以下

テキスト

SQL Server フィールド サイズと同じ

varchar ( フィールド サイズ)、フィールド サイズが 255 より大きい

メモ

varchar(MAX)

メモ

xml

メモ

ページの先頭へ

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

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

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×