Excel から Access にデータを移動する

重要:  この記事は機械翻訳されています。機械翻訳についての「免責事項」をお読みください。この記事の英語版を参照するには、ここをクリックしてください。

この記事では、Excel のデータを Access に移動して、データをリレーショナル テーブルに変換し、Microsoft Office Excel と Access を併用できるようにする方法を説明します。簡単に言えば、Access はデータの取得、保存、クエリ実行、共有に適しており、Excel はデータの計算、分析、視覚化に適しています。

2 つの記事「Access または Excel を使用してデータを管理する」と「Access と Excel を連携して使用する 10 の理由」では、特定のタスクにはどちらのプログラムが適しているかという点と、Excel と Access を併用して実践的なソリューションを作成する方法について説明します。

この記事の内容

リレーショナル データベースとデータ モデリングの基本

リレーショナル テーブルのコンポーネント

正規化とは

テーブルの正規形の種類

リレーションシップとキー

データの整合性と有効性

まとめ

データを Excel から Access に移動する基本的な手順

手順 1:Excel から Access にデータをインポートする

データを自動的に追加する簡単な方法

手順 2:テーブル正規化ウィザードを使用してデータを正規化する

手順 3: Excel から Access のデータに接続する

データを Access に取り込む

リレーショナル データベースとデータ モデリングの基本

Excel をはじめとするさまざまなデータ ファイルは、フラット ファイルと呼ばれます。多くの場合、これらのファイルはサイズが大きく、冗長なデータやほとんど使用されない列、多数の空白値が含まれています。このようなファイルを別のシステムやユーザーから引き継ぐことがあり、要件の変化に対応するために次々に列を追加してファイルが更新されている場合があります。フラット ファイルのデータ構成は、特定の目的には役立ちますが、柔軟性がないため、データに関する予期しない質問に答えることが困難です。

フラット ファイル

フラット ファイルに対して実績のあるソリューションは、リレーショナル データベースです。Access はリレーショナル データベース プログラムであるため、テーブルがリレーションシップを使用して適切に設計されており、リレーショナル データベース モデルに準拠している場合に最適に機能します。

ページの先頭へ

リレーショナル テーブルのコンポーネント

優れた設計のリレーショナル データベースでは、各テーブルは名前付きの列と複数の行で構成されており、従業員など、1 つの主題についての情報が保存されます。テーブルの各列には一意の名前が付けられ、従業員の名前や住所といった主題についての情報が保存されます。テーブルの行には、会社の現在の全従業員など、主題の具体的な項目が含まれます。1 つの行と列が交差する位置には 1 つの値が保存されます。この値は、"シアトル" などの 1 つの事実を表します。最後に、テーブルの意味を変えることなく、行と列の順序を変更することができます。

リレーショナル テーブル

1.1 つのテーブルは 1 つの主題 (人物、場所、物、イベント、概念など) を表します。

2.各行は一意であり、バッジ番号などの主キーが含まれます。

3.各列には、短くてわかりやすい一意の名前が付いています。

4.列内のすべての値は、同じような形式と意味を持ちます。

5.テーブル内の各値 (Excel のセルに対応します) は、1 つの事実を表します。

ページの先頭へ

正規化とは

残念ながら、優れた設計のリレーショナル テーブルは、Access データベースで自動的に生成されるわけではありません。フラット ファイル内のデータを分析して、1 つのテーブルのデータを 2 つ以上の関連テーブルに再配置する手順が必要になります。この手順を、正規化といいます。ステップ バイ ステップのプロセスでは、列内の重複した値を取り除くことで 1 つのテーブルを 2 つ以上のより小さいテーブルに分割し、行から冗長なデータを排除します。その後、主キー (テーブル内の各レコードを一意に識別するフィールド) と外部キー (関連テーブル内の主キー フィールドの値を含むフィールド) を追加して、新しいテーブル間にリレーションシップを定義します。

関係図

1.リレーショナル テーブル

2.列名

3.主キー

4.外部キー

5.リレーショナル線と記号

ページの先頭へ

テーブルの正規形の種類

テーブルは、4 種類の正規形 (非正規形、第 1 正規形、第 2 正規形、第 3 正規形) のいずれかになります。各正規形は、テーブル内のデータが整理されているレベルを表しており、リレーショナル データベースで使用できます。非正規形は、最も整理されていない状態で、第 3 正規形は最も効率よく整理されている状態です。

非正規形    テーブルが "非正規形" と呼ばれる、最も整理されていない状態であることを示す特徴は、1 つ以上の列に "アトミックでない" 値が含まれていることです。これは、1 つのセルに複数の値が含まれていることを意味します。たとえば、顧客の住所は、郵便番号、都道府県、市区町村、番地で構成されます。理想的には、このような住所の各要素は個別の列に保存されます。別の例として、"藤巻陽子" や "鈴木保美" など、姓名が含まれる列は、姓と名の別々の列に分割する必要があります。データの検索や並べ替えをすばやく実行できるようになるため、姓と名は別々の列に保存することをお勧めします。

データが非正規形であることを示すもう 1 つの特徴は、販売員、製品、顧客、および注文など、異なる主題に関する情報が含まれていることです。可能な限り、データを主題ごとに別々のテーブルに分離する必要があります。

第 1 正規形    テーブルが第 1 正規形の場合、すべての列にアトミック値が含まれています。ただし、1 つ以上の列にいくつかの冗長なデータが含まれています (注文の各部分の販売員や顧客の情報など)。たとえば、ワークシートには "藤巻陽子" が 5 箇所に繰り返し含まれています。これは、彼女が 2 つの注文を担当しているためです (3 つの製品を扱う注文と、2 つの製品を扱う注文)。

第 2 正規形    テーブルが第 2 正規形の場合、冗長なデータは取り除かれています。ただし、1 つ以上の列は、主キーに従属していないか、算出値が含まれてます (単価 x 割引率など)。

第 3 正規形    テーブルが第 3 正規形の場合、テーブル内のすべての列は、主キーのみに従属しています。次の図に示すように、製品および仕入先の情報は別々のテーブルに保存されており、仕入先テーブルの仕入先 ID フィールドに対するルックアップで結合されています。

データを変更する必要がある場合、非正規形、第 1 正規形、第 2 正規形のテーブルでは、問題が発生する可能性があります。たとえば、頻繁に繰り返されている値を更新する作業は、非常に時間がかかるプロセスです。値を更新するたびに、他のすべての行に同じ値が含まれていることを確認する必要があります。このような作業は時間の無駄であり、間違いの元になります。また、列に繰り返し値が含まれる場合、並べ替えやフィルター処理を効果的に行うのは困難です。第 1 正規形と第 2 正規形のテーブルは、非正規形に比べると大幅に改善していますが、データを挿入、更新、削除するときには引き続き問題があります。

データの正規化のプロセスを進めるときには、すべてのテーブルが第 3 正規形になるまで、低レベルから高レベルの正規形にテーブルを変換していきます。ほとんどの場合、第 3 正規形が理想的です。その理由は次のとおりです。

  • データを挿入、削除、更新するときの変更の問題を解消することができます。

  • データの制約とビジネス ルールを使用して、データの整合性を維持することができます。

  • データに対してさまざまな方法でクエリを実行して、質問に答えることができます。

ページの先頭へ

リレーションシップとキー

うまく定義されたリレーショナル データベースには、複数のテーブルが第 3 正規形で含まれています。ただし、これらのテーブルの間には、データをまとめるのに役立つリレーションシップも設定されています。たとえば、従業員は部署に属しており、プロジェクトに割り当てられています。プロジェクトにはサブタスクが含まれており、サブタスクは従業員によって所有されています。さらに、部署はプロジェクトを管理します。このシナリオでは、リレーショナル データベースに次の 4 つのテーブルが定義されています:従業員、プロジェクト、サブタスク、部署。それぞれのテーブルには、次のキー リレーションシップが定義されています: 所属する割り当てられている含まれる所有されている、および管理する

リレーションシップは 3 種類あります。

  • 一対一 (1:1)    たとえば、各従業員には一意のバッジ ID が割り当てられており、各バッジ ID は一意の従業員を参照しています。

  • 一対多 (1:M)    たとえば、各従業員は 1 つの部署に割り当てられていますが、1 つの部署には多くの従業員が所属しています。これは、親子リレーションシップとも呼ばれます。

  • 多対多 (M:M)    たとえば、ある従業員を複数のプロジェクトに割り当てることができ、各プロジェクトには複数の従業員を割り当てることができます。交差テーブルと呼ばれる特殊なテーブルは、第 3 正規形の各テーブル間に一対多リレーションシップを作成するためにしばしば使用され、合計 3 つのテーブルが多対多リレーションシップを形成します。

主キーと外部キーに従属する 2 つ以上のテーブル間にリレーションシップを作成します。主キーは、バッジ番号や部署コードなど、テーブル内の各行を一意に識別する値が含まれるテーブル内の列です。外部キーは、別のテーブルの主キーと同じ値が含まれるテーブル内の列です。外部キーは、別のリレーショナル テーブルの主キーをコピーしたものと考えることができます。2 つのテーブル間にリレーションシップを作成するには、1 つのテーブルの外部キーの値を、別のテーブルの主キーの値に一致させます。

主キーと外部キーの関係

ページの先頭へ

データの整合性と有効性

第 3 正規形のすべてのテーブルを使用してリレーショナル データベースを作成し、適切なリレーションシップを定義したら、それらのデータの整合性を保証する必要があります。データの整合性とは、時間の経過と共にデータベースが更新されても、データベース内でのリレーションシップの移動やテーブルの操作を一貫して正常に行うことができることを意味しています。リレーショナル データベースでデータの整合性を確保するには、2 つの基本ルールがあります。

エンティティ ルール    テーブル内の各行には主キーが必要であり、その主キーには値が必要です。このルールにより、テーブル内のすべての行を一意に識別することができ、それらの行が意図せず失われることはありません。さらに、データを挿入、更新、削除しても、すべての主キーの一意性と存在が保持されます。

参照整合性ルール    このルールは、一対多リレーションシップの挿入と削除のルールを制御します。テーブルに外部キーがある場合、外部キーのすべての値は、null (値なし) であるか、またはその外部キーが主キーとなっているリレーショナル テーブルの値に一致する必要があります。

リレーションシップを編集する

さらに、リレーショナル データベース内のデータの整合性を確保するために、さまざまなデータの入力規則ルールを使用できます。これには、データ型 (整数など)、データの長さ (15 文字以下など)、データ形式 (通貨など)、既定値 (10 など)、制約 (Inventory_Amt > ReOrder_Amt など) といったものがあります。このようなデータの入力規則ルールは、データベースが高品質のデータを保持しており、確立されたビジネス ルールに準拠していることを保証するのに役立ちます。

データ入力は、Access データベースと Excel ブックの間の重要な相違点であることに注意してください。Excel ワークシートへのデータ入力は "自由形式" です。データはほとんど任意の場所に入力することができ、変更は簡単に取り消すことができます。一方、Access データベースは高度に構造化されており、多くの制約があります。また、テーブルにデータを入力すると、変更はデータベースにコミットされます。データを削除または更新して間違いを修正することはできますが、Excel と同じ方法でデータ入力を取り消すことはできません。

ページの先頭へ

まとめ

うまく設計されたリレーションシップを使ってデータをリレーショナル テーブルに正規化し、そのデータの整合性を定義すると、次のことが大幅に簡単になります。

  • 繰り返しデータと冗長なデータが物理的に取り除かれているため、容量の節約とパフォーマンスの向上を実現できます。

  • データを正確に更新して、データの整合性を維持します。

  • データの並べ替え、フィルター処理、計算列の作成、集計、集約を実行します。

  • さまざまな方法でデータのクエリを実行して、予想される質問や予期しない質問に答えます。

リレーショナル データベースの設計には、複合キー (2 つ以上の列の値で構成されるキー)、その他の正規形 (第 4 正規形: 多値従属性)、および非正規化といった高度な側面があります。しかし、最も単純なデータベースから中規模のデータベースまでのニーズでは、これまでに説明したデータベース設計についての基本的な情報を把握していれば十分であり、この記事の次の導入事例も理解することができます。

ページの先頭へ

データを Excel から Access に移動する基本的な手順

データを Excel から Access に移動するには、3 つの基本的な手順があります。

3 つの基本的な手順

ページの先頭へ

手順 1:Excel から Access にデータをインポートする

データのインポート操作は、データを準備してクリーンにするためにいくらかの時間をかけることで、はるかにスムーズに進めることができます。データのインポートは、新しい家への引っ越しに似ています。引っ越す前に、自分の持ち物を掃除して整理しておけば、新しい家にすぐに落ち着くことができます。

インポート前にデータをクリーンにする

データを Access にインポートする前に、Excel で次の操作を行うことをお勧めします。

  • アトミックでないデータを含むセル (1 つのセルに複数の値が含まれる) を複数の列に変換します。たとえば、"スキル" 列のセルに "C# プログラミング"、"VBA プログラミング"、"Web デザイン" などの複数のスキル値が含まれている場合、別々の列に分割して、各列に 1 つのスキル値のみが含まれるようにします。

  • TRIM コマンドを使用して、先頭と末尾のスペース、複数スペースを削除します。

  • 印刷されない文字を削除します。

  • スペルと句読点のエラーを見つけて修正します。

  • 重複する行や重複するフィールドを削除します。

  • データの列に複数の書式が混在していないこと (特に、数値がテキスト形式になっていたり、日付が数値形式になっていたりしないこと) を確認します。

詳細については、次の Excel ヘルプ トピックを参照してください。

注: 複雑なデータ クリーニングが必要な場合や、独自にプロセスを自動化するための時間やリソースがない場合は、サードパーティ ベンダーの利用を検討するとよいでしょう。詳細については、Web ブラウザーでお気に入りの検索エンジンを使って "データ クレンジング ソフトウェア " や "データ品質" を検索してください。

インポートするときに最適なデータ型を選択する

Access でのインポート操作中は、手動での操作が必要となる変換エラーを (発生した場合でも) 最小限に抑えるために、適切な選択を行う必要があります。次の表は、データを Excel から Access にインポートするときに Excel の表示形式と Access のデータ型がどのように変換されるかをまとめたものです。また、ワークシート インポート ウィザードで選択する最適なデータ型についてのヒントも記載してあります。

Excel の表示形式

Access のデータ型

コメント

ベスト プラクティス

文字列

テキスト、メモ

Access の [テキスト] データ型には、最大 255 文字の英数字データが保存されます。Access の [メモ] データ型には、最大 65,535 文字の英数字データが保存されます。

データが切り捨てられないように、[メモ] を選択します。

数値、パーセンテージ、分数、指数

数値

Access には 1 つの [数値] データ型が用意されており、[フィールド サイズ] プロパティで数値の種類を指定できます (バイト型、整数型、長整数型、単精度浮動小数点型、倍精度浮動小数点型、十進型)。

データ変換エラーを避けるために、[倍精度浮動小数点型] を選択します。

日付

日付

Access と Excel の両方で、同じ日付のシリアル値を使用してデータが保存されます。Access での日付の範囲はより広く、-657,434 (西暦 100 年 1 月 1 日) から 2,958,465 (西暦 9999 年 12 月 31 日) となっています。

Access では 1904 年からの計算 (Excel for the Macintosh で使用) を認識しないため、そのような日付は、混乱を避けるために Excel または Access で変換する必要があります。

詳細については、「年日付システム書式、または 2 桁西暦の解釈方法を変更してExcel ブック データをインポートまたはリンクの使用」を参照してください。

.

[日付] を選択します。

時刻

時刻

Access と Excel の両方で、同じデータ型を使用して時刻の値が保存されます。

[時刻] を選択します。これは通常、既定値になっています。

通貨、会計

通貨

Access の [通貨] データ型では、小数点以下 4 桁の精度を持つ 8 バイトの数値としてデータが保存されます。これは財務データを保存したり、値が丸められることを防いだりするために使用されます。

[通貨] を選択します。これは通常、既定値になっています。

ブール演算型

Yes/No

Access では、すべての Yes 値に -1 が使用され、すべての No 値に 0 が使用されるのに対し、Excel では、すべての TRUE 値に 1 が使用され、すべての FALSE 値に 0 が使用されます。

[Yes/No] を選択します。これにより、基になる値が自動的に変換されます。

ハイパーリンク

ハイパーリンク

Excel と Access のハイパーリンクには、クリックして開くことができる URL または Web アドレスが含まれています。

[ハイパーリンク] を選択します。それ以外の場合、Access では既定で [テキスト] データ型が使用されます。

データが Access に保存されたら、Excel のデータを削除できます。削除する前に、元の Excel ブックをバックアップすることを忘れないでください。

詳細については、 Excel ブックのデータをインポートまたはリンクアクセス ヘルプ トピックを参照してください。

ページの先頭へ

データを自動的に追加する簡単な方法

一般的な問題 Excel のユーザーが 1 つの大きなワークシートに同じ列を持つデータを追加します。たとえば、資産追跡ソリューションを今すぐが拡大したので、多くのワークグループや部門からのファイル Excel で作業を開始することがあります。このデータの別のワークシートやブック、またはその他のシステムからのデータ フィードをされているテキスト ファイルがあります。ユーザー インターフェイスのコマンドまたは Excel でのようなデータを追加する簡単な方法はありません。

最適なソリューションは Access を使用することです。ワークシート インポート ウィザードを使用すれば、1 つのテーブルにデータを簡単にインポートして追加できます。さらに、1 つのテーブルに大量のデータを追加することができます。インポート操作を保存したり、スケジュール済みの Microsoft Office Outlook タスクとして追加したりできます。また、マクロを使用して、このプロセスを自動化することもできます。

ページの先頭へ

手順 2:テーブル正規化ウィザードを使用してデータを正規化する

一見、データを正規化するプロセスは面倒な作業であるように思えます。幸い、Access のテーブルを正規化するプロセスは、テーブル正規化ウィザードを使用すると非常に簡単になります。

テーブル正規化ウィザード

1.選択した列を新しいテーブルにドラッグすると、リレーションシップが自動的に作成されます。

2.コマンド ボタンを使用して、テーブル名の変更、主キーの追加、既存の列を主キーに指定、直前の操作の取り消しを行うことができます。

このウィザードを使用すると、次の操作が可能になります。

  • 1 つのテーブルを一連のより小さいテーブルに変換し、テーブル間に主キーおよび外部キーのリレーションシップを自動的に作成します。

  • 一意の値が含まれる既存のフィールドに主キーを追加するか、オートナンバー データ型の新しい ID フィールドを作成します。

  • 自動的に連鎖更新参照整合性を適用するためにリレーションシップを作成します。連鎖削除は、自動的にデータの誤って削除できないようにするのには追加されませんが、連鎖削除を後から簡単に追加できます。

  • 新しいテーブル内の冗長なデータや重複するデータ (同じ顧客が 2 つの異なる電話番号を持っている場合など) を検索し、それらのデータを必要に応じて更新します。

  • 元のテーブルのバックアップを作成し、その名前に "_OLD" を追加します。次に、元のテーブル名で、元のテーブルを再構築するクエリを作成します。これによって、元のテーブルに基づく既存のフォームやレポートが、新しいテーブル構造で動作するようになります。

ページの先頭へ

手順 3: Excel から Access のデータに接続する

Access でデータが正規化され、元のデータを再構築するクエリまたはテーブルが作成されると、後は Excel から Access のデータに接続するだけです。データは外部データ ソースとして Access 内に保存されており、そのデータは、データ接続を通じてブックに接続することができます。データ接続は、外部データ ソースの検索、ログオン、アクセスに使用される情報のコンテナーです。接続情報はブックに保存されます。また、Office データ接続 (ODC) ファイル (拡張子 .odc ) やデータ ソース名ファイル (拡張子 .dsn) などの接続ファイルにも保存することができます。外部データに接続した後は、Access のデータが更新されるたびに、Access からのデータで Excel ブックを自動的に再表示 (更新) することもできます。

詳細については、「データ接続 (インポート) の概要」と「Excel と Access の間でデータを交換 (コピー、インポート、エクスポート) する」を参照してください。

ページの先頭へ

データを Access に取り込む

このセクションでは、データを正規化する次のようなフェーズについて説明します。"販売員" 列と "住所" 列の値をアトミックなレベルまで分割して、関連する主題を個別のテーブルに分離します。次に、それらのテーブルを Excel からコピーして Access に貼り付けます。新しく作成された Access のテーブル間にキー リレーションシップを作成し、Access で簡単なクエリを作成して実行して情報を返します。

非正規形のサンプル データ

次のワークシートでは、"販売員" 列と "住所" 列にアトミックでない値が含まれています。両方の列を、2 つ以上の別々の列に分割する必要があります。また、このワークシートには、販売員、製品、顧客、および受注に関する情報も含まれています。これらの情報も、主題ごとにさらに分割して、別々のテーブルに保存する必要があります。

販売員

受注 ID

受注日

製品 ID

数量

単価

顧客名

住所

電話番号

藤巻陽子

2348

2009 年 3 月 2 日

J-558

1.8

¥850

楽市食品株式会社

東京都調布市表通り 1-1

(201) 555-0123

藤巻陽子

2348

2009 年 3 月 2 日

B-205

51

¥450

楽市食品株式会社

東京都調布市表通り 1-1

(201) 555-0123

藤巻陽子

2348

2009 年 3 月 2 日

D-4420

5

¥725

楽市食品株式会社

東京都調布市表通り 1-1

(201) 555-0123

藤巻陽子

2349

2009 年 3 月 4 日

C-789

76

¥700

サクラ食品販売株式会社

東京都青梅市東西町 75-3122

(202) 555-0122

藤巻陽子

2349

2009 年 3 月 4 日

C-795

2.7

¥975

サクラ食品販売株式会社

東京都青梅市東西町 75-3122

(202) 555-0122

鈴木保美

2350

2009 年 3 月 4 日

A-2275

51

¥1,675

アドベンチャー ワークス

東京都青梅市緑町 31-23

(206) 555-0042

鈴木保美

2350

2009 年 3 月 4 日

F-198

2.7

¥525

アドベンチャー ワークス

東京都青梅市緑町 31-23

(206) 555-0042

鈴木保美

2350

2009 年 3 月 4 日

B-205

"1"。

¥450

アドベンチャー ワークス

東京都青梅市緑町 31-23

(206) 555-0042

山本浩平

2351

2009 年 3 月 4 日

C-795

2.7

¥975

楽市食品株式会社

東京都調布市表通り 1-1

(201) 555-0123

山本浩平

2352

2009 年 3 月 5 日

A-2275

51

¥1,675

アドベンチャー ワークス

東京都青梅市緑町 31-23

(206) 555-0042

山本浩平

2352

2009 年 3 月 5 日

D-4420

76

¥725

アドベンチャー ワークス

東京都青梅市緑町 31-23

(206) 555-0042

友野司郎

2353

2009 年 3 月 7 日

A-2275

2.7

¥1,675

サクラ食品販売株式会社

東京都青梅市東西町 75-3122

(202) 555-0122

友野司郎

2353

2009 年 3 月 7 日

C-789

5

¥700

サクラ食品販売株式会社

東京都青梅市東西町 75-3122

(202) 555-0122

宮西君彦

2354

2009 年 3 月 7 日

A-2275

76

¥1,675

楽市食品株式会社

東京都調布市表通り 1-1

(201) 555-0123

鈴木保美

2355

2009 年 3 月 8 日

D-4420

1.8

¥725

アドベンチャー ワークス

東京都青梅市緑町 31-23

(206) 555-0042

鈴木保美

2355

2009 年 3 月 8 日

C-795

76

¥975

アドベンチャー ワークス

東京都青梅市緑町 31-23

(206) 555-0042

藤巻陽子

2356

2009 年 3 月 10 日

C-789

2.7

¥700

楽市食品株式会社

東京都調布市表通り 1-1

(201) 555-0123

最小単位の情報: アトミック データ

この例のデータを処理するときには、Excel の [区切り位置] コマンドを使用して、セルの "アトミック" な部分 (番地、市区町村、都道府県、郵便番号など) を別々の列に分割できます。

次のテーブルは、すべての値がアトミックな単位に分割された、同じワークシート内の新しい列を示しています。"販売員" 列の情報が "姓" および "名" 列に分割され、"住所" 列の情報が "番地"、"市区町村"、"都道府県"、および "郵便番号" 列に分割されています。このデータは、"第 1 正規形" になっています。

 

番地

市区町村

都道府県

郵便番号

藤巻

陽子

表通り 1-1

調布市

東京都

98227

鈴木

保美

緑町 31-23

青梅市

東京都

98234

山本

浩平

表通り 1-1

調布市

東京都

98227

友野

司郎

東西町 75-3122

青梅市

東京都

98199

宮西

君彦

表通り 1-1

調布市

東京都

98227

Excel でデータを主題ごとに分割する

サンプル データを表す以下の複数のテーブルには、Excel ワークシートと同じ情報が含まれています。ただし、販売員、製品、顧客、受注のテーブルに分割されています。テーブルのデザインは最終形ではありませんが、正しい方向に進んでいます。

"販売員" テーブルには、販売員に関する情報のみが含まれています。各レコードには一意の ID (販売員 ID) があることに注意してください。"販売員 ID" の値は、受注情報を販売員情報に接続するために "受注" テーブルで使用されます。

販売員

販売員 ID

101

藤巻

陽子

103

鈴木

保美

105

山本

浩平

107

友野

司郎

109

宮西

君彦

"製品" テーブルには、製品に関する情報のみが含まれています。各レコードには一意の ID (製品 ID) があることに注意してください。"製品 ID" の値は、製品情報を "受注明細" テーブルに接続するために使用されます。

製品

製品 ID

単価

A-2275

1,675

B-205

4.50

C-789

7.00

C-795

9.75

D-4420

7.25

F-198

5.25

J-558

8.50

"顧客" テーブルには、顧客に関する情報のみが含まれています。各レコードには一意の ID (顧客 ID) があることに注意してください。"顧客 ID" の値は、顧客情報を "受注" テーブルに接続するために使用されます。

顧客

顧客 ID

名前

番地

市区町村

都道府県

郵便番号

電話番号

1001

楽市食品株式会社

表通り 1-1

調布市

東京都

98227

(201) 555-0123

1003

アドベンチャー ワークス

緑町 31-23

青梅市

東京都

98234

(206) 555-0042

1005

サクラ食品販売株式会社

東西町 75-3122

青梅市

東京都

98199

(202) 555-0122

"受注" テーブルには、受注、販売員、顧客、製品に関する情報が含まれています。各レコードには一意の ID (受注 ID) があることに注意してください。このテーブルの一部の情報は、受注明細が含まれる別のテーブルに分割する必要があります。これによって、"受注" テーブルには 4 つの列 (一意の受注 ID、受注日、販売員 ID、顧客 ID) のみが含まれるようになります。次に示すテーブルは、まだ "受注明細" テーブルに分割されていない状態のものです。

受注

受注 ID

受注日

販売員 ID

顧客 ID

製品 ID

数量

2348

2009 年 3 月 2 日

101

1001

J-558

1.8

2348

2009 年 3 月 2 日

101

1001

B-205

51

2348

2009 年 3 月 2 日

101

1001

D-4420

5

2349

2009 年 3 月 4 日

101

1005

C-789

76

2349

2009 年 3 月 4 日

101

1005

C-795

2.7

2350

2009 年 3 月 4 日

103

1003

A-2275

51

2350

2009 年 3 月 4 日

103

1003

F-198

2.7

2350

2009 年 3 月 4 日

103

1003

B-205

"1"。

2351

2009 年 3 月 4 日

105

1001

C-795

2.7

2352

2009 年 3 月 5 日

105

1003

A-2275

51

2352

2009 年 3 月 5 日

105

1003

D-4420

76

2353

2009 年 3 月 7 日

107

1005

A-2275

2.7

2353

2009 年 3 月 7 日

107

1005

C-789

5

2354

2009 年 3 月 7 日

109

1001

A-2275

76

2355

2009 年 3 月 8 日

103

1003

D-4420

1.8

2355

2009 年 3 月 8 日

103

1003

C-795

76

2356

2009 年 3 月 10 日

101

1001

C-789

5

製品 ID や数量などの受注明細が "受注" テーブルの外に移動し、"受注明細" という名前のテーブルに保存されました。9 件の注文があるため、このテーブルにレコードが 9 件あるのは正しい結果です。"受注" テーブルには一意の ID (受注 ID) があることに注意してください。この ID は "受注明細" テーブルから参照されます。

"受注" テーブルの最終的なデザインは、次のようになります。

受注

受注 ID

受注日

販売員 ID

顧客 ID

2348

2009 年 3 月 2 日

101

1001

2349

2009 年 3 月 4 日

101

1005

2350

2009 年 3 月 4 日

103

1003

2351

2009 年 3 月 4 日

105

1001

2352

2009 年 3 月 5 日

105

1003

2353

2009 年 3 月 7 日

107

1005

2354

2009 年 3 月 7 日

109

1001

2355

2009 年 3 月 8 日

103

1003

2356

2009 年 3 月 10 日

101

1001

"受注明細" テーブルには一意の値を必要とする列が含まれていないため (つまり、主キーが存在しません)、任意の列に "冗長な" データが含まれていても問題ありません。ただし、このテーブルの 2 件のレコードが完全に同一であってはなりません (このルールは、データベース内のすべてのテーブルに適用されます)。このテーブルには 17 件のレコードが含まれている必要があります。各レコードは、個々の注文に含まれる製品に対応しています。たとえば、注文 2349 の 3 個の C-789 製品は、注文する 2 つのパーツのうちの 1 つです。

"受注明細" テーブルは次のようになります。

受注明細

受注 ID

製品 ID

数量

2348

J-558

1.8

2348

B-205

51

2348

D-4420

5

2349

C-789

76

2349

C-795

2.7

2350

A-2275

51

2350

F-198

2.7

2350

B-205

"1"。

2351

C-795

2.7

2352

A-2275

51

2352

D-4420

76

2353

A-2275

2.7

2353

C-789

5

2354

A-2275

76

2355

D-4420

1.8

2355

C-795

76

2356

C-789

5

Excel のデータをコピーして Access に貼り付ける

販売員、顧客、製品、受注、および受注明細の情報は、Excel で主題ごとに分割されました。これらのデータをコピーして Access に直接貼り付けると、テーブルが作成されます。

Access のテーブル間にリレーションシップを作成してクエリを実行する

データを Access に移動した後は、テーブル間にリレーションシップを作成して、さまざまな主題についての情報を返すクエリを作成できます。たとえば、2009 年 3 月 5 日から 2009 年 3 月 8 日の間に入力された注文について、受注 ID と販売員の名前を返すクエリを作成できます。

また、フォームやレポートを作成すると、データ入力や販売分析を簡単に行えるようになります。

ページの先頭へ

注: 機械翻訳についての免責事項: この記事の翻訳はコンピューター システムによって行われており、人間の手は加えられていません。マイクロソフトでは、英語を話さないユーザーがマイクロソフトの製品、サービス、テクノロジに関するコンテンツを理解するのに役立てるため、こうした機械翻訳を提供しています。記事は機械翻訳されているため、用語、構文、文法などに誤りがある場合があります。

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

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

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

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

×