データベースのデータを更新する

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

この記事では、既存のデータを更新する方法について説明します。Microsoft Office Access 2007には、データシート、フォーム、クエリ、検索/置換など、既存のレコードを更新するためのさまざまなツールが用意されています。

続行すると、データの更新は、新しいデータの入力と同じプロセスではないことに注意してください。データベースに新しいデータを入力する方法の詳細については、「データベースに1つ以上のレコードを追加する」を参照してください。

この記事の内容

データベース設計の更新に与える影響

データ型が更新に与える影響

テーブルフィールドのプロパティが更新に与える影響

フォームを使用してデータを更新する

データシートを使用して更新する

更新クエリを使用して既存のデータを変更する

追加クエリを使用してレコードをテーブルに追加する

カスケード更新プログラムを使用して主キーと外部の値を変更する

データベース設計の更新に与える影響

このセクションは、リレーショナルデータベースの背後にある概念にアクセスしたり、不慣れな場合に初めて参照してください。データベース設計の基本原則について理解している場合、大規模な更新プログラムの実行がより簡単になりました。

Access データベースは、 Microsoft Office Word 2007ドキュメントまたはMicrosoft Office PowerPoint 2007スライドデッキと同じ意味でのファイルではありません。代わりに、一般的な Access データベースは、テーブルのコレクションに加えて、それらのテーブルの周囲に構築された一連のオブジェクト (フォーム、レポート、クエリなど) です。

さらに、これらのオブジェクトは一連の設計原則に従う必要があります。または、データベースが不完全に動作するか、または完全に失敗します。さらに、これらの設計原則は、データの入力方法に影響します。次の手順に従って、データベースオブジェクトとデザインについて説明します。

  • いくつかの例外 (値リストと呼ばれるリストの種類など) を使用すると、Access によってすべてのデータが1つ以上のテーブルに保存されます。テーブルの数は、データベースの設計と複雑さによって異なります。フォーム、レポート、またはクエリによって返される結果のデータを表示または更新することはできますが、Access にはテーブル内のデータのみが格納されます。

  • 各テーブルには、1つの懸案事項、カテゴリ、または目的のデータを保存する必要があります。たとえば、ビジネス用連絡先情報のテーブルには、売上情報を含めることはできません。そうでない場合は、正しい情報を見つけることは困難になる可能性があります。

  • テーブル内の各フィールドでは、1種類のデータのみを受け取ることができます。たとえば、番号を受け入れるように設定したノートをフィールドに保存しないようにします。このようなフィールドにテキストを入力しようとすると、エラーメッセージが表示されます。

  • 1つの例外を除き、レコード内のフィールドは1つの値のみを受け入れる必要があります。たとえば、適切に設計されたデータベースを使用すると、アドレスフィールドに複数のアドレスを入力することができなくなります。これはMicrosoft Office Excel 2007とは対照的に、既定では、制限された種類のデータを受け付けるように設定している場合を除き、1つのセルに任意の数の名前、住所、または画像を入力できます。

    ただし、 Office Access 2007では、複数値を持つフィールドと呼ばれる新しい機能も用意されています。複数値を持つフィールドを使用して1つのレコードにデータを添付したり、複数の数値を受け取るリストを作成したりできます。たとえば、テキストファイル、 Office PowerPoint 2007スライドデッキ、任意の数の画像をデータベースのレコードに添付できます。また、名前のリストを作成し、必要に応じてそれらの名前の多くを選択することもできます。複数値を持つフィールドの使用は、テーブルフィールドごとに複数のデータを保存できるため、データベース設計のルールを破るように見えることがありますが、実際には、特別な非表示のテーブルにデータを保存することで、"舞台裏" のルールが適用されます。

次のリンクを参照してください。このセクションで説明されているトピックと機能について詳しく説明している記事を参照してください。

  • データベース設計の基本-この記事では、データベースの計画、データの設計、正規化といった基本的な概念について説明します。これは、データを関連テーブルに分割し、重複データを除去するプロセスです。

  • データベースにテーブルを作成する: この記事では、テーブルを作成する方法、主キー (テーブル内の各行またはレコードを一意に識別するフィールド)、データ型とテーブルのプロパティを設定する方法について説明します。

  • データベースのレコードにファイルやグラフィックスを添付する-この記事では、1つまたは複数のデータを添付ファイルフィールドに添付する方法について説明します。

  • 複数の値を格納しているリストを使用します。これらの記事では、チェックボックスリストとチェックボックスドロップダウンリストを使用して1つ以上の値を格納する方法について説明します。

ページの先頭へ

データ型が更新に与える影響

このセクションは、リレーショナルデータベースの背後にある概念にアクセスしたり、不慣れな場合に初めて参照してください。データベース設計の基本原則について理解している場合、大規模な更新プログラムの実行がより簡単になりました。

データベーステーブルを設計するときは、そのテーブルの各フィールドのデータ型を選択し、より正確なデータ入力を確実に行うためのプロセスです。たとえば、売上数値を計算する必要があるため、フィールドの数値データ型を指定したとします。他のユーザーがそのフィールドにテキストを入力しようとすると、エラーメッセージが表示され、変更したレコードを保存することはできません。図を保護するための手順です。

データ型を表示する方法を表示する

Access では、テーブルフィールドのデータ型を表示する2つの方法が提供されるようになりました。[データシート] タブのコマンドを使用するか、デザインビューでテーブルを開くことができます。次の手順では、両方の手法を使用する方法について説明します。

[データシート] タブのコマンドを使用した表示形式

  1. ナビゲーションウィンドウで、使用するテーブルをダブルクリックします。

  2. 調査するフィールドをクリックします。

  3. [データシート] タブの [種類と書式設定] グループで、[データ型] リストの下矢印をクリックして、フィールドに設定されているデータ型を表示します。

デザインビューでデータ型を表示する

  • ナビゲーション ウィンドウでテーブルを右クリックし、ショートカット メニューの [デザイン ビュー] をクリックします。

    Access はデザイングリッドでテーブルを開き、グリッドの上のセクションには各テーブルフィールドの名前とデータ型が表示されます。

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

各テーブルフィールドに設定されているデータ型によって、できることやフィールドに入力できないことを制御するための最初のレベルが提供されます。場合によっては、データ型の設定によってすべての情報が入力されないようにすることができます。次の表に、 Office Access 2007が提供するデータ型と、データ入力に与える影響について説明します。

データ型

データ入力に対する影響

テキスト

テキストフィールドでは、区切られた項目のリストを含む、文字列または数字を使用できます。テキストフィールドでは、メモ型フィールドよりも小さい文字数を受け取ります。 0 ~ 255 文字を指定します。場合によっては、変換関数を使用して、テキストフィールドのデータに対して計算を実行することができます。

メモ

この種類のフィールドには、大量のテキストと数値データを入力できます。また、データベースデザイナーがリッチテキストの書式設定をサポートするようにフィールドを設定している場合は、 Office Word 2007などのワープロプログラムで通常検索する書式の種類を適用できます。たとえば、テキスト内の特定の文字に異なるフォントやフォントサイズを適用したり、太字や斜体などを設定したりすることができます。また、データにハイパーテキストマークアップ言語 (HTML) タグを追加することもできます。

メモ型フィールドでリッチテキスト形式を使用する方法の詳細については、「行と列のデータを書式設定する」を参照してください。

テキストフィールドと同様に、メモ型フィールドのデータに対して変換関数を実行することもできます。

数値

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

日付/時刻

この種類のフィールドには、日付と時刻のみを入力できます。データベースデザイナーがフィールドを設定する方法によっては、次の条件が発生することがあります。

  • データベースデザイナーがフィールドの定型入力 (フィールドを選択したときに表示される一連のリテラルとプレースホルダー文字) を設定した場合は、スペースにデータを入力する必要があります。たとえば、MMM_DD_YYYY などのマスクが表示されている場合は、指定したスペースにその形式の日付を入力する必要があります (Oct 11 2006 など)。完全な月の名前 (7 月など)、または2桁の年の値を入力することはできません。

  • デザイナーが日付または時刻の入力方法を制御する定型入力を作成しなかった場合は、有効な日付または時刻の形式を使用して値を入力できます。たとえば、2006、10/11/06、10月11日、2006と入力できます。

  • データベースデザイナーによって、フィールドに表示形式が適用される場合があります。この場合、入力マスクが存在しない場合、ほぼすべての形式で値を入力できますが、表示形式に従って日付が表示されます。たとえば、10/11/2006 と入力することはできますが、表示形式が設定されていて、値が 11-Oct-2006 と表示されることがあります。

    定型入力の詳細については、「行と列のデータを書式設定する」を参照してください。

通貨

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

オートナンバー型

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

Yes/No

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

OLE オブジェクト型

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

添付ファイルを使うと、他のプログラムのデータをすばやく簡単に、さらに柔軟に表示することができます。詳細については、この表の後の添付ファイルのエントリを参照してください。

ハイパーリンク

この種類のフィールドには任意のデータを入力できます。また、Access では、Web アドレスにラップします。たとえば、フィールドに値を入力すると、次のように、Access では、http://www のように、統一されたリソースロケータ (URL) テキストを使用してテキストを囲みます。your_text有効な Web アドレスを入力すると、リンクが機能します。それ以外の場合は、リンクによってエラーメッセージが表示されます。また、マウスでハイパーリンクフィールドをクリックすると、Web ブラウザーが起動し、リンクで指定されたサイトに移動するので、既存のハイパーリンクを編集するのは難しい場合があります。ハイパーリンクフィールドを編集するには、隣接するフィールドを選択して、TAB キーまたは方向ボタンを使用してフォーカスを [ハイパーリンク] フィールドに移動し、F2 キーを押して編集を有効にします。

添付ファイル

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

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

ルックアップ ウィザード

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

これに対して、ルックアップフィールドはクエリを使用して、データベース内の他のテーブルまたは別の場所 ( Windows SharePoint Services 3.0を実行しているサーバーなど) からデータを取得します。ルックアップフィールドには、ドロップダウンリストのデータが表示されます。既定では、ルックアップウィザードによってテーブルフィールドが数値データ型に設定されます。

ルックアップフィールドは、テーブル内、またフォームやレポートで直接操作できます。既定では、ルックアップフィールドの値は、コンボボックスと呼ばれるリストコントロールの種類に表示されます。ドロップダウン矢印があるリスト: 空のルックアップ リスト 。データベースデザイナーがルックアップフィールドとコンボボックスをどのように設定したかによって、リスト内のアイテムを編集してリストにアイテムを追加することができます。これを行うには、データベースデザイナーがルックアップフィールドのプロパティを設定する必要があります (プロパティは [制限] リストと呼ばれ、デザイナーは無効にします)。

ルックアップリストの値を直接編集できない場合は、定義済みの値の一覧のデータを追加または変更するか、またはルックアップフィールドのソースとして使用されているテーブルに含まれている必要があります。詳細については、「データベースに1つ以上のレコードを追加する」の記事の「ルックアップフィールドのアイテムを編集する」のセクションを参照してください。

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

チェック ボックス一覧

複数値を持つルックアップフィールドを作成し、結果のリストを使用する方法の詳細については、 この記事のリストを参照してください

ページの先頭へ

テーブルフィールドのプロパティが更新に与える影響

このセクションは、リレーショナルデータベースの背後にある概念にアクセスしたり、不慣れな場合に初めて参照してください。テーブルフィールドに設定されているプロパティが更新にどのように影響するかを理解しない限り、大規模な更新を正常に実行できません。

データベースを設計するときは、通常、1つ以上のテーブルを設計することから始めます。各テーブルに含まれるデータの種類を決定し、主キーを設定します。各テーブルの各レコード (行) を一意に識別するフィールドで、テーブル間のリレーションシップを作成します。

そのプロセスの一部として、各テーブルのフィールドのプロパティを設定します。たとえば、テキストフィールドを設定して、50文字以内であることを確認できます。また、数値フィールドを設定して、通貨値のみを受け取ることができます。

ほとんどのフィールドプロパティは、デザインビューを使って設定できます。ただし、リボンのグループのコマンド ( Microsoft Office Fluent ユーザー インターフェイスの一部) を使用して、一部のプロパティを設定することもできます。たとえば、[ホーム] タブの [フォント] グループのコマンドを使用して、テキストとメモのフィールドに視覚的な書式を設定できます。これらのコマンドの使用方法の詳細については、「行と列のデータを書式設定する」を参照してください。

テーブルフィールドのプロパティを設定または変更する方法について説明します。

Access では、テーブルフィールドのプロパティを表示するための2つの方法が用意されています。 [データシート] タブのコマンドを使用するか、デザインビューでテーブルを開くことができます。次の手順では、両方の手法を使用する方法について説明します。

[データシート] タブのコマンドを使用してテーブルのプロパティを表示する

  1. ナビゲーションウィンドウで、使用するテーブルをダブルクリックします。

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

デザインビューでテーブルのプロパティを表示する

  1. ナビゲーションウィンドウでテーブルを右クリックし、[デザインビュー] をクリックします。

    Access では、デザイングリッドでテーブルが開かれます。

  2. グリッドの下部にある [フィールドプロパティ] で、[全般] タブをクリックします (まだ選択されていない場合)。

    または

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

    ルックアップフィールドは、値のハードコーディングされたリスト、またはデータベース内の1つ以上のテーブルから値を取得するクエリのいずれかを使用するテーブルフィールドです。既定では、ルックアップフィールドはこれらの値をリストの形式で表示します。データベースデザイナーがルックアップフィールドをどのように設定するかに応じて、そのリストから1つ以上のアイテムを選ぶことができます。

    ルックアップフィールドは、新しい access ユーザーを混乱させることがありますが、1つの場所 (ルックアップフィールドのデータから access が作成するリスト) に項目のリストが含まれているため、データは別の場所 (データを含むテーブル) に存在する可能性があります。ルックアップフィールドのデータを更新する場合は、ソーステーブル (2 番目の場所) を更新する必要があることに注意してください。リストからルックアップフィールドを更新することはできません。

次の表は、データ入力に最大の影響を与え、その影響を説明するテーブルプロパティを示しています。

プロパティ

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

使用可能な値

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

フィールド サイズ

[全般] タブ

0-255

文字の制限は、テキストデータ型に設定されているフィールドにのみ適用します。指定した文字数を超える値を入力しようとすると、そのフィールドは切り取られます。

必須

[全般] タブ

Yes/No

このプロパティをオンにすると、フィールドに値を入力するように強制され、フィールドを完了するまで新しいデータを保存できません。オフにすると、フィールドは null 値を受け取ります。このフィールドは空白のままであることを意味します。

注: null 値は0と同じものではありません。ゼロは数字であり、Access は計算に使うことができます。null は、不明、未定義、または不明の値です。

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

[全般] タブ

Yes/No

有効にすると、長さ0の文字列 (文字が含まれていない文字列) を入力できます。長さ0の文字列を作成するには、二重引用符のペア ("") を入力し、enter キーを押します。

Indexed

[全般] タブ

Yes/No

テーブルフィールドにインデックスを設定すると、重複する値を追加することができなくなります。

定型入力

[全般] タブ

定義済みまたはカスタムのリテラルとプレースホルダー文字のセット

定型入力を使用すると、事前に定義された形式でデータを入力するように強制されます。マスクは、フォームのテーブルまたはコントロールのフィールドを選択したときに表示されます。たとえば、日付フィールドをクリックして、次の文字セットを表示するとします。 (MMM-DD-YYYY)。その一連の文字は定型入力として知られています。月の値を10月などの3文字の省略形として入力し、年の値を2つではなく4桁にするように強制します。そのマスクが表示された場合は、OCT-15-2006 などの日付を入力します。

注: 入力マスクは、データの入力方法を制御するだけであり、Access ではそのデータを表示する方法ではないことに注意してください。たとえば、OCT-15-2006 として日付を入力することはできますが、Access には、書式設定文字を持たない値を10152006として保存する場合があります。次に、テーブル、フォーム、またはレポートで日付を表示すると、Access が10/15/2006 として表示されるように設定することがあります。

定型入力を作成して使用する方法の詳細については、「行と列のデータを書式設定する」を参照してください。

表示コントロール

[ルックアップ] タブ

値は、フィールドに設定されているデータ型によって異なります。

テキストと数値のフィールドでは、テキストボックス、リストボックス、またはコンボボックスコントロールを選ぶことができます。Yes/No フィールドの場合は、チェックボックス、テキストボックス、またはコンボボックスコントロールを選ぶことができます。

注: リストボックスまたはコンボボックス以外を選択した場合、[ルックアップ] タブの残りのプロパティは非表示になります。

値集合ソースの種類

[ルックアップ] タブ

テーブル/クエリ
値リスト
のフィールドリスト

[表示コントロール] プロパティボックスをリストボックスまたはコンボボックスに設定した場合は、このプロパティを [テーブル/クエリ]、[値リスト]、または[フィールドリスト] に設定できます。さらに、このプロパティは、[行ソース] プロパティで使用できる値の種類を制御します。次のエントリを参照してください。

値集合ソース

[ルックアップ] タブ

[行ソースの種類] プロパティによって異なります。

[行ソースの種類] プロパティを [テーブル/クエリ] に設定すると、このプロパティフィールドにはテーブルまたはクエリの名前を含めることができます。プロパティに [値] リストを設定した場合、このプロパティには、セミコロン (;) で区切られた値のリストが含まれています。[行ソースの種類] プロパティを [フィールドリスト] に設定した場合、このプロパティには、テーブル、クエリ、または構造化クエリ言語 (SQL) ステートメントの名前が含まれています。

リストに制限する

[ルックアップ] タブ

Yes/No

[はい] に設定すると、ユーザーがコンボボックスコントロールにテキストを入力するときに、一致する値が検索されます。もう1つの方法として、 [はい] を設定すると、先読みが有効になります。[はい] 設定では、リストまたはコンボボックスコントロールから直接リスト内のアイテムを編集できないようにします。代わりに、ユーザーは [行ソース] プロパティボックスの項目を編集する必要があります。またはルックアップフィールドの場合は、ルックアップフィールドのソースデータが含まれているテーブル内のアイテムを編集します。ルックアップフィールドの使用方法の詳細については、「データベースに1つ以上のレコードを追加する」の「ルックアップフィールドのアイテムを編集する」を参照してください。

値リストの編集の許可

[ルックアップ] タブ

Yes/No

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

[リスト項目の編集] コマンドを実行するには、フォームにあるリストボックスとコンボボックスコントロールと、テーブルとクエリの結果セットにあるコンボボックスコントロールを使用します。フォームは、デザインビューまたは参照ビューで開く必要があります。テーブルとクエリの結果セットは、データシートビューで開く必要があります。

リスト項目編集フォーム

[ルックアップ] タブ

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

この table プロパティにデータ入力フォームの名前を指定すると、ユーザーが[リスト項目の編集] コマンドを実行すると、そのフォームが開きます。それ以外の場合は、ユーザーがコマンドを実行すると、[リスト項目の編集] ダイアログボックスが表示されます。

データベーステーブルを設計してプロパティを設定する方法の詳細については、次の記事を参照してください。

  • データベース設計の基本事項については、データベースの計画、データの設計、正規化といった基本的な概念について説明します。これは、データを関連テーブルに分割し、重複データを除去するプロセスです。

  • データベースでテーブルを作成する方法について説明します。テーブルを作成し、主キー (テーブル内の各行またはレコードを一意に識別するフィールド) を追加し、データ型とテーブルのプロパティを設定する方法を示します。

ページの先頭へ

フォームを使用してデータを更新する

フォームを使用して、少量のデータを更新します。この場合、"small" は、手動で更新する任意の数のレコードを意味します。フォームを使用すると、少量のデータを編集したり更新したりするための、より簡単でより正確な方法を提供できます。

フォームを使用してデータを編集する方法は、フォームのデザインによって異なります。フォームには、リスト、テキストボックス、ボタン、データシートなど、任意の数のコントロールを含めることができます。 Excel ワークシートのように見えるグリッド。さらに、フォーム上の各コントロールは、基になるテーブルフィールドにデータを読み書きします。特定のコントロールについては、基になるテーブルフィールドに設定されているデータ型、そのフィールドに設定したプロパティ、およびデータベースデザイナーがコントロールごとに設定するいくつかのプロパティによって異なります。データ型とフィールドプロパティがデータ入力に与える影響の詳細については、この記事の前の「データ型がデータの入力方法に与える影響と、テーブルフィールドのプロパティがデータの入力方法に与える影響について」を参照してください。

次のセクションでは、最も一般的なデータ入力コントロールの使用方法について説明します。特定のデータベースについて質問がある場合は、システム管理者またはデータベースデザイナーにお問い合わせください。

テキストボックス内のテキストを追加または編集する

Access では、テキストとメモフィールドを使用するための1つのテキストコントロールが用意されています。通常、基になるフィールドがコントロールのサイズによってテキストまたはメモであるかどうかを判断できます。これは通常、基になるテーブルフィールドのサイズを反映します。たとえば、50文字以内のテキストフィールドにコントロールをバインドすると、それに応じてコントロールのサイズが変更されます。対照的に、コントロールをメモ型のフィールドにバインドする場合は、スクロールすることなく、1つまたは2つの段落のテキストを表示するようにコントロールのサイズを変更できます。

さらに、リッチテキスト形式をサポートするメモ型フィールドを設定することもできます。その後、さまざまなフォント、サイズ、スタイル、色をテキストに適用できます。

テキストボックス内のテキストを編集する

  • テキストボックスにカーソルを置き、データを変更します。テキストまたはメモ型フィールドでは、数値に対して計算を実行できないことに注意してください。

リッチテキスト形式の書式設定を適用する

注: 次の手順は、テキストボックスがメモ型フィールドに連結されている場合にのみ実行できます。この記事の前の「テーブルフィールドのプロパティを表示する」の手順を参照してください。

  1. テーブルをデータシートビューで開いたまま、[メモ] フィールドを選択します。通常、"コメント"、"メモ"、"説明" という名前のフィールドを探すことができます。

  2. [ホーム] タブの [フォント] で、ボタンとメニューを使用してテキストの書式を設定します。

    さまざまなフォントやサイズを適用したり、テキストを太字または斜体にしたり、色を変更したりすることができます。

ページの先頭へ

データシートを使用して更新する

データシートビュー (Excel ワークシートと同じような行と列のグリッド) を直接使用して変更できます。テーブル、クエリの結果セット、データシートを表示するフォームで、変更することができます。

通常、データシートを使用するのは、レコードの数が少ないか、1つのレコードの一部だけを変更する必要がある場合です。Excel に精通している場合は、データシートを理解しやすくする必要があります。また、クエリを作成して実行する機能など、アクセスについてより深い知識を持たずに変更を加えることができます。

このような事実を覚えておいてください。

  • 変更を明示的に保存する必要はありません。カーソルを同じ行の新しいフィールドに移動したり、ポインターを別の行に移動したりしたときに、そのテーブルにアクセスがコミットされます。

  • 既定では、Access データベース内のフィールドは、テキストや数値などの特定の種類のデータを受け付けるように設定する必要があります。フィールドを受け入れるように設定されているデータの種類を入力する必要があります。そうしないと、エラーメッセージが表示されます。

  • フィールドに定型入力が適用されている可能性があります。定型入力は、リテラルとプレースホルダー文字のセットであり、特定の形式でデータを入力することを強制します。たとえば、郵便番号の定型入力では、フランス語の形式に準拠したデータが必要になる場合がありますが、携帯電話の定型入力では、ドイツ語の形式で番号を入力する必要がある場合があります。

    定型入力の詳細については、「行と列のデータを書式設定する」を参照してください。

  • 添付ファイルと複数値を持つリストを除き、ほとんどのフィールドに入力できるのは1つだけです。フィールドに添付ファイルがあるかどうかがわからない場合は、データベースデザイナーまたはシステム管理者に問い合わせてください。各リスト項目の横にチェックボックスが表示されるため、複数値を持つリストをいつでも識別できます。

データシートを変更する

  1. ナビゲーションウィンドウで、変更するデータが含まれているテーブルまたはクエリをダブルクリックします。

    既定では、テーブルまたはクエリはデータシートビュー (Excel ワークシートに似たグリッド) で開きます。

  2. 変更する最初のフィールドにフォーカスを移動し、データを編集します。

  3. 次のフィールドに移動するには、tab キーを押すか、いずれかの方向を使用します。または、次のフィールドをクリックします。

    tab キーを押すと、既定では、Windows の地域の設定が使用され、カーソルが左または右に移動するかどうかを判断できます。コンピューターが左から右に読み上げられる言語を使用するように設定されている場合、tab キーを押すと、カーソルが右に移動します。コンピューターが右から左に読み上げられる言語に設定されている場合、カーソルは左に移動します。

メモ型フィールドのデータにリッチテキスト形式を適用する

  1. テーブルまたはクエリの結果がデータシートビューで開いている場合は、[メモ] フィールドを選択します。

    通常、"コメント"、"メモ"、"説明" という名前のフィールドを探すことができます。それでもメモフィールドが見つからない場合は、この記事の前の「テーブルフィールドのプロパティを表示する」の手順を参照してください。

  2. [ホーム] タブの [フォント] で、ボタンとメニューを使用してテキストの書式を設定します。

    さまざまなフォントやサイズを適用したり、テキストを太字または斜体にしたり、色を変更したりすることができます。

ページの先頭へ

更新クエリを使用して既存のデータを変更する

update クエリを使用して、1つ以上の既存のレコードの一部 (すべてではありません) を追加、変更、または削除します。更新クエリは、[検索と置換] ダイアログボックスの強力なフォームと見なすことができます。選択条件 (検索文字列に相当する大まかな) と更新条件 (置換文字列に相当するラフ) を入力します。このダイアログボックスとは異なり、update クエリでは複数の条件を満たすことができます。1つのパスで多数のレコードを更新できるようにし、1つ以上のテーブルのレコードを変更できるようにします。

更新クエリを使用してレコード全体を追加することはできないことに注意してください。これを行うには、追加クエリを使用します。

詳細については、「追加クエリを使用してテーブルにレコードを追加する」を参照してください。

注: 更新クエリを使用する最も安全な方法は、最初に選択クエリを作成して、選んだ抽出条件をテストすることです。たとえば、特定の顧客に対して yes/no フィールドの系列を [いいえ] から[はい]に更新する場合を考えます。そのためには、選択クエリに抽出条件を追加して、そのユーザーに必要なレコードをすべて返します。正しいレコードがあることを確認したら、選択クエリを更新クエリに変換し、更新条件を入力してから、クエリを実行して選択した値を更新します。このセクションの手順では、選択クエリを作成し、それを更新クエリに変換する方法について説明します。

選択クエリを作成する

  1. 更新するレコードのあるデータベースを開きます。

  2. [作成] タブの [その他] グループで、[クエリ デザイン] をクリックします。

    クエリデザイナーが開き、[デザイン] タブが表示され、[テーブルの表示] ダイアログボックスが開きます。

  3. 更新するレコードが含まれているテーブルを選択し、[追加] をクリックして、[閉じる] をクリックします。

    テーブルは、クエリデザイングリッドの上部に1つまたは複数のウィンドウとして表示され、windows は各テーブルのすべてのフィールドをリストします。次の図は、一般的なテーブルを持つクエリデザイナーを示しています。

    クエリ デザイナー内のテーブル

  4. 更新するフィールドをダブルクリックします。選択したフィールドは、クエリデザイナーの下のセクションの [フィールド]行に表示されます。

    テーブルフィールドの一覧の上部にあるアスタリスク (*) をダブルクリックして、テーブル内のすべてのフィールドを簡単に追加することができます。または、下のセクションの1つの列について、表を追加することができます。次の図は、すべてのフィールドが追加されたクエリデザイナーを示しています。

    すべてのテーブル フィールドが追加されたクエリ。

  5. 必要に応じて 1 つ以上の抽出条件をデザイン グリッドの [条件] 行に入力することもできます。次の表に抽出条件の例を紹介し、それがクエリに与える効果を説明します。

抽出条件

効果

> 234

234 より大きいすべての数値を返します。234 より小さいすべて数値を検索するには、<234 を使用します。

>= "Callahan"

キャラハンからアルファベットの末尾までのすべてのレコードを返します。

Between #2/2/2006# And #12/1/2006#

2-02-06 ~ 01-12-06 (ANSI-89) の日付を返します。データベースで ANSI-92 ワイルドカード文字を使用している場合は、シャープ記号 (') ではなく、単一引用符 (') を使用します。例: ' 2/2/2006 ' と ' 12/1/2006 ' の間

Not "千葉県"

フィールドの内容が "千葉県" と完全に一致しないすべてのレコードを検索します。この抽出条件は、"千葉県" およびそれ以外の文字 ("千葉県 (関東)" や "関東 (千葉県)" など) が含まれるレコードも返します。

Not "タ*"

先頭が "タ" 以外のすべてのレコードを検索します。データベースで ANSI-92 ワイルドカード文字セットが使用されている場合、アスタリスク (*) の代わりにパーセント記号 (%) を使用します。

Not "*タ"

末尾の文字が "タ" でないすべてのレコードを検索します。データベースで ANSI-92 ワイルドカード文字セットが使用されている場合、アスタリスク (*) の代わりにパーセント記号 (%) を使用します。

In(東京都,大阪府)

リストから "東京都" または "大阪府" を含むすべてのレコードを検索します。

Like "[ア-サ]*"

テキストフィールドで、a から D までの文字で始まるすべてのレコードを検索します。データベースで ANSI-92 ワイルドカード文字セットを使用している場合は、アスタリスクではなくパーセント記号 (%) を使用します。

Like "*株式*"

"株式" という文字シーケンスが含まれたすべてのレコードを検索します。データベースで ANSI-92 ワイルドカード文字セットが使用されている場合は、アスタリスク (*) の代わりにパーセント記号 (%) を使用します。

Like "株式会社?"

先頭の 4 文字が "株式会社" でその後に任意の 1 文字が続く 5 文字のすべてのレコードを検索します。データベースで ANSI-92 ワイルドカード文字セットが使用されている場合、疑問符 (?) の代わりにアンダースコア (_) を使用します。

#2/2/2006#

2006 年 2 月 2 日のレコードをすべて検索します。ANSI-92 ワイルドカード文字を使用するデータベースの場合は、データをシャープ記号ではなく引用符で囲みます ('2/2/2006')。

< Date() - 30

日付が 30 日を超えるレコードをすべて返します。

Date()

本日の日付を含むレコードをすべて検索します。

Between Date() And DateAdd("M", 3, Date())

本日から 3 か月後の日付までのレコードをすべて返します。

Is Null

Null 値 (空白または未定義の値) を含むすべてのレコードを返します。

Is Not Null

値を含むすべてのレコードを返します。

""

長さがゼロの文字列を含むレコードをすべて返します。必須フィールドに値を追加する必要があるけれども、まだその値が不明な場合に長さがゼロの文字列を使用します。たとえば、FAX 番号を要求するフィールドがあり、一部の顧客が FAX を持っていない場合などが考えられます。その場合は、番号の代わりに間にスペースを含まない二重引用符のペア ("") を入力します。

  1. [デザイン] タブの [結果] グループで、[実行] をクリックします。

    更新するレコードだけがクエリによって返されたことを確認します。必要に応じて、不要なフィールドを選択し、DELETE キーを押して削除したり、デザイングリッドに追加のフィールドをドラッグしたりすることができます。クエリの結果が満たされるまで、抽出条件を変更できます。

  2. 次の手順に進みます。

レコードを更新する

  1. [デザイン] タブの [クエリの種類] グループで、[更新] をクリックします。

    これにより、選択クエリが更新クエリに変更されます。Access では、クエリデザイナーの下部にある [更新] 行が追加されます。

    更新抽出条件が 1 つの更新クエリ

  2. 変更するデータが含まれているフィールドを見つけ、そのフィールドの [更新日] 行で式を入力します (データは変更されます)。

    次の表に、式の例と、この式によってデータがどのように変更されるかを示します。

結果

"販売員"

テキスト型フィールドで、テキスト データを "販売員" に変更します。

#8/10/06 #

日付/時刻型フィールドで、日付値を 10-Aug-06 に変更します。

Yes

Yes/No フィールドで、"No" 値を "Yes" に変更します。

"PN" & [部品番号]

指定した各部品番号の先頭に "PN" を追加します。

[単価] * [数量]

"単価" フィールドと "数量" フィールドの値を乗算します。

[運送料] * 1.5

"運送料" フィールドの値を 5 割増にします。

DSum("[数量] * [単価]",
"受注明細", "[商品コード]=" & [商品コード])

現在のテーブルの商品コード値が注文の詳細という名前のテーブルの商品コード値と一致する場合、この式は、単価という名前のフィールドの値によって、数量という名前のフィールドの値を乗算して売上合計を更新します。

Right([発送先郵便番号], 5)

テキストまたは数値文字列の左端の文字を切り捨て、右端の5文字を残します。

IIf(IsNull([単価]), 0, [単価])

単価という名前のフィールドで、null (不明または未定義) の値をゼロ (0) に変更します。

  1. [デザイン] タブの [結果] グループで、[実行] をクリックします。

    警告メッセージが表示されます。次の図は、メッセージを示しています。

    更新クエリ警告メッセージ

  2. [はい] をクリックしてクエリを実行します。

    注: 通知メッセージを無効にすることができます。そのためには、 Microsoft Office ボタン Office ボタンの画像 をクリックし、[アクセスオプション] をクリックし、[詳細設定] をクリックして、[確認] の [アクションクエリ] チェックボックスをオフにします。

  3. 更新クエリの結果を表示するには、[ホーム] タブまたは [デザイン] タブの [ビュー] で [表示] をクリックし、[データシートビュー] をクリックします。Access のステータスバーにある [データシートビュー ] ボタンをクリックすることもできます。

    注: クエリを実行すると、一部のフィールドが結果セットに含まれていないことがわかります。更新しないフィールドがクエリに含まれている場合は、既定でそれらのフィールドが削除されます。たとえば、2つのテーブルの ID フィールドを含めることで、クエリが正しいレコードを返すことができるようにします。これらの ID フィールドを更新しないと、アクセスは削除されます。

ページの先頭へ

追加クエリを使用してレコードをテーブルに追加する

追加クエリの最も頻度の高い用途の1つは、ソースデータベース内の1つ以上のテーブルから、1つ以上のレコードをターゲットデータベースのテーブルに追加することです。たとえば、新しい顧客と、それらの顧客に関する情報を含むデータベースを取得したとします。新しいデータを手動で入力しないようにするには、データベース内の適切なテーブルまたはテーブルに追加することができます。追加クエリを使用して、次の操作を行うこともできます。

  • 抽出条件に基づいてレコードを追加します。たとえば、未処理の注文を持つ顧客の名前と住所のみを追加することができます。

  • 一方のテーブルの一部のフィールドが他のテーブルに存在しない場合は、レコードを追加します。たとえば、[得意先] テーブルに11個のフィールドがあり、別のデータベースの [得意先] テーブルのフィールドが11個のフィールドの9に一致しているとします。追加クエリを使用して、一致するフィールドにデータだけを追加し、他のユーザーを無視することができます。

あるデータベースから別のデータベースにデータを追加するための追加クエリを作成するプロセスは、次の基本的な手順を実行します。

  • ソースデータベース (追加するレコードが格納されているデータベース) を開き、追加するレコードだけを返す select クエリを作成します。

  • 選択クエリを追加クエリに変換します。

  • 追加クエリに移動先のテーブルとフィールドを挿入します。レコードを別のデータベースに追加する場合は、最初にそのデータベースを開いてから、テーブルを選択します。

  • クエリを実行してレコードを追加します。

注: 作業を開始する前に、データをバックアップします。間違えた場合は、追加されたレコードをコピー先テーブルから削除できますが、多数のレコードを手動で削除すると、長い時間がかかることがあります。手元にバックアップを作成すると、時間の短縮による間違いの解決に役立ちます。

選択クエリを作成する

  1. 追加するレコードが格納されているデータベース (ソースデータベース) を開きます。

  2. [<ui>作成</ui>] タブの [<ui>その他</ui>] グループで [<ui>クエリ デザイン</ui>] をクリックします。

    クエリデザイングリッドが表示され、[テーブルの表示] ダイアログボックスが表示されます。

  3. 追加するレコードが含まれているテーブルを選択し、[ Add] をクリックして、[閉じる] をクリックします。

    テーブルは、クエリデザイングリッドの上部のセクションにウィンドウとして表示されます。ウィンドウには、テーブル内のすべてのフィールドが表示されます。次の図は、クエリデザイナーの一般的なテーブルを示しています。

    クエリ デザイナー内のテーブル

  4. 追加するフィールドをテーブルから、クエリデザイングリッドの下のセクションの [フィールド]行にドラッグします。

    下のセクションでは、列ごとに1つのテーブルフィールドを追加できます。すべてのフィールドをすばやく追加するには、テーブルフィールドの一覧の上部にあるアスタリスク (*) をクリックします。次の図は、複数のテーブルフィールドが追加されたクエリデザイナーを示しています。

    デザイン グリッドに 3 つのフィールドが含まれているクエリ

    次の図は、すべてのフィールドが追加されたデザイナーを示しています。

    すべてのテーブル フィールドが追加されたクエリ。

  5. [デザイン] タブの [結果] グループで、[実行] をクリックします。

    追加するレコードがクエリによって返されたことを確認します。必要に応じて、[表示] チェックボックスをオフにするか、del キーを押して不要なフィールドを削除することができます。クエリ結果が満たされるまで、追加のフィールドをデザイングリッドにドラッグすることもできます。

  6. 次の手順に進みます。

クエリを追加クエリに変換する

  1. [デザイン] タブの [クエリの種類] グループで [追加] をクリックします。

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

  2. この時点で、同じデータベース内のテーブル間でレコードを追加したり、別のデータベースのテーブルにレコードを追加したりすることができます。

    • 同じデータベースのテーブルにレコードを追加する

      1. [追加] ダイアログボックスで、[カレントデータベース] をクリックします (まだ選択されていない場合)、[テーブル名] の一覧から目的のテーブルを選びます。

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

        前のセクションの手順4では、ソーステーブルの一部またはすべてのフィールドをクエリデザイングリッドに追加しました。この手順でテーブル全体を追加した場合は、次に示すように、Access では、[追加先] 行に [宛先テーブル全体] が追加されました。

        2 つのテーブルのすべてのフィールドを含む追加クエリ

        または

        前のセクションの手順4で個々のフィールドを追加した場合、[元のテーブルとコピー先の表] のフィールド名が一致すると、次に示すように、[追加先] 行に宛先フィールドの名前が自動的に追加されます。

        フィールドが一致する追加クエリ

        または

        個々のフィールドを追加した場合、元のテーブルとコピー先の表内の名前の一部またはすべてが一致しない場合は、[行に追加] の空白の不一致フィールドはそのまま残ります。各空白フィールドをクリックし、次に示すように、結果の一覧から目的のソースフィールドを選択します。

        追加クエリの追加先フィールドを選ぶ

      3. 変更内容をプレビューするには、[表示] をクリックします。

      4. デザインビューに戻り、[実行] をクリックしてレコードを追加します。

    • 他のデータベースのテーブルにレコードを追加する

      1. [追加] ダイアログ ボックスで [別のデータベース] をクリックします。

      2. [ファイル名] フィールドに、コピー先データベースの場所と名前を入力します。

      3. [テーブル名] フィールドに、コピー先のテーブルの名前を入力し、[ OK] をクリックします。

        または

        [参照] をクリックし、2番目の [追加] ダイアログボックスを使用して、リンク先のデータベースを検索します。目的のデータベースを見つけて選択したら、[ OK ] をクリックします。2番目のダイアログボックスが閉じます。最初のダイアログボックスの [テーブル名] フィールドに、コピー先のテーブルの名前を入力し、[ OK] をクリックします。

        コピー先のテーブルの名前を入力し、[ OK ] をクリックして、最初の [追加] ダイアログボックスを閉じます。

        前のセクションの手順4では、ソーステーブル内のフィールドの一部またはすべてを、クエリデザイングリッドの [フィールド]行に追加しました。この手順でテーブル全体を追加した場合は、次に示すように、Access では、[追加先] 行に [宛先テーブル全体] が追加されました。

        2 つのテーブルのすべてのフィールドを含む追加クエリ

        または

        手順4で個々のフィールドを追加した場合、[元のテーブルとコピー先の表] のフィールド名が一致すると、次のように、[追加先] 行に宛先フィールドの名前が自動的に追加されます。

        フィールドが一致する追加クエリ

        または

        個々のフィールドを追加した場合、元のテーブルとコピー先の表内の名前の一部またはすべてが一致しない場合は、[行に追加] の空白の不一致フィールドはそのまま残ります。各空白フィールドをクリックし、次のように、結果の一覧から目的のフィールドを選択します。

        追加クエリの追加先フィールドを選ぶ

      4. 変更内容をプレビューするには、[表示] をクリックします。

      5. デザインビューに切り替えて、[実行] をクリックしてレコードを追加します。

ページの先頭へ

[検索と置換] ダイアログ ボックスを使用してデータを変更する

[検索と置換] ダイアログボックスでは、短時間で少量のデータを変更し、労力を減らすことができます。ダイアログボックスの使用方法については、この記事の範囲を超えています。

ダイアログボックスの使用方法については、「[検索と置換] ダイアログボックスを使用してデータを変更する」を参照してください。

ページの先頭へ

カスケード更新プログラムを使用して主キーと外部の値を変更する

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

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

たとえば、プロダクト ID 番号を主キーとして使用しているとします。1つの ID 番号は、1つの製品を一意に識別します。また、注文データのテーブルで、その ID 番号を外部キーとして使用します。このようにすると、各製品に関係するすべての注文を見つけることができます。誰かがその製品の注文を置くと、ID は注文の一部になります。

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

次の手順に従って、これらのルールを覚えておいてください。

  • カスケード更新を有効にするには、テキストまたは数値のデータ型に設定されている主キーフィールドのみを使用します。オートナンバー型に設定されているフィールドにはカスケード更新プログラムを使用できません。

  • 一対多リレーションシップを持つテーブル間でのみカスケード更新を有効にすることができます。

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

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

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

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

    [テーブルの表示] ダイアログ ボックスが表示されます。

  3. まだ選択されていない場合は、[テーブル] タブをクリックし、変更するテーブルを選び、[追加] をクリックして、[閉じる] をクリックします。

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

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

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

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

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

  6. 次の一連の手順に進みます。

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

  1. 前のセクションの手順を実行しなかった場合は、変更するリレーションシップが含まれているデータベースを開きます。

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

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

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

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

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

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

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

リレーションシップの作成の詳細については、こちらを参照してください。次の記事を参照してください。

ページの先頭へ

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

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

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

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

×