適切に設計されたデータベースは、データの整合性を確保するのに役立つだけでなく、保守と更新が容易です。 Access データベースは、Microsoft Word 文書や Microsoft PowerPoint スライド デッキと同じ意味でのファイルではありません。 代わりに、テーブル、フォーム、レポート、クエリなど、適切に機能するために一緒に機能する必要があるオブジェクトのコレクションです。
ユーザーは主にコントロールを通じてデータを入力します。 特定のコントロールに対して行う操作は、基になるテーブル フィールドに設定されたデータ型、そのフィールドに設定されたプロパティ、およびコントロールに設定されたプロパティによって異なります。 最後に、検証、既定値、リストと参照、カスケード更新などの追加のデータベース手法の使用を検討してください。
ユーザーの視点からデータを更新する方法の詳細については、「レコードを追加、編集、削除する方法 」を参照してください。
この記事の内容
データベース設計がデータ入力に与える影響
データベースに保持する情報は、資産や連絡先などの特定の主題に関するデータを含むテーブルに格納されます。 テーブル の 各レコードには、特定の連絡先など、1 つのアイテムに関する情報が含まれている。 レコードは、 名前、住所、電話番号などのフィールドで作成されます。 レコードは一般に行と呼ばしく、フィールドは一般に列と呼ばれる。 これらのオブジェクトは、一連の設計原則に従う必要があります。または、データベースがうまく動作しないか、または完全に失敗します。 さらに、これらの設計原則は、データの入力方法に影響します。 次の事項を検討します。
-
テーブル Access では、すべてのデータが 1 つ以上のテーブルに格納されます。 使用するテーブルの数は、データベースの設計と複雑さによって異なります。 フォーム、レポート、またはクエリによって返された結果でデータを表示することもできますが、Access はデータをテーブルにのみ格納し、データベース内の他のオブジェクトはそれらのテーブルの上に構築されます。 各テーブルは 1 つの主題に基づく必要があります。 たとえば、ビジネス用連絡先情報のテーブルに売上情報を含めずに入力します。 その場合、正しい情報を見つけて編集することは、不可能ではないにしても難しくなる可能性があります。
-
データ型 通常、テーブルの各フィールドは、1 種類のデータのみを受け入れる必要があります。 たとえば、数値を受け入れるフィールドにメモを保存することはできません。 このようなフィールドにテキストを入力しようとすると、エラー メッセージが表示されます。 ただし、これは難しい速いルールではありません。 たとえば、短いテキスト データ型に設定されたフィールドに数値 (郵便番号など) を格納できますが、Access ではテキストの一部と見なすので、そのデータに対して計算を実行することはできません。
一部の例外を除き、レコードのフィールドは 1 つの値のみを受け入れる必要があります。 たとえば、住所フィールドに複数の住所を入力できない場合があります。 これは、Microsoft Excel とは対照的に、制限された種類のデータを受け入れるセルを設定しない限り、1 つのセルに任意の数の名前またはアドレスまたは画像を入力できます。
-
複数値を持つフィールド 複数値を持つフィールドのデータは、非表示のテーブルの行として保存されます。 Access には、複数値を持つフィールドと呼ばれる機能が提供され、1 つのレコードに複数のデータを添付し、複数の値を受け入れるリストを作成できます。 Access では、各リスト アイテムの横にチェック ボックスが表示されるので、複数値を持つリストはいつでも識別できます。 たとえば、Microsoft PowerPoint スライド デッキと任意の数の画像をデータベース内のレコードに添付できます。 名前のリストを作成し、必要に応じてそれらの名前の数を選択できます。 複数値を持つフィールドを使用すると、テーブル フィールドごとに複数のレコードを格納できるので、データベース設計のルールを破る可能性があります。 ただし、Access では、特殊な非表示のテーブルにデータを格納することで、"背後で" ルールを適用します。
-
フォームを使用する 通常は、データベースを使いやすくする場合や、ユーザーがデータを正確に入力するために役立つフォームを作成します。 フォームを使用してデータを編集する方法は、フォームのデザインによって異なります。 フォームには、リスト、テキスト ボックス、ボタン、データシートなど、任意の数のコントロールを含めることができます。 フォーム上の各コントロールによって、基になるテーブル フィールドからのデータの読み取り、またはそのフィールドへのデータの書き込みが行われます。
詳細については、「データベース設計の 基本」と「 テーブルを作成して フィールドを追加する」を参照してください。
フィールドまたはコントロールの既定値を設定する
都市や国/地域など、特定のフィールドで同じ値を共有するレコードの数が多い場合は、そのフィールドまたはフィールド自体にバインドされているコントロールの既定値を設定すると、時間を節約できます。 フォームまたはテーブルを開き、新しいレコードを作成すると、そのコントロールまたはフィールドに既定値が表示されます。
テーブル内
-
テーブルを [デザイン ビュー] で開きます。
-
ビューの上部で、フィールドを選択します。
-
ビューの下部にある [全般] タブ を選択 します。
-
[既定値] プロパティを必要な値に設定します。
フォームの場合
-
レイアウト ビューまたはデザイン ビューでフォームを開きます。
-
操作するコントロールを右クリックし、[プロパティ] をクリック します。
-
[データ ] タブ で、[既定値] プロパティ を必要な値に設定します。
入力規則を使用してデータを制限する
入力規則を使用して、入力時に Access デスクトップ データベースのデータを検証できます。 入力規則は、テーブル デザインまたはテーブル データシート ビューのいずれかで設定できます。 Access の入力規則には次の 3 種類があります。
-
フィールドの入力規則 フィールドの入力規則を使用して、すべての有効なフィールド値が満たす必要がある条件を指定できます。 関数内でフィールドを使用している場合を除き、現在のフィールドをルールの一部として指定する必要はありません。 フィールドに入力する文字の種類の制限は、[定型入力] を使って行うと簡単になる場合があります。 たとえば、日付フィールドには、過去の値を許可しない入力規則が存在することがあります。
-
レコードの入力規則 レコードの入力規則を使用して、すべての有効なレコードが満たす必要がある条件を指定できます。 レコードの入力規則を使用して異なるフィールド間の値を比較できます。 たとえば、2 つの日付フィールドを含むレコードでは、一方のフィールドの値が他のフィールドの値の前に必ず先行する必要がある場合があります (たとえば、StartDate は EndDate より前です)。
-
フォームの入力規則 フォーム上のコントロールの "入力規則" プロパティを使用して、そのコントロールに入力する値はすべて満たす必要がある条件を指定できます。 [入力規則] コントロール プロパティは、フィールドの入力規則と同じように機能します。 通常は、使用場所にかかわらず、規則がフォームのみに固有で、テーブルに対して固有でない場合は、フィールドの入力規則ではなく、フォームの入力規則を使用します。
詳細については、「入力規則を使用 してデータ入力を制限する」を参照してください。
値リストとルックアップ フィールドを操作する
Access には 2 種類のリスト データがあります。
-
値リスト これには、手動で入力したハード コードされた値のセットが含まれます。 値は、フィールドの "値ソース " プロパティに存在します。
-
ルックアップ フィールド クエリを使用して、別のテーブルから値を取得します。 フィールド の "値ソース " プロパティには、ハードコードされた値のリストではなく、クエリが含まれます。 クエリは、データベース内の 1 つ以上のテーブルから値を取得します。 既定では、ルックアップ フィールドはリスト形式でこれらの値を表示します。 ルックアップ フィールドの設定方法に応じて、そのリストから 1 つ以上のアイテムを選択できます。
Note アイテムのリストが 1 つの場所 (ルックアップ フィールドのデータから作成されるリスト) に表示されるが、データが別の場所 (データを含むテーブル) に存在する場合、ルックアップ フィールドは新しい Access ユーザーを混乱させる可能性があります。
既定では、リスト データはコンボ ボックス コントロールに表示されます。ただし、リスト ボックス コントロールは指定できます。 コンボ ボックスが開き、リストが表示され、選択が完了すると閉じます。 これに対し、リスト ボックスは開いたままです。
リストを編集するには、[リスト アイテムの編集] コマンドを実行するか、ソース テーブルの[値ソース] プロパティで直接データを編集することもできます。 ルックアップ フィールドのデータを更新すると、ソース テーブルが更新されます。
リスト ボックスまたはコンボ ボックスの "値集合タイプ" プロパティが [値リスト] に設定されている場合は、フォーム ビューでフォームを開いたまま値リストを編集できます。そのため、リストに変更を加える必要がある場合に、デザイン ビューまたはレイアウト ビューに切り替えてプロパティ シートを開き、コントロールの [値集合ソース] プロパティを編集する必要がありません。 値リストを編集するには、リスト ボックスまたはコンボ ボックスの "値リストの編集の許可" プロパティを [はい] に設定する必要があります。
詳細については、「リスト ボックスまたは コンボ ボックスを使用して選択肢のリストを作成する」を参照してください。
フォーム ビューでの値リストの編集を禁止する
-
ナビゲーション ウィンドウでフォームを右クリックし、[デザイン ビュー] または [レイアウト ビュー] をクリックします。
-
コントロールをクリックして選び、F4 キーを押してプロパティ シートを表示します。
-
プロパティ シートの [データ] タブで、"値リストの編集の許可" プロパティを [いいえ] に設定します。
-
[ファイル ] を クリックし、[保存] を クリックするか、Ctrl キーを押しながら S キーを
。
別のフォームを指定して値リストを編集する
Access の既定では、値リストを編集する目的のために組み込みのフォームが用意されています。 この目的のために別のフォームを使用する場合は、次のようにフォームの名前を [リスト項目編集フォーム] プロパティに入力できます。
-
ナビゲーション ウィンドウでフォームを右クリックし、ショートカット メニューの [デザイン ビュー] または [レイアウト ビュー] をクリックします。
-
コントロールをクリックして選び、F4 キーを押してプロパティ シートを表示します。
-
プロパティ シートの [データ] タブで、"リスト項目編集フォーム" プロパティ ボックスのドロップダウン矢印をクリックします。
-
値リストの編集に使用するフォームをクリックします。
-
[ファイル] をクリックし 、[保存] を クリックするか、Ctrl キーを押しながら S キーを押
。
フォームのルックアップ フィールドを調べる
-
レイアウト ビューまたはデザイン ビューでフォームを開きます。
-
リスト ボックスまたはコンボ ボックス コントロールを右クリックし、[プロパティ] を クリックします。
-
プロパティ シートで、[すべて]タブをクリックし、[値ソースの種類] プロパティと [行ソース] プロパティを探します。 "値リスト" または"テーブル/クエリ" プロパティには値リストまたはテーブル/クエリが含まれている必要があります。"行ソース" プロパティには、セミコロンまたはクエリで区切られた項目のリストを含む必要があります。 スペースを広くするには、プロパティを右クリックし、[ズーム] を選択するか、Shift キーを 押しながら F2 キーを押します。
通常、値リストでは、"item ";"という基本的な構文が使用されます。item";"item"
この場合、リストは二重引用符で囲まれ、セミコロンで区切られた一連の項目です。
選択クエリでは、次の基本的な構文を使用します: SELECT [ table_or_query_name].[field_name ]FROM [ table_or_query_name].
この場合、クエリには 2 つの句 (SELECT と FROM) が含まれています。 最初の句は、テーブルまたはクエリと、そのテーブルまたはクエリ内のフィールドを参照します。 2 番目の句は、テーブルまたはクエリのみを参照します。 SELECT 句にはテーブルまたはクエリの名前を含めずに、推奨されるフィールド名を含め、少なくとも 1 つのフィールドの名前を含めなければならないという点に注意してください。 一方、すべての FROM 句は常にテーブルまたはクエリを参照しています。 したがって、FROM 句を読み取って、ルックアップ フィールドのソース テーブルまたはソース クエリをいつでも検索できます。
-
次のいずれかの操作を行います。
-
値リストを使用している場合は、リスト内のアイテムを編集します。 各項目を二重引用符で囲み、各項目をセミコロンで区切ります。
-
ルックアップ リストのクエリが別のクエリを参照している場合は、その 2 番目のクエリをデザイン ビューで 開きます (ナビゲーション ウィンドウでクエリを右クリックし、[デザイン ビュー] を クリックします)。 クエリ デザイナーの上部に表示されるテーブルの名前をメモし、次の手順に進みます。
それ以外の場合は、ルックアップ フィールドのクエリがテーブルを参照している場合は、テーブルの名前をメモし、次の手順に進みます。
-
-
データシート ビューでテーブル を開き、必要に応じてリスト アイテムを編集します。
テーブルのルックアップ フィールドを調べる
-
テーブルを [デザイン ビュー] で開きます。
-
クエリ デザイン グリッドの上部にある [データ型] 列で、テキスト、数値、または Yes/No フィールドをクリックするか、フォーカスを移動します。
-
テーブル デザイン グリッドの下部で、[ルックアップ]タブをクリックし、[値ソースの種類] プロパティと [行ソース] プロパティを確認します。
値リストまたはテーブル/クエリを読み取る必要があります。 " 値ソース" プロパティ には、値リストまたはクエリが含まれている必要があります。
値リストでは、次の基本的な構文 を使用します: " item";"item";"item"
この場合、リストは二重引用符で囲まれ、セミコロンで区切られた一連の項目です。
通常、選択クエリでは、SELECT [table_or_query_name].field_name ]FROM [ table_or_query_name].
この場合、クエリには 2 つの句 (SELECT と FROM) が含まれています。 最初の句は、テーブルまたはクエリと、そのテーブルまたはクエリ内のフィールドを参照します。 2 番目の句は、テーブルまたはクエリのみを参照します。 SELECT 句にはテーブルまたはクエリの名前を含めずに、推奨されるフィールド名を含め、少なくとも 1 つのフィールドの名前を含めなければならないという点に注意してください。 一方、すべての FROM 句は常にテーブルまたはクエリを参照しています。 したがって、FROM 句を読み取って、ルックアップ フィールドのソース テーブルまたはソース クエリをいつでも検索できます。
-
次のいずれかの操作を行います。
-
値リストを使用している場合は、リスト内のアイテムを編集します。 各項目を二重引用符で囲み、各項目をセミコロンで区切ります。
-
ルックアップ フィールドのクエリが別のクエリを参照している場合は、ナビゲーション ウィンドウで、その 2 番目のクエリをデザイン ビューで開きます (クエリを右クリックし、[デザイン ビュー] を クリックします)。 クエリ デザイナーの上部に表示されるテーブルの名前をメモし、次の手順に進みます。
それ以外の場合は、ルックアップ フィールドのクエリがテーブルを参照している場合は、テーブルの名前をメモし、次の手順に進みます。
-
-
データシート ビューでテーブル を開き、必要に応じてリスト アイテムを編集します。
値リストまたはルックアップ フィールドからデータを削除する
値リストの項目は、レコードの他の値と同じテーブルに存在します。 一方、ルックアップ フィールドのデータは、1 つ以上の他のテーブルに存在します。 値リストからデータを削除するには、テーブルを開き、アイテムを編集します。
ルックアップ リストからデータを削除するには追加の手順が必要です。これらの手順は、ルックアップ リストのクエリがテーブルまたは別のクエリのデータを取得するかどうかによって異なります。 ルックアップ リストのクエリがテーブルに基づく場合は、そのテーブルとリストに表示されるデータを含むフィールドを識別します。 次に、ソース テーブルを開き、そのフィールドのデータを編集します。 ルックアップ リストのクエリが別のクエリに基づいている場合は、その別のクエリを開き、そのクエリがデータの取得先としているテーブルおよびフィールドを検索して、そのテーブル内の値を変更します。
値リストからデータを削除する
-
テーブルを [デザイン ビュー] で開きます。
-
デザイン グリッドの上部で、値リストが含まれるテーブル フィールドを選択します。
-
デザイン グリッドの下部で、[ルックアップ] タブをクリックし、[値集合ソース] プロパティを見つけます。
既定では、値リストの項目は二重引用符で囲まれており、各項目はセミコロンで区切られています。たとえば、"Excellent";"Fair";"Average";"Poor" のようになっています。
-
必要に応じて、リストから項目を削除します。 削除する各項目を囲んでいる引用符も削除してください。 さらに、先頭のセミコロンやセミコロンのペア (;;) が残らないようにし、リストの最後の項目を削除する場合は、最後のセミコロンを削除します。
重要 値リストから削除した項目がテーブル内のレコードによって既に使用されている場合、削除された項目は、変更を加えない限り、レコードの一部として残ります。 たとえば、会社が A 市に倉庫を所有していて、その建物を売却した場合を想定します。 倉庫の一覧から "A 市" を削除しても、それらの値に変更を加えない限り、テーブルには "A 市" というレコードが残ります。
ルックアップ フィールドからデータを削除する
-
テーブルを [デザイン ビュー] で開きます。
-
デザイン グリッドの上部で、ルックアップ フィールドを選択します。
-
デザイン グリッドの下部で [ルックアップ] タブをクリックし、[値集合タイプ] プロパティと [値集合ソース] プロパティを探します。
[値集合タイプ] プロパティに [テーブル/クエリ] が表示され、[値集合ソース] プロパティにテーブルまたは別のクエリを参照するクエリが含められます。 ルックアップ フィールドのクエリは、常に SELECT という単語で始 まります。
通常 (ただし、必ずというわけではない)、次の基本的な書式を使用するクエリを選択します: SELECT [table_or_query_name].[field_name] FROM [table_or_query_name]
この場合、クエリには 2 つの句 (SELECT と FROM) が含まれています。 最初の句はテーブルとそのテーブル内のフィールドを参照しているのに対し、2 番目の句はテーブルのみを参照しています。 注意する必要があるのは、FROM 句では常に取得先テーブルまたはクエリの名前が宣言されているという点です。 SELECT 句にはテーブルまたはクエリの名前が常に含まれているわけではありませんが、少なくとも 1 つのフィールドは必ず含まれています。 一方、すべての FROM 句は常にテーブルまたはクエリを参照しています。
-
次のいずれかの操作を行います。
-
ルックアップ フィールドのクエリが別のクエリを参照している場合は、[ビルド] ボタン(プロパティ シートの [データ] タブの [次へ]
をクリック) をクリックして、クエリをデザイン ビューで開きます。 クエリ デザイナーの上部に表示されるテーブルの名前を書き留め、手順 5 に進みます。
-
ルックアップ フィールドのクエリがテーブルを参照している場合、テーブルの名前を書き留め、手順 5 に進みます。
-
-
データシート ビューでソース テーブル を開きます。
-
ルックアップ リストで使用されているデータが含まれているフィールドを探し、必要に応じてそのデータを編集します。
データ型がデータの入力方法に与える影響
データベース テーブルをデザインする場合は、そのテーブルの各フィールドにデータ型を選び、より正確なデータ入力を実現します。
データ型を表示する
次のいずれかの操作を行います。
データシート ビューを使用する
-
テーブルを [データシート ビュー] で開きます。
-
[フィールド ] タブ の [ 書式] グループで、[データ型] リストの値を確認します。 値は、テーブルのさまざまなフィールドにカーソルを置く際に変更されます。
デザイン ビューを使用する
-
テーブルを [デザイン ビュー] で開きます。
-
デザイン グリッドを確認します。 グリッドの上部には、各テーブル フィールドの名前とデータ型が表示されます。
データ型がデータ入力に与える影響
各テーブル フィールドに設定するデータ型は、フィールドで許可されるデータの種類を第 1 レベルで制御できます。 [長いテキスト] フィールドなど、必要なデータを入力できる場合があります。 オートナンバー型フィールドなどの他のケースでは、フィールドのデータ型の設定により、情報を一切入力する必要がなされます。 次の表に、使用できるデータ型 Access 、データ入力への影響について説明します。
詳細については 、「Access デスクトップ データベースのデータ型」および「フィールドのデータ型の設定を変更 する」を参照してください。
データ型 |
データ入力への影響 |
---|---|
短いテキスト Access 2013 より、テキスト データ型の名称が「短いテキスト」に変更されました。 |
短いテキスト フィールドは、項目の区切りリストを含む、テキストまたは数値のいずれかを受け入れる。 テキスト フィールドは、長いテキスト フィールドよりも文字数が少ない (0 から 255 文字まで) 入力できます。 変換関数を使用して、[短いテキスト] フィールドのデータに対して計算を実行できる場合があります。 |
長いテキスト メモ型はAccess 2013長いテキスト型に 名前が変更されています。 |
この種類のフィールドには、最大 64,000 文字まで、大量のテキストおよび数値データを入力できます。 また、リッチ テキスト形式をサポートするフィールドを設定し、Word などのワード プロセス プログラムで通常使用する書式の種類を適用できます。 たとえば、テキスト内の特定の文字に異なるフォントやフォント サイズを適用し、太字や斜体にできます。 また、ハイパーテキスト マークアップ言語 (HTML) タグをデータに追加することもできます。 詳細については、「リッチ テキスト フィールドを 挿入または追加する」を参照してください。 また、長いテキスト フィールドには、"追加のみ" という プロパティがあります。 このプロパティを有効にした場合、長いテキスト フィールドに新しいデータを追加できますが、既存のデータを変更することはできません。 この機能は、問題追跡データベースなどのアプリケーションで使用することを目的としています。変更できない永続的なレコードを保持する必要がある場合があります。 既定では、[追加のみ] プロパティが有効になっている長いテキスト フィールドにカーソルを置く場合、フィールドのテキストは表示されなくなります。 テキストに書式や他の変更を適用することはできません。 短いテキスト フィールドと同様に、長いテキスト フィールドのデータに対して変換関数を実行することもできます。 |
数 |
この種類のフィールドには数値のみを入力し、[数値] フィールドの値に対して計算を実行できます。 |
大きい数値 大きい数値データ型は、Access のサブスクリプション バージョン Microsoft 365 でのみ使用できます。 |
この種類のフィールドには数値のみを入力し、[大きい数値] フィールドの値に対して計算を実行できます。 詳細については、「大きい数値データ型を使用する」を参照してください。 |
日付と時刻に関する数式 |
この種類のフィールドには、日付と時刻のみを入力できます。 フィールドに定型入力を設定できます (フィールドを選択すると表示される一連のリテラル文字とプレースホルダー文字)、スペースとマスクが提供する書式にデータを入力する必要があります。 たとえば、MMM_DD_YYYY などのマスクが表示される場合は、指定されたスペースに「Oct 11 2017」と入力する必要があります。 月全体の名前、または 2 桁の年の値を入力することはできません。 詳細については、「入力マスクを 使用してデータ入力形式を制御する」を参照してください。 入力マスクを作成しない場合は、任意の有効な日付または時刻の形式を使用して値を入力できます。 たとえば、2017 年 10 月 11 日、2017 年 10 月 11 日、2017 年 10 月 11 日などと入力できます。 フィールドに表示形式を適用することもできます。 その場合、定型入力がない場合は、ほぼすべての形式で値を入力できますが、Access では表示形式に従って日付が表示されます。 たとえば、2017/10/11 と入力できますが、表示形式が設定され、値が 2017 年 10 月 11 日として表示されます。 詳細については、「今日の日付 を挿入する」を参照してください。 |
通貨 |
この種類のフィールドには通貨値のみを入力できます。 また、通貨記号を手動で入力する必要はありません。 既定では、Windows の地域設定で指定された通貨記号 (¥、£、$など) が適用されます。 この通貨記号は、必要に応じて別の通貨を反映するように変更できます。 |
オートナンバー |
この種類のフィールドのデータは、いつでも入力または変更できます。 テーブルに新しいレコードを追加するたびに、オートナンバー型フィールドの値がインクリメントされます。 |
計算結果 |
この種類のフィールドのデータは、いつでも入力または変更できます。 このフィールドの結果は、定義した式によって決まります。 テーブルに新しいレコードを追加または編集するたびに、集計フィールドの値が更新されます。 |
Yes/No |
このデータ型に設定されているフィールドをクリックすると、フィールドの書式に応じて、チェック ボックスまたはドロップダウン リストが表示されます。 リストを表示するフィールドの書式を設定する場合は、フィールドに適用されている書式に応じて、リストから[はい] または [いいえ]、TrueまたはFalse、または[オン] または [オフ] のいずれかを再び選択できます。 リストに値を入力したり、フォームまたはテーブルから直接リストの値を変更したりすることはできません。 |
OLE オブジェクト |
この種類のフィールドは、別のプログラムで作成されたファイルのデータを表示する場合に使用します。 たとえば、OLE オブジェクト フィールドにテキスト ファイル、Excel グラフ、PowerPoint スライド デッキを表示できます。 添付ファイルを使用すると、他のプログラムからのデータをより高速、簡単、柔軟に表示できます。 |
ハイパーリンク |
この種類のフィールドに任意のデータを入力すると、Access によって Web アドレスで折り返されます。 たとえば、フィールドに値を入力すると、Access によってテキストがフィールドで囲 http://www。your_text.com. 有効な Web アドレスを入力すると、リンクが機能します。 それ以外の場合は、リンクがエラー メッセージになります。 また、マウスでハイパーリンク フィールドをクリックするとブラウザーが起動し、リンクで指定されたサイトに移動します。 ハイパーリンク フィールドを編集するには、隣接するフィールドを選択し、Tab キーまたは方向キーを使用してフォーカスをハイパーリンク フィールドに移動し、F2 キーを押して編集を有効にします。 |
添付ファイル |
他のプログラムからこの種類のフィールドにデータを添付できますが、テキストまたは数値データを入力したり、入力したりすることはできません。 詳細については、「データベース内の レコードにファイルとグラフィックスを添付する」を参照してください。 |
ルックアップ ウィザード |
ルックアップ ウィザードはデータ型ではありません。 代わりに、このウィザードを使用して、値リストとルックアップ フィールドの 2 種類のドロップダウン リストを作成します。 値リストでは、ルックアップ ウィザードを使用するときに手動で入力した項目の区切りリストが使用されます。 これらの値は、データベース内の他のデータまたはオブジェクトとは独立して使用できます。 これに対し、ルックアップ フィールドはクエリを使用して、データベース内の他の 1 つ以上のテーブルからデータを取得します。 ルックアップ フィールドには、ドロップダウン リストにデータが表示されます。 既定では、ルックアップ ウィザードはテーブル フィールドを数値データ型に設定します。 ルックアップ フィールドは、テーブル内で直接操作できる他、フォームやレポートでも操作できます。 既定では、ルックアップ フィールドの値はコンボ ボックスと呼ばれるリスト コントロールの種類 (ドロップダウン矢印を含むリスト) に表示されます。
スクロール バーに複数のアイテムを表示するリスト ボックスを使用して、その他のアイテムを表示することもできます。
ルックアップ フィールドとコンボ ボックスの設定方法に応じて、ルックアップ フィールドの [リストに制限] プロパティをオフにして、リスト内のアイテムを編集し、リストにアイテムを追加できます。 リストの値を直接編集できない場合は、定義済みの値リスト、またはルックアップ フィールドのソースとして機能するテーブルのデータを追加または変更する必要があります。 最後に、ルックアップ フィールドを作成するときに、必要に応じて、複数の値をサポートするルックアップ フィールドを設定できます。 この操作を行う場合、結果のリストには各リスト アイテムの横にチェック ボックスが表示され、必要に応じてアイテムの数を選択またはクリアできます。 次の図は、一般的な複数値リストを示しています。
複数値を持つルックアップ フィールドの作成と結果のリストの使用については、「複数値を持つフィールドを作成または 削除する」を参照してください。 |
テーブル のフィールド プロパティがデータの入力方法に与える影響
データベースの構造と、特定のフィールドに入力できるデータを制御するデータ型を制御する設計原則に加えて、いくつかのフィールド プロパティは、Access データベースへのデータの入力方法にも影響を与える可能性があります。
テーブル フィールドのプロパティを表示する
Access には、テーブル フィールドのプロパティを表示する 2 つの方法があります。
データシート ビューの場合
-
テーブルを [データシート ビュー] で開きます。
-
[フィールド] タブをクリックし、[書式] グループのコントロールを使用して、各テーブル フィールドのプロパティを表示します。
デザイン ビュー
-
テーブルを [デザイン ビュー] で開きます。
-
グリッドの下部で、[全般] タブが選択されていない場合はクリックします。
-
ルックアップ フィールドのプロパティを表示するには、[ルックアップ] タブ をクリック します。
プロパティがデータ入力に与える影響
次の表に、データ入力に最も大きな影響を与えるプロパティと、データ入力への影響について説明します。
プロパティ |
テーブル デザイン グリッド内の場所 |
指定可能な値 |
データの入力時の動作 |
---|---|---|---|
フィールド サイズ |
[全般] タブ |
0-255 |
文字制限は、テキスト データ型に設定されているフィールドにのみ適用されます。 指定した文字数を超える文字数を入力すると、フィールドによって文字が切り取らされます。 |
必須 |
[全般] タブ |
Yes/No |
このプロパティをオンにすると、フィールドに値を入力する必要が生じ、必要なフィールドを入力するまで、新しいデータは保存されます。 オフにすると、フィールドは Null 値を受け取ります。つまり、フィールドは空白のままになります。 Null 値は、ゼロ値と同じではありません。 ゼロは 1 桁の数字で、"null" は不足している値、未定義の値、または不明な値です。 |
長さ 0 の文字列を許可する |
[全般] タブ |
Yes/No |
有効にすると、長さ 0 の文字列 (文字を含めない文字列) を入力できます。 長さ 0 の文字列を作成するには、フィールド ("") に二重引用符のペアを入力します。 |
インデックス |
[全般] タブ |
Yes/No |
テーブル フィールドにインデックスを作成すると、重複する値を追加する機能は使用されます。 複数のフィールドからインデックスを作成することもできます。 この操作を行う場合は、1 つのフィールドの値を複製できますが、両方のフィールドには値を複製できない可能性があります。 |
定型入力 |
[全般] タブ |
リテラル文字とプレースホルダー文字の定義済みセットまたはユーザー設定のセット |
入力マスクを使用すると、事前に定義された書式でデータを入力する必要があります。 テーブル内のフィールドまたはフォーム上のコントロールを選択すると、マスクが表示されます。 たとえば、Date フィールドをクリックすると、MMM-DD-YYYY という文字セットが表示されます。 これは、入力マスクです。 OCT などの 3 文字の省略形として月の値を入力し、年の値を 4 桁の数字 (OCT-15-2017 など) として入力する必要があります。 入力マスクはデータの入力方法のみを制御し、Access によるそのデータの保存方法や表示方法は制御しない。 詳細については、「入力マスク を使用してデータ入力形式を制御する」および 「 日付と時刻のフィールドを書式設定する」を参照してください。 |
リストに制限 |
[ルックアップ] タブ |
Yes/No |
ルックアップ フィールドのアイテムの変更を有効または無効にします。 ユーザーがルックアップ フィールドのアイテムを手動で変更しようとする場合があります。 フィールド内のアイテムを変更できると、このプロパティは [はい] に設定 されます。 このプロパティが有効であり、リスト内のアイテムを変更する必要がある場合は、リスト (値リストを編集する場合) またはリストのソース データを含むテーブル (ルックアップ フィールドを編集する場合) を開き、値を変更する必要があります。 |
値リストの編集の許可 |
[ルックアップ] タブ |
Yes/No |
ルックアップ フィールドではなく、値リスト の [ リスト アイテムの編集] コマンドを有効または無効にします。 ルックアップ フィールドに対してこのコマンドを有効にするには、[リスト アイテム編集フォーム] プロパティに有効なフォーム 名を入力 します。 [値リストの編集を許可] コマンドは、リスト ボックスまたはコンボ ボックス コントロールを右クリックして開いたショートカット メニューに表示されます。 コマンドを実行すると、[リスト アイテムの 編集] ダイアログ ボックスが表示されます。 または、[フォームの編集] プロパティでフォームの名前を指定すると、ダイアログ ボックスが表示されるのではなく、そのフォームが起動します。 リスト ボックスとフォームにあるコンボ ボックス コントロール、およびテーブルやクエリ結果セットにあるコンボ ボックス コントロールから、[リスト アイテムの編集] コマンドを実行できます。 フォームはデザイン ビューまたは参照ビューで開く必要があります。テーブルとクエリ結果セットはデータシート ビューで開く必要があります。 |
リスト項目編集フォーム |
[ルックアップ] タブ |
データ入力フォームの名前 |
このテーブル プロパティの値としてデータ入力フォームの名前を入力すると、ユーザーが [リストアイテムの編集] コマンドを実行すると、そのフォーム が開 きます。 それ以外の場合は、ユーザーが コマンドを実行 するときに [リスト アイテムの編集] ダイアログ ボックスが表示されます。 |
カスケード更新を使用して主キーと外部キーの値を変更する
主キーの値を更新する必要がある場合があります。 その主キーを外部キーとして使用する場合は、外部キーのすべての子インスタンスを通じて変更を自動的に更新できます。
主キーとは、データベーステーブルの各行 (レコード) を一意に識別する値です。 外部 キーとは、 主キーと一致する列です。 通常、外部キーは他のテーブルに存在し、外部キーを使用すると、テーブル内のデータ間にリレーションシップ (リンク) を作成できます。
たとえば、プロダクト ID 番号を主キーとして使用するとします。 1 つの ID 番号は、1 つの製品を一意に識別します。 また、注文データのテーブルでは、その ID 番号を外部キーとして使用します。 この方法では、誰かがその製品を注文すると、ID が注文の一部になるので、各製品に関連するすべての注文を検索できます。
ID 番号 (または他の種類の主キー) が変更される場合があります。 その場合は、主キーの値を変更し、その変更を関連する子レコードの間で自動的に連鎖することができます。 この動作を有効にするには、2 つのテーブル間で参照整合性とカスケード更新を有効にします。
次の重要なルールに注意してください。
-
カスケード更新を有効にできるのは、テキスト型または数値型に設定されている主キー フィールドに対するのみです。 オートナンバーデータ型に設定されたフィールドにカスケード更新を使用することはできません。
-
一対多リレーションシップを持つテーブル間でのみ、カスケード更新を有効にできます。
リレーションシップの作成の詳細については、次を参照してください。 「テーブルリレーションシップのガイド」と 「リレーションシップを作成、編集、または削除する」を参照してください。
次の手順では、リレーションシップを作成し、そのリレーションシップのカスケード更新を有効にする方法について説明します。
リレーションシップを作成する
-
[データベース ツール] タブの [表示/非表示] グループで [リレーションシップ] をクリックします。
-
[デザイン] タブの [リレーションシップ]グループで、[テーブルの追加] (テーブルをテーブルに表示) を Access 2013。
-
[テーブル] タブを選択し、変更するテーブルを選択し、[追加] をクリックして、[閉じる] をクリックします。
Shift キーを押して複数のテーブルを選択するか、各テーブルを個別に追加できます。 リレーションシップの "一" 側と "多" 側のテーブルのみを選択します。
-
リレーションシップウィンドウで、リレーションシップの "一" 側のテーブルから主キーをドラッグし、リレーションシップの "多" 側のテーブルの外部キー フィールドにドロップします。
[リレーションシップ] ダイアログ ボックスが表示されます。 次の図は、ダイアログ ボックスを示しています。
-
[参照 整合性] チェック ボックスをオンにして、[ 作成] を クリックします。
主キーでカスケード更新を有効にする
-
[データベース ツール] タブの [表示/非表示] グループで [リレーションシップ] をクリックします。
-
リレーションシップ ウィンドウが 表示され、データベース内のテーブル間の結合 (接続線として表示) が表示されます。 次の図は、一般的なリレーションシップを示しています。
-
親テーブルと子テーブルの間の結合線を右クリックし、[リレーションシップの編集] を クリックします。
[リレーションシップ] ダイアログ ボックスが表示されます。 次の図は、ダイアログ ボックスを示しています。
-
[フィールドの連鎖更新] を選び、[参照整合性を適用する] チェック ボックスがオンの場合は、[OK]をクリックします。
ID 番号が数字をスキップしているように見える理由
オートナンバーデータ型に設定されたフィールドを作成すると、新しいレコードごとにそのフィールドの値が自動的に生成されます。 値は既定でインクリメントされ、すべての新しいレコードが次に使用可能な連続番号を取得します。 オートナンバーデータ型の目的は、主キーとして使用するために適した値を提供することです。 詳細については、「主キーを 追加、設定、変更、または削除する」を参照してください。
オートナンバーデータ型に設定されているフィールドを含むテーブルから行を削除すると、その行のオートナンバー型フィールドの値が自動的に再利用されない場合があります。 このため、Access で生成される数値が予想される数ではない可能性があり、ID 番号のシーケンスにギャップが表示される場合があります。これは設計上の理由です。 オートナンバー型フィールドの値の一意性のみを使用し、順序には依存しない必要があります。
クエリを使用してデータを一括更新する
追加クエリ、更新クエリ、削除クエリは、レコードを一括で追加、変更、または削除する強力な方法です。 さらに、データベース設計の優れた原則を使用すると、一括更新がより簡単かつ効率的に実行できます。 追加クエリ、更新クエリ、または削除クエリを使用すると、クエリを再利用できるので、時間を節約できます。
重要 これらのクエリを使用する前に、データをバックアップします。 バックアップを手に入れると、誤って間違いを修正するのに役立ちます。
クエリを追加する 1 つ以上のテーブルに多くのレコードを追加するために使用します。 追加クエリの最も頻繁な用途の 1 つは、ソース データベース内の 1 つ以上のテーブルからコピー先データベースの 1 つ以上のテーブルにレコードのグループを追加する方法です。 たとえば、新しい顧客を取得し、それらの顧客に関する情報のテーブルを含むデータベースを取得したとします。 新しいデータを手動で入力しないように、データベース内の適切なテーブルに追加できます。 詳細については、追加クエリを 使用してテーブルにレコードを追加するを参照してください。
更新クエリ 多数の既存レコードの一部 (すべてではなく) を追加、変更、または削除するために使用します。 更新クエリは、[検索と置換] ダイアログ ボックスを強力にしたものと考えることができます。 選択条件 (検索文字列に相当する大まかな基準) と更新条件 (置換文字列に相当する大まかな基準) を入力します。 ダイアログ ボックスとは異なり、更新クエリは複数の条件を受け入れ、1 回のパスで多数のレコードを更新し、複数のテーブルのレコードを変更できます。 詳細については、「更新クエリを 作成して実行する」を参照してください。
クエリを削除する 多くのデータをすばやく削除する場合や、定期的にデータ セットを削除する場合は、クエリで条件を指定してデータをすばやく検索および削除できるので、削除が便利です。 詳細については、「レコードを 追加、編集、削除する方法」を参照してください。