データ更新の設計上の考慮事項

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

適切にデザインされたデータベースは、データの整合性を確保するのに役立ちますが、管理や更新がより簡単になります。 access データベースは、microsoft Word 文書または microsoft PowerPoint スライドデッキと同じ感覚で、ファイルではありません。 このように、オブジェクト (テーブル、フォーム、レポート、クエリなど) のコレクションとして、適切に機能するために一緒に操作する必要があります。

ユーザーは、主にコントロールを使用してデータを入力します。 指定したコントロールで実行する内容は、基になるテーブルフィールドに設定されているデータ型、そのフィールドに設定されているプロパティ、コントロールに設定されているプロパティによって異なります。 最後に、入力規則、既定値、リストと参照、連鎖更新など、追加のデータベース手法を使うことを検討してください。 

ユーザーの視点からのデータ更新の詳細については、「レコードを追加、編集、および削除する方法」を参照してください。

この記事の内容

データベース設計がデータ入力に与える影響

データベースに保存されている情報は、特定の件名 (資産や連絡先など) に関するデータが含まれたテーブルに格納されます。 テーブル内の各レコードには、特定の連絡先などの1つのアイテムに関する情報が含まれています。 レコードは、名前、住所、電話番号などのフィールドで構成されます。 レコードは、一般的には行と呼ばれ、フィールドは列と呼ばれます。 これらのオブジェクトは、一連の設計原則に従う必要があります。または、データベースが適切に動作しないか、または完全に失敗します。 さらに、これらの設計原則がデータの入力方法に影響を与えます。 次の事項を検討します。

  • テーブル    Access では、すべてのデータが1つまたは複数のテーブルに格納されます。 使用するテーブルの数は、データベースの設計と複雑さによって異なります。 データはフォーム、レポート、またはクエリによって返された結果に表示されますが、Access ではテーブルのみにデータが保存され、データベース内の他のオブジェクトはこれらのテーブルの上に構築されます。 各テーブルは、1つの主題に基づいている必要があります。 たとえば、取引先担当者情報のテーブルに売上情報を含めることはできません。 そうしないと、情報の検索や編集が困難になることがあります。

  • データ型    通常、テーブル内の各フィールドには、1種類のデータしか受け入れられません。 たとえば、数値を受け入れるためのフィールドセットにノートを保存することはできません。 このようなフィールドにテキストを入力しようとすると、エラーメッセージが表示されます。 ただし、これは、ハードとファーストのルールではありません。 たとえば、短いテキストデータ型に設定されたフィールドに数値 (郵便番号など) を格納することはできますが、そのデータに対して計算を実行することはできません。これは、Access がテキストの一部であると見なされるためです。

    一部の例外については、レコード内のフィールドには1つの値のみを受け取る必要があります。 たとえば、住所フィールドに複数の住所を入力することはできません。 これは Microsoft Excel とは異なり、制限された種類のデータを受け入れるようにセルを設定しない限り、1つのセルに任意の数の名前やアドレス、または画像を入力できます。 

  • 複数値を持つフィールド   複数値を持つフィールドのデータは、非表示のテーブルの行として保存されます。 Access には複数値を持つフィールドと呼ばれる機能が用意されています。複数のデータを1つのレコードに添付し、複数の値を受け入れるリストを作成します。 複数値を持つリストは、各リスト項目の横にチェックボックスが表示されるため、いつでも確認することができます。 たとえば、Microsoft PowerPoint のスライドデッキと任意の数の画像をデータベースのレコードに添付することができます。 名前のリストを作成し、必要に応じてそれらの名前の数を選択することもできます。 複数値を持つフィールドを使用すると、1つのテーブルフィールドに複数のレコードを格納できるため、データベース設計のルールが壊れることがあります。 ただし、Access では、特殊な非表示のテーブルにデータを保存することで、"背後にある" ルールが適用されます。

  • フォームを使用する    通常は、データベースを使いやすくするため、ユーザーがデータを正確に入力できるようにするために、フォームを作成します。 フォームを使用してデータを編集する方法は、フォームのデザインによって異なります。 フォームには、リスト、テキストボックス、ボタン、さらにはデータシートなど、任意の数のコントロールを含めることができます。 フォーム上の各コントロールによって、基になるテーブル フィールドからのデータの読み取り、またはそのフィールドへのデータの書き込みが行われます。

詳細については、「データベース設計の基本」および「テーブルを作成してフィールドを追加する」を参照してください。

ページの先頭へ

フィールドまたはコントロールに既定値を設定する

市区町村や国/地域などの特定のフィールドで、大量のレコードが同じ値を共有している場合は、そのフィールドまたはフィールド自体にバインドされたコントロールの既定値を設定することで、時間を節約できます。 フォームまたはテーブルを開いて新しいレコードを作成すると、そのコントロールまたはフィールドに既定値が表示されます。

表の場合

  1. テーブルを [デザイン ビュー] で開きます。

  2. ビューの上部で、フィールドを選択します。

  3. ビューの下部にある [全般] タブを選択します。

  4. "既定値" プロパティを目的の値に設定します。

フォームの場合

  1. フォームをレイアウトビューまたはデザインビューで開きます。

  2. 編集するコントロールを右クリックし、[プロパティ] をクリックします。

  3. [データ] タブで、[既定値] プロパティを目的の値に設定します。

ページの先頭へ

入力規則を使ってデータを制限する

入力したデータを入力するときに、入力規則を使ってデータを検証することができます。 入力規則は、テーブル デザインまたはテーブル データシート ビューのいずれかで設定できます。 次の 3 種類の入力規則があります。

  • フィールドの入力規則    フィールドの入力規則を使用して、すべての有効なフィールド値が満たす必要のある抽出条件を指定できます。 関数内でフィールドを使用している場合を除き、現在のフィールドをルールの一部として指定する必要はありません。 フィールドに入力する文字の種類の制限は、[定型入力] を使って行うと簡単になる場合があります。 たとえば、日付フィールドには、過去の値を許可しない入力規則が存在することがあります。

  • レコードの入力規則    レコードの入力規則を使って、すべての有効なレコードが満たす必要がある条件を指定することができます。 レコードの入力規則を使用して異なるフィールド間の値を比較できます。 たとえば、2つの日付フィールドを持つレコードでは、1つのフィールドの値が他のフィールドの値よりも優先される必要があります (たとえば、StartDate は "終了日より前" など)。

  • フォームでの入力規則    フォーム上のコントロールの "入力規則" プロパティを使うと、そのコントロールに入力されたすべての値が満たす必要がある条件を指定できます。 [入力規則] コントロール プロパティは、フィールドの入力規則と同じように機能します。 通常は、使用場所にかかわらず、規則がフォームのみに固有で、テーブルに対して固有でない場合は、フィールドの入力規則ではなく、フォームの入力規則を使用します。

詳細については、「入力規則を使用してデータ入力を制限する」を参照してください。

ページの先頭へ

値リストとルックアップフィールドの操作

Access には2種類のリストデータがあります。

  • 値リスト    これらの値には、手動で入力する値のセットが含まれています。 この値は、フィールドの "値集合ソース" プロパティに存在します。

  • ルックアップ フィールド    クエリを使って、別のテーブルから値を取得します。 フィールドの "値集合ソース" プロパティには、ハードコーディングされた値のリストではなく、クエリが含まれます。 クエリによって、データベース内の1つ以上のテーブルから値が取得されます。 既定では、ルックアップフィールドには、それらの値がリスト形式で表示されます。 ルックアップフィールドの設定方法に応じて、そのリストから1つ以上のアイテムを選ぶことができます。

    Note    検索フィールドでは、項目の一覧が1つの場所 (access でルックアップフィールドのデータから作成されるリスト) に表示されるため、データが別の場所 (データを含むテーブル) に存在する可能性があるため、新しい Access ユーザーを混乱させることがあります。

既定では、コンボボックスコントロールにリストデータが表示されます。ただし、リストボックスコントロールは指定できます。 コンボボックスが開き、リストが表示され、選択すると閉じられます。 これに対して、リストボックスは、常に開いたままになります。

リストを編集するには、[リスト項目の編集] コマンドを実行するか、ソーステーブルの "値集合ソース" プロパティを使用してデータを直接編集することもできます。 ルックアップフィールドのデータを更新すると、ソーステーブルが更新されます。

リスト ボックスまたはコンボ ボックスの "値集合タイプ" プロパティが [値リスト] に設定されている場合は、フォーム ビューでフォームを開いたまま値リストを編集できます。そのため、リストに変更を加える必要がある場合に、デザイン ビューまたはレイアウト ビューに切り替えてプロパティ シートを開き、コントロールの [値集合ソース] プロパティを編集する必要がありません。 値リストを編集するには、リスト ボックスまたはコンボ ボックスの "値リストの編集の許可" プロパティを [はい] に設定する必要があります。

詳細については、「リストボックスまたはコンボボックスを使用して選択肢の一覧を作成する」を参照してください。

フォーム ビューでの値リストの編集を禁止する

  1. ナビゲーション ウィンドウでフォームを右クリックし、[デザイン ビュー] または [レイアウト ビュー] をクリックします。

  2. コントロールをクリックして選び、F4 キーを押してプロパティ シートを表示します。

  3. プロパティ シートの [データ] タブで、"値リストの編集の許可" プロパティを [いいえ] に設定します。

  4. [ファイル] をクリックし、[保存] をクリックするか、Ctrl キーを押しながら S キーを押します。

別のフォームを指定して値リストを編集する

Access の既定では、値リストを編集する目的のために組み込みのフォームが用意されています。 この目的のために別のフォームを使用する場合は、次のようにフォームの名前を [リスト項目編集フォーム] プロパティに入力できます。

  1. ナビゲーション ウィンドウでフォームを右クリックし、ショートカット メニューの [デザイン ビュー] または [レイアウト ビュー] をクリックします。

  2. コントロールをクリックして選び、F4 キーを押してプロパティ シートを表示します。

  3. プロパティ シートの [データ] タブで、"リスト項目編集フォーム" プロパティ ボックスのドロップダウン矢印をクリックします。

  4. 値リストの編集に使用するフォームをクリックします。

  5. ファイルをクリックして [保存] をクリックするか、 Ctrl キーを押しながら S キーを押します。

フォーム内のルックアップフィールドを調べる

  1. フォームをレイアウトビューまたはデザインビューで開きます。

  2. リストボックスまたはコンボボックスコントロールを右クリックし、[プロパティ] をクリックします。

  3. プロパティシートで、[すべて] タブをクリックし、[値集合ソースの種類] プロパティと [値集合ソース] プロパティを探します。 [値集合タイプ] プロパティには、値リストまたはテーブル/クエリを含める必要があり、[値集合ソース] プロパティには、セミコロンまたはクエリで区切られた項目のリストが含まれている必要があります。 さらにスペースを追加するには、プロパティを右クリックし、[ズーム] を選択するか、Shift キーを押しながら F2 キーを押します。

    通常、値リストでは、 "item"という基本的な構文が使用されます。アイテム";"アイテム"

    この場合、リストは二重引用符で囲まれた一連の項目で、セミコロンで区切ります。

    選択クエリ次の基本的な構文を使用します。 [table_or_query_name]. [field_name] から [table_or_query_name]を選びます。

    この場合、クエリには 2 つの句 (SELECT と FROM) が含まれています。 1つ目の句は、テーブルまたはクエリと、そのテーブルまたはクエリ内のフィールドを参照します。 2番目の句は、テーブルまたはクエリに対してのみ参照します。 重要なポイントを次に示します。 SELECT 句には、テーブルまたはクエリの名前を含める必要はありませんが、推奨されます。また、少なくとも1つのフィールドの名前が含まれている必要があります。 一方、すべての FROM 句は常にテーブルまたはクエリを参照しています。 そのため、ルックアップフィールドのソーステーブルまたはソースクエリは、from 句を読むことでいつでも確認できます。

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

    • 値リストを使用している場合は、リスト内のアイテムを編集します。 各項目を二重引用符で囲み、各項目をセミコロンで区切ってください。

    • ルックアップリストのクエリが別のクエリを参照している場合は、その2番目のクエリをデザインビューで開きます (ナビゲーションウィンドウでクエリを右クリックし、[デザインビュー] をクリックします)。 クエリデザイナーの上の部分に表示されるテーブルの名前をメモし、次の手順に進みます。

      ルックアップフィールドのクエリがテーブルを参照している場合は、テーブルの名前をメモし、次の手順に進みます。

  5. データシートビューでテーブルを開き、必要に応じてリスト項目を編集します。

テーブルのルックアップフィールドを調べる

  1. テーブルを [デザイン ビュー] で開きます。

  2. クエリデザイングリッドの上の部分にある [データ型] 列で、任意のテキスト、数値、または Yes/No フィールドにフォーカスを移動するか、フォーカスを移動します。

  3. テーブルデザイングリッドの下部で、[ルックアップ] タブをクリックし、[値集合タイプ] プロパティと [値集合ソース] プロパティを確認します。

    " Row Source Type/値集合タイプ" プロパティには、値リストまたはテーブル/クエリを指定する必要があります。 "値集合ソース" プロパティには、値リストまたはクエリのいずれかを含める必要があります。

    値リストは、 "item" という基本的な構文を使用します。アイテム";"アイテム"

    この場合、リストは二重引用符で囲まれた一連の項目で、セミコロンで区切ります。

    通常、選択クエリは次の基本的な構文を使用します。 [table_or_query_name]. [field_name] から [table_or_query_name]を選びます。

    この場合、クエリには 2 つの句 (SELECT と FROM) が含まれています。 1つ目の句は、テーブルまたはクエリと、そのテーブルまたはクエリ内のフィールドを参照します。 2番目の句は、テーブルまたはクエリに対してのみ参照します。 重要なポイントを次に示します。 SELECT 句には、テーブルまたはクエリの名前を含める必要はありませんが、推奨されます。また、少なくとも1つのフィールドの名前が含まれている必要があります。 一方、すべての FROM 句は常にテーブルまたはクエリを参照しています。 そのため、ルックアップフィールドのソーステーブルまたはソースクエリは、from 句を読むことでいつでも確認できます。

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

    • 値リストを使用している場合は、リスト内のアイテムを編集します。 各項目を二重引用符で囲み、各項目をセミコロンで区切ってください。

    • ルックアップフィールドのクエリが別のクエリを参照している場合は、ナビゲーションウィンドウで、2番目のクエリをデザインビューで開きます (クエリを右クリックし、[デザインビュー] をクリックします)。 クエリデザイナーの上の部分に表示されるテーブルの名前をメモし、次の手順に進みます。

      ルックアップフィールドのクエリがテーブルを参照している場合は、テーブルの名前をメモし、次の手順に進みます。

  5. データシートビューでテーブルを開き、必要に応じてリスト項目を編集します。

ページの先頭へ

値リストまたはルックアップフィールドからデータを削除する

値リストの項目は、レコードの他の値と同じテーブルに存在します。 これに対して、ルックアップフィールドのデータは、1つ以上の他のテーブルに格納されます。 値リストからデータを削除するには、テーブルを開いてアイテムを編集します。

ルックアップリストからデータを削除するには、追加の手順が必要です。これらの手順は、ルックアップリストのクエリがテーブルまたは別のクエリからデータを取得するかどうかによって異なります。 ルックアップリストのクエリがテーブルを基にしている場合は、そのテーブルと、リストに表示されるデータを含むフィールドを指定します。 次に、ソーステーブルを開き、そのフィールド内のデータを編集します。 ルックアップ リストのクエリが別のクエリに基づいている場合は、その別のクエリを開き、そのクエリがデータの取得先としているテーブルおよびフィールドを検索して、そのテーブル内の値を変更します。

値リストからデータを削除する

  1. テーブルを [デザイン ビュー] で開きます。

  2. デザイン グリッドの上部で、値リストが含まれるテーブル フィールドを選択します。

  3. デザイン グリッドの下部で、[ルックアップ] タブをクリックし、[値集合ソース] プロパティを見つけます。

    既定では、値リストの項目は二重引用符で囲まれており、各項目はセミコロンで区切られています。たとえば、"Excellent";"Fair";"Average";"Poor" のようになっています。

  4. 必要に応じて、リストから項目を削除します。 削除する各項目を囲んでいる引用符も削除してください。 さらに、先頭のセミコロンやセミコロンのペア (;;) が残らないようにし、リストの最後の項目を削除する場合は、最後のセミコロンを削除します。

    重要    値リストから削除した項目がテーブル内のレコードによって既に使用されている場合、削除された項目は、変更を加えない限り、レコードの一部として残ります。 たとえば、会社が A 市に倉庫を所有していて、その建物を売却した場合を想定します。 倉庫の一覧から "A 市" を削除しても、それらの値に変更を加えない限り、テーブルには "A 市" というレコードが残ります。

ルックアップフィールドからデータを削除する

  1. テーブルを [デザイン ビュー] で開きます。

  2. デザイン グリッドの上部で、ルックアップ フィールドを選択します。

  3. デザイン グリッドの下部で [ルックアップ] タブをクリックし、[値集合タイプ] プロパティと [値集合ソース] プロパティを探します。

    [値集合タイプ] プロパティに [テーブル/クエリ] が表示され、[値集合ソース] プロパティにテーブルまたは別のクエリを参照するクエリが含められます。 ルックアップフィールドのクエリは、常に SELECT という単語で始まります。

    通常 (ただし、必ずというわけではない)、次の基本的な書式を使用するクエリを選択します: SELECT [table_or_query_name].[field_name] FROM [table_or_query_name]

    この場合、クエリには 2 つの句 (SELECT と FROM) が含まれています。 最初の句はテーブルとそのテーブル内のフィールドを参照しているのに対し、2 番目の句はテーブルのみを参照しています。 注意する必要があるのは、FROM 句では常に取得先テーブルまたはクエリの名前が宣言されているという点です。 SELECT 句にはテーブルまたはクエリの名前が常に含まれているわけではありませんが、少なくとも 1 つのフィールドは必ず含まれています。 一方、すべての FROM 句は常にテーブルまたはクエリを参照しています。

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

    • ルックアップフィールドのクエリが別のクエリを参照している場合は、[ビルド] ボタンをクリックします (プロパティシートの [データ] タブで、[次へ] をクリック)、クエリをデザインビューで開きます。 クエリ デザイナーの上部に表示されるテーブルの名前を書き留め、手順 5 に進みます。

    • ルックアップ フィールドのクエリがテーブルを参照している場合、テーブルの名前を書き留め、手順 5 に進みます。

  5. ソーステーブルをデータシートビューで開きます。

  6. ルックアップ リストで使用されているデータが含まれているフィールドを探し、必要に応じてそのデータを編集します。

ページの先頭へ

データ型がデータの入力方法に与える影響

データベーステーブルを設計するときは、テーブル内の各フィールドのデータ型を選択します。これにより、データ入力の精度が向上します。

データ型の表示

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

データシートビューを使用する

  1. テーブルを [データシート ビュー] で開きます。

  2. [フィールド] タブの [書式設定] グループで、[データ型] リストの値を確認します。 表のさまざまなフィールドにカーソルを置くと、値が変更されます。

    [データ型] リスト

デザインビューを使用する

  1. テーブルを [デザイン ビュー] で開きます。

  2. デザイングリッドを確認します。 グリッドの上の部分には、各テーブルフィールドの名前とデータ型が表示されます。

    デザインビューのフィールド

データ型がデータ入力に与える影響

各テーブルフィールドに対して設定したデータ型によって、フィールドに許可されるデータの種類の制御が最初のレベルになります。 長いテキストフィールドなどの場合、必要なデータを入力することができます。 たとえば、オートナンバー型フィールドのように、フィールドの [データ型] の設定を使用しても、情報を入力することはできません。 次の表は、 z0z_が提供するデータ型と、それらがデータ入力にどのように影響するかを示しています。

詳細については、「 Access デスクトップデータベースのデータ型」および「フィールドのデータ型の設定を変更または変更する」を参照してください。

データ型

データ入力への影響

短いテキスト

Access 2013 より、テキスト データ型の名称が「短いテキスト」に変更されました。

短いテキストフィールドには、項目の区切り記号付きリストなど、テキストまたは数字のいずれかを使用できます。 テキストフィールドに入力できる文字数の上限は、0 ~ 255 文字の長いテキストフィールドです。 場合によっては、変換関数を使って短いテキストフィールドのデータに対して計算を実行することができます。

長いテキスト

注: Access 2013 以降では、メモデータ型は長いテキストに名前が変更されています。

この種類のフィールドには、64000文字以内で大量のテキストと数値データを入力できます。 また、リッチテキスト書式をサポートするようにフィールドを設定すると、word などのワープロプログラムで通常表示される書式の種類を適用できます。 たとえば、テキスト内の特定の文字にさまざまなフォントとフォントサイズを適用し、太字や斜体などを設定することができます。 ハイパーテキストマークアップ言語 (HTML) タグをデータに追加することもできます。 詳細については、「リッチテキストフィールドを挿入または追加する」を参照してください。

さらに、長いテキストフィールドには、 Append のみというプロパティもあります。 このプロパティを有効にすると、長いテキストフィールドに新しいデータを追加することはできますが、既存のデータを変更することはできません。 この機能は、問題追跡データベースなどのアプリケーションで使用することを目的としていますが、変更できない永続的なレコードを保持する必要がある場合もあります。 [追加] プロパティが有効になっている長いテキストフィールドにカーソルを置くと、既定では、フィールド内のテキストは表示されなくなります。 テキストに書式設定やその他の変更を適用することはできません。

短いテキストフィールドのように、長いテキストフィールドのデータに対して変換関数を実行することもできます。

数値

この種類のフィールドには数値のみを入力できます。また、数値フィールドの値に対して計算を実行することができます。

大きい数値

注: 大きい数値データ型は、Office 365 サブスクリプションバージョンの Access でのみ使用できます。

この種類のフィールドには数値のみを入力できます。また、大きい数値フィールドの値に対して計算を実行することができます。

詳細については、「大きい数値データ型を使用する」を参照してください。

日付/時刻

この種類のフィールドには、日付と時刻のみを入力できます。 

フィールドに定型入力を設定することができます (フィールドを選んだときに表示される一連のリテラルとプレースホルダー文字)。また、マスクで指定された形式でデータを入力する必要があります。 たとえば、MMM_DD_YYYY のようなマスクが表示されている場合は、指定したスペースに 10 ~ 10 11 2017 を入力する必要があります。 月の完全な名前または2桁の年の値を入力することはできません。 詳細については、「定型入力を使用してデータ入力形式を制御する」を参照してください。

定型入力を作成しない場合は、有効な日付または時刻の形式を使用して値を入力できます。 たとえば、2017、10/11/17、10月11日、2017などを入力できます。

フィールドに表示形式を適用することもできます。 この場合、定型入力が存在しない場合は、ほぼすべての形式で値を入力できますが、日付は表示形式に応じて表示されます。 たとえば、「10/11/2017」と入力しても、表示形式が設定されている場合は、2017年10月11日の値が表示されるように設定することができます。

詳細については、「今日の日付を挿入する」を参照してください。

通貨型

この種類のフィールドには、通貨値のみを入力できます。 また、通貨記号を手動で入力する必要はありません。 既定では、Windows の地域設定で指定した通貨記号 (¥、£、$ など) が適用されます。 この通貨記号を変更して、必要に応じて別の通貨を反映させることができます。

オートナンバー型

この種類のフィールドのデータをいつでも入力したり変更したりすることはできません。 オートナンバー型フィールドの値は、テーブルに新しいレコードを追加するたびにインクリメントされます。

計算結果

この種類のフィールドのデータをいつでも入力したり変更したりすることはできません。 このフィールドの結果は、定義した式によって決まります。 テーブルに新しいレコードを追加または編集すると、集計フィールドの値が自動的に更新されます。

Yes/No

このデータ型に設定されているフィールドをクリックすると、フィールドの書式設定に応じて、チェックボックスまたはドロップダウンリストのいずれかが表示されます。 フィールドの書式を設定してリストを表示する場合は、フィールドに適用されている表示形式に応じて、 [はい]または [いいえ]、[ True ] または [ False]、または[オン] または [オフ] のいずれかを一覧から選ぶことができます。 リストに値を入力したり、フォームまたはテーブルから値を直接変更したりすることはできません。

OLE オブジェクト型

この種類のフィールドは、別のプログラムで作成したファイルのデータを表示する場合に使用します。 たとえば、テキストファイル、Excel グラフ、または PowerPoint スライドデッキを OLE オブジェクトフィールドに表示することができます。

添付ファイルは、より高速で簡単に、他のプログラムからのデータを表示するためのより柔軟な方法を提供します。

ハイパーリンク型

この種類のフィールドにデータを入力して、Web アドレスで折り返すことができます。 たとえば、フィールドに値を入力すると、http://www で文字列が囲まれます。your_text。 有効な Web アドレスを入力すると、リンクが機能します。 そうしないと、リンクによってエラーメッセージが表示されます。

また、マウスでハイパーリンクフィールドをクリックすると、ブラウザーが起動し、リンクに指定されているサイトに移動するため、既存のハイパーリンクを編集するのが難しい場合があります。 ハイパーリンクフィールドを編集するには、隣接するフィールドを選択し、TAB キーまたは方向キーを使用して、フォーカスを [ハイパーリンク] フィールドに移動し、F2 キーを押して編集を有効にします。

添付ファイル

他のプログラムのデータをこの種類のフィールドに添付することはできますが、テキストや数値データを入力したり、入力したりすることはできません。

詳細については、「データベースのレコードにファイルやグラフィックスを添付する」を参照してください。

ルックアップ ウィザード

ルックアップウィザードはデータ型ではありません。 代わりに、ウィザードを使用して、値リストとルックアップフィールドの2種類のドロップダウンリストを作成します。 値リストでは、ルックアップウィザードを使用するときに手動で入力する項目のリストが使用されます。 これらの値は、データベース内の他のデータまたはオブジェクトとは独立している可能性があります。

これに対して、ルックアップフィールドでは、クエリを使ってデータベース内の1つ以上のテーブルからデータを取得します。 ルックアップフィールドには、ドロップダウンリストのデータが表示されます。 既定では、ルックアップウィザードはテーブルのフィールドを数値データ型に設定します。

ルックアップフィールドは、テーブル、フォーム、レポートで直接操作できます。 既定では、ルックアップフィールドの値は、コンボボックスと呼ばれるリストコントロールの種類に表示されます。ドロップダウン矢印があるリスト。

空のルックアップ リスト

また、リストボックスを使用して、スクロールバーを使用して複数の項目を表示し、その他の項目を表示することもできます。

フォームの基本的なリスト ボックス コントロール

ルックアップフィールドとコンボボックスの設定方法に応じて、リスト内のアイテムを編集し、リストにアイテムを追加するには、ルックアップフィールドの "リストに制限" プロパティをオフにします。

リスト内の値を直接編集できない場合は、あらかじめ定義された値のリスト、またはルックアップフィールドのソースとして機能するテーブルのデータを追加または変更する必要があります。

最後に、ルックアップフィールドを作成するときに、必要に応じて、複数の値をサポートするように設定できます。 この操作を行うと、結果の一覧に各リスト項目の横にチェックボックスが表示され、必要に応じて、項目の数を選択またはクリアすることができます。 次の図は、複数値を持つ一般的な一覧を示しています。

チェック ボックス リスト

複数値を持つルックアップフィールドの作成と結果リストの使用については、「ルックアップフィールドに複数の値を格納する」を参照してください。

ページの先頭へ

テーブルフィールドのプロパティがデータの入力方法に与える影響

データベースの構造と、指定したフィールドに入力できることを制御するデータ型の設計上の原則に加えて、いくつかのフィールドプロパティも、Access データベースへのデータの入力方法に影響を与えることがあります。

テーブルのフィールドのプロパティを表示する

Access では、テーブルのフィールドのプロパティを2つの方法で表示できます。

データシートビューの場合

  1. テーブルを [データシート ビュー] で開きます。

  2. [フィールド] タブをクリックし、[書式設定] グループのコントロールを使用して、各テーブルのフィールドのプロパティを表示します。

デザインビュー

  1. テーブルを [デザイン ビュー] で開きます。

  2. まだ選択されていない場合は、グリッドの下部で [全般] タブをクリックします。

  3. ルックアップフィールドのプロパティを表示するには、[ルックアップ] タブをクリックします。

プロパティによるデータ入力への影響

次の表は、データ入力に最大の影響を与えるプロパティと、それらがデータ入力にどのように影響するかを示しています。

プロパティ

テーブルデザイングリッドの場所

指定可能な値

データを入力しようとした場合の動作

フィールド サイズ

[全般] タブ

0-255

文字の制限は、テキストデータ型に設定されたフィールドにのみ適用されます。 指定した文字数以上の文字を入力しようとすると、フィールドによってオフになります。

必須

[全般] タブ

Yes/No

このプロパティをオンにすると、フィールドに値を入力することが強制され、必要なフィールドを入力しない限り、新しいデータを保存することはできません。 オフにすると、フィールドに null 値が適用されます。つまり、フィールドは空白のままにすることができます。

null 値はゼロ値とは異なります。 0は数字で、"null" は存在しない値、未定義の値、または不明な値です。

長さ0の文字列を許可する

[全般] タブ

Yes/No

オンにすると、長さ0の文字列 (文字を含まない文字列) を入力できます。 長さ0の文字列を作成するには、フィールドに二重引用符のペア ("") を入力します。

インデックス

[全般] タブ

Yes/No

テーブルのフィールドにインデックスを作成すると、重複する値が追加されるのを防ぐことができます。 複数のフィールドからインデックスを作成することもできます。 この場合、1つのフィールドの値を複製することはできますが、両方のフィールドには値を複製することはできません。

定型入力

[全般] タブ

定義済みのリテラルおよびプレースホルダー文字のセット

定型入力を使用すると、定義済みの書式でデータを入力することが強制されます。 マスクは、テーブルまたはフォーム上のコントロールのフィールドを選択すると表示されます。 たとえば、日付フィールドをクリックして、次の一連の文字を表示したとします。 入力マスクです。 この場合、月の値を3文字の省略形 (oct など) として入力し、年の値を4桁の数字で表示します (例:10 ~ 15-2017)。

入力マスクは、データの入力方法を制御するだけで、Access がデータを保存または表示する方法には使用できません。

詳細については、「定型入力を使用してデータ入力形式を制御する」および「日付と時刻フィールドの書式を設定する」を参照してください。

リストに制限

[ルックアップ] タブ

Yes/No

ルックアップフィールドのアイテムへの変更を有効または無効にします。 ユーザーは、ルックアップフィールドの項目を手動で変更しようとすることがあります。 Access でフィールドのアイテムを変更できないようにする場合、このプロパティは[はい]に設定されます。 このプロパティが有効であり、リスト内の項目を変更する必要がある場合は、リスト (値リストを編集する場合) またはリストのソースデータを含むテーブル (ルックアップフィールドを編集する場合) を開き、そこで値を変更する必要があります。

値リストの編集の許可

[ルックアップ] タブ

Yes/No

値のリストに対して [リスト項目の編集] コマンドを有効または無効にします。ルックアップフィールドには使用できません。 ルックアップフィールドにそのコマンドを有効にするには、"リスト項目編集フォーム"プロパティに有効なフォーム名を入力します。 "値リストの編集の許可" コマンドが、リストボックスまたはコンボボックスコントロールを右クリックして開くショートカットメニューに表示されます。 このコマンドを実行すると、[リスト項目の編集] ダイアログボックスが表示されます。 または、"リスト項目編集フォーム" プロパティでフォームの名前を指定した場合、ダイアログボックスを表示する代わりに、そのフォームが開始されます。

[リスト項目の編集] コマンドは、フォームにあるリストボックスおよびコンボボックスコントロールから、またはテーブルとクエリの結果セットにあるコンボボックスコントロールから実行できます。 フォームは、デザインビューまたはブラウズビューで開く必要があります。テーブルとクエリ結果セットは、データシートビューで開く必要があります。

リスト項目編集フォーム

[ルックアップ] タブ

データ入力フォームの名前

このテーブルプロパティの値としてデータ入力フォームの名前を入力すると、ユーザーが [リスト項目の編集] コマンドを実行したときにそのフォームが開きます。 そうしないと、ユーザーがコマンドを実行したときに [リスト項目の編集] ダイアログボックスが表示されます。

ページの先頭へ

連鎖更新を使用して主キーと外部キーの値を変更する

場合によっては、主キーの値の更新が必要になることがあります。 この主キーを外部キーとして使用する場合は、外部キーのすべての子インスタンスを通じて、変更を自動的に更新することができます。

アラームとして、主キーは、データベーステーブルの各行 (レコード) を一意に識別する値です。 外部キーは、主キーと一致する列です。 通常、外部キーは他のテーブルに格納され、テーブル内のデータ間にリレーションシップ (リンク) を作成することができます。

たとえば、商品 ID 番号を主キーとして使用するとします。 1つの製品を一意に識別する ID 番号。 また、注文データのテーブルでは、その ID 番号を外部キーとして使用します。 こうすることで、各製品に関連するすべての注文を見つけることができます。これにより、その製品の注文が行われるたびに、その ID が注文の一部になります。

場合によっては、これらの ID 番号 (または他の種類の主キー) が変わることがあります。 その場合は、主キーの値を変更して、その変更をすべての関連子レコードで自動的に連鎖させることができます。 この動作を有効にするには、2つのテーブル間で参照整合性と連鎖更新をオンにします。

以下の重要なルールを覚えておいてください。

  • テキスト型または数値データ型に設定されている主キーフィールドに対してのみ、連鎖更新を有効にすることができます。 オートナンバー型に設定されたフィールドには、連鎖更新を使用できません。

  • 連鎖更新を有効にするには、一対多リレーションシップが設定されているテーブル間でのみ行うことができます。

リレーションシップの作成の詳細については、こちらを参照してください。 「テーブルのリレーションシップの概要」および「リレーションシップを作成、編集、または削除する」を参照してください。

次の手順を実行して、最初にリレーションシップを作成してから、そのリレーションシップの連鎖更新を有効にする方法について説明します。

リレーションシップを作成する

  1. [データベース ツール] タブの [表示/非表示] グループで [リレーションシップ] をクリックします。

  2. [デザイン] タブの [リレーションシップ] グループで、[テーブルの表示] をクリックします。

  3. [テーブルの表示] ダイアログボックスで、[テーブル] タブを選択し、変更するテーブルを選び、[追加]、[閉じる] の順にクリックします。

    SHIFT キーを押して複数のテーブルを選択することも、各テーブルを個別に追加することもできます。 リレーションシップの "一" 側と "多" 側にあるテーブルのみを選択します。

  4. リレーションシップウィンドウで、リレーションシップの "一" 側のテーブルから主キーをドラッグし、リレーションシップの "多" 側のテーブルの外部キーフィールドにドロップします。

    [リレーションシップ] ダイアログ ボックスが表示されます。 次の図は、このダイアログボックスを示しています。

    既存のリレーションシップを含む [リレーションシップの編集] ダイアログボックス

  5. [参照整合性] チェックボックスをオンにし、[作成] をクリックします。

主キーで連鎖更新を有効にする

  1. [データベース ツール] タブの [表示/非表示] グループで [リレーションシップ] をクリックします。

  2. リレーションシップウィンドウが表示され、データベース内のテーブル間の結合 (接続線として表示) が表示されます。 次の図は、一般的な関係を示しています。

  3. 親テーブルと子テーブルの間の結合線を右クリックし、[リレーションシップの編集] をクリックします。

    2 つのテーブル間のリレーションシップ

    [リレーションシップ] ダイアログ ボックスが表示されます。 次の図は、このダイアログボックスを示しています。

    [リレーションシップの編集] ダイアログボックス

  4. [関連フィールドの連鎖更新] を選択し、[参照整合性] チェックボックスがオンになっていることを確認して、[ OK]をクリックします。

ページの先頭へ

ID 番号が番号をスキップしているように見えるのはなぜですか。

オートナンバー型に設定されたフィールドを作成すると、すべての新規レコードでそのフィールドの値が自動的に生成されます。 この値は既定でインクリメントされるため、新しいレコードごとに次の連続した連続番号を取得できます。 オートナンバー型の目的は、主キーとして使用するのに適した値を指定することです。 詳細については、「主キーを追加、設定、変更、または削除する」を参照してください。

オートナンバー型に設定されているフィールドを含むテーブルから行を削除すると、その行のオートナンバー型フィールドの値が、常に自動的に再利用されるわけではありません。 そのため、Access によって生成される番号は、予期していた数値ではない可能性があります。また、ID 番号の順序でギャップが表示されることがあります。これは仕様です。 オートナンバー型フィールドの値の一意性のみを頼りにし、その順序は使用しないようにしてください。

ページの先頭へ

クエリを使用してデータを一括更新する

クエリの追加、更新、削除は、レコードを一括して追加、変更、削除するための強力な方法です。 さらに、データベース設計の適切な原則を使用すると、一括更新がより簡単かつ効率的に実行されます。 追加、更新、または削除クエリを使用すると、クエリを再利用することもできるため、時間が節約されます。

重要    これらのクエリを使用する前に、データをバックアップします。 手動でバックアップを作成することで、不注意によるミスを速やかに修正することができます。

クエリを追加する    1つ以上のテーブルに複数のレコードを追加する場合に使用します。 追加クエリの最も頻繁な使用の1つとして、ソースデータベースの1つ以上のテーブルからコピー先のデータベースの1つ以上のテーブルにレコードのグループを追加する方法があります。 たとえば、新しい顧客と、それらのユーザーに関する情報の表を含むデータベースを取得したとします。 新しいデータを手動で入力しなくても済むように、データベース内の適切なテーブルまたはテーブルに追加することができます。 詳細については、「追加クエリを使用してレコードをテーブルに追加する」を参照してください。

更新クエリ    多くの既存レコードの一部 (すべてではありません) を追加、変更、または削除するために使用します。 更新クエリは、[検索と置換] ダイアログ ボックスを強力にしたものと考えることができます。 選択条件 (検索文字列のおおまかな部分) と更新の抽出条件 (置換文字列のおおまかな意味) を入力します。 ダイアログボックスとは異なり、更新クエリでは、複数の条件を指定できます。1つのパスで多数のレコードを更新できるため、複数のテーブルのレコードを変更することができます。 詳細については、「更新クエリを作成して実行する」を参照してください。

クエリを削除する    大量のデータをすばやく削除するか、一連のデータを定期的に削除する場合は、クエリを使用すると、データをすばやく見つけて削除するための条件を指定できるため、削除が役立ちます。 詳細については、「レコードを追加、編集、および削除する方法」を参照してください。

ページの先頭へ

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

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

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

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

×