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

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

ここでは、既存データを更新する方法について説明します。Microsoft Office Access 2007 には、既存レコードを更新するための各種ツールが備わっており、データシート、フォーム、クエリ、検索と置換、および新機能のデータ収集などがあります。

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

この記事の内容

データベース設計が更新に影響する方法

データ型による更新への影響

テーブル フィールドのプロパティによる更新への影響

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

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

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

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

データの収集を使用してレコードを更新するには

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

データベース デザインによる更新への影響

Access を使用するのが初めてである場合、またはリレーショナル データベースの基本概念に精通していない場合は、ここの説明を読んでください。データベース デザインの基本的な原理を理解すると、大規模な更新をさらに簡単に実行できるようになります。

Access データベースは、Microsoft Office Word 2007 文書や Microsoft Office PowerPoint 2007 スライド デッキにおけるファイルの概念とは異なります。一般的な Access データベースは、テーブルの集まり、およびそのテーブルを中心に作成されたフォーム、レポート、クエリなどのオブジェクトの集まりと考えることができます。

さらに、このオブジェクトはデザインの方針に従う必要があり、従っていない場合は、データベースの性能が極端に悪くなるか動作しなくなる可能性があります。このデザインの方針によって、データの入力方法も決まります。データベース オブジェクトとデザインに関する上記の事柄を常に頭に入れておく必要があります。

  • 一部の例外 (値リストという種類のリストなど) を除き、Access では、すべてのデータを 1 つまたは複数のテーブルに格納します。テーブル数は、データベースのデザインと複雑さにより異なります。フォーム、レポート、またはクエリ結果のデータを表示または更新することができますが、データが保存されるのはテーブルだけです。

  • 各テーブルには、単一の案件、カテゴリ、または目的のデータを格納します。たとえば、仕事上の連絡先情報のテーブルには販売情報は含めません。別の情報を含めてしまうと、正しい情報を見つけることが不可能ではないとしても、非常に困難になります。

  • テーブルの各フィールドには 1 種類のデータだけを格納します。たとえば、数値を格納するためのフィールドにはメモを格納しません。数値フィールドにテキストを入力すると、エラー メッセージが表示されます。

  • ある例外を除き、レコード内のフィールドには 1 つの値のみを格納する必要があります。たとえば、データベースを正しくデザインすることによって、"住所" フィールドに複数の住所が入力できないようにすることができます。これとは対照的に、Microsoft Office Excel 2007 では、セルに入力するデータの種類を制限していない限り、既定では、単一のセルに複数の名前、住所、またはイメージなどを入力することができます。

    ただし、Office Access 2007 には、複数値フィールドという新機能があります。複数値フィールドを使用すると、単一レコードに複数のデータを添付することができ、複数の値を保存できるリストを作成することができます。たとえば、データベースの 1 つのレコードに、テキスト ファイル、Office PowerPoint 2007 のスライド デッキ、および複数のイメージを添付することができます。名前のリストを作成して、必要な数だけ選択することもできます。複数値フィールドを使用することは、1 つのテーブル フィールドに複数のデータを格納することができるので、データベース デザインの規則に反しているように思われますが、実際には反していません。Access では、特殊な隠しテーブルにデータを格納することで、舞台裏で規則を守っています。

ここで説明している主題や機能などの詳細については、以下のリンクを参照してください。

ページの先頭へ

データ型による更新への影響

Access を使用するのが初めてである場合、またはリレーショナル データベースの基本概念に精通していない場合は、ここの説明を読んでください。データベース デザインの基本的な原理を理解すると、大規模な更新をさらに簡単に実行できるようになります。

データベース テーブルをデザインするとき、データ入力の精度を上げるために、そのテーブルの各フィールドのデータ型を選択します。たとえば、売上高を計算するために、フィールドのデータ型を数値型に指定するとします。そのフィールドにテキストを入力しようとしても、エラー メッセージが表示され、変更したレコードも保存されないので、計算値を保護することができます。

データ型の表示方法

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

[データシート] タブのコマンドを使用してデータ型を表示する

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

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

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

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

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

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

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

各テーブル フィールドに設定されているデータ型は、フィールドに入力できるものとできないものとを判断するための第 1 レベルの役割を果たします。場合によっては、データ型の設定によって、何もデータを入力できない場合もあります。次の表に、Office Access 2007 で使用できるデータ型の一覧と、データ入力に対してどのような影響があるかを示します。

データの種類

データ入力への影響

テキスト

テキスト型フィールドには文字列と数字、および項目の区切りリストを入力できます。テキスト型フィールドに入力できる文字数は、メモ型フィールドの場合よりも少なく、0 ~ 255 文字に制限されています。変換関数を使用して、テキスト型フィールドのデータについて計算を実行できる場合もあります。

メモ

メモ型フィールドには大量のテキストと数値データを入力できます。また、データベース デザイナがフィールドのリッチ テキスト書式を有効にしている場合は、Office Word 2007 などの文書処理プログラムに標準装備されている種類の書式を設定できます。たとえば、テキストの特定の文字のフォントやフォント サイズを変更したり、文字を太字や斜体にしたりすることができます。データにハイパーテキスト マークアップ言語 (HTML) のタグを追加することもできます。

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

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

数値

数値型フィールドには数値だけを入力でき、計算も実行できます。

日付/時刻

日付/時刻型フィールドには日付と時刻だけを入力できます。フィールドの設定により、次のような制限がある場合があります。

  • データベース デザイナがフィールドの定型入力 (フィールドを選択したときに表示される、一連のリテラル文字とプレースホルダ文字) を設定している場合は、定型入力で指示される場所に指示される書式でデータを入力する必要があります。たとえば、"MMM_DD_YYYY" などの定型入力が表示されたら、指示される場所に指示される書式で「Oct 11 2006」などと入力する必要があります。月の名前を「July」などと略さずに入力したり、年を 2 桁で入力することはできません。

  • 日付または時刻を入力するための定型入力が作成されていない場合は、任意の有効な書式で日付または時刻を入力することができます。たとえば、「11 Oct. 2006」、「10/11/06」、「October 11, 2006」などと入力できます。

  • また、データベース デザイナがフィールドに表示書式を設定している場合があります。この場合、定型入力が設定されていなければデータの入力書式にほとんど制限はありませんが、日付は表示書式に合わせて表示されます。たとえば、「10/11/2006」と入力しても、表示書式によって「11-Oct-2006」と表示される場合があります。

    定型入力の詳細については、「テーブル、フォーム、およびレポートのデータに書式を設定する」を参照してください。

通貨

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

オートナンバー

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

Yes/No

Yes/No 型に設定されているフィールドをクリックすると、フィールドに指定した形式に合わせてチェック ボックスまたはドロップダウン リストのどちらかが表示されます。フィールドでリストが表示されるように設定した場合は、やはりフィールドに指定した形式に応じて、リストから Yes または NoTrue または FalseOn または Off を選択できます。リストに値を入力したり、フォームやテーブルから直接リストの値を変更したりすることはできません。

OLE オブジェクト

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

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

ハイパーリンク

この種類のフィールドにデータを入力することができ、Web アドレスに自動的にします。たとえば、フィールドに値を入力すると、アクセスは [Uniform Resource Locator (URL) のテキストを含むテキストを囲むよう: http://www 。your_text.comします。リンクは機能有効な Web アドレスを入力した場合、エラー メッセージで、リンクが発生する場合は、します。また、既存のハイパーリンクを編集することは難しいため、ハイパーリンク フィールドにマウスをクリックすると、Web ブラウザーを起動し、リンクに指定されているサイトに移動します。ハイパーリンク フィールドを編集するには] タブの [または方向キーを使用して、[ハイパーリンク] フィールドにフォーカスを移動や、編集できるようにするのには、F2 キーを押します隣接するフィールドを選択します。

添付ファイル

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

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

ルックアップ ウィザード

ルックアップ ウィザードはデータ型ではありません。このウィザードは、値リストとルックアップ フィールドの 2 種類のドロップダウン リストを作成するために使用します。ルックアップ ウィザードを使用する場合、値リストでは、手動で入力する区切り記号付きの項目リストを使用します。値リスト内の値は、データベース内の他のすべてのデータまたはオブジェクトに依存せずに設定できます。

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

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

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

また、ルックアップ フィールドを作成するときに、オプションで複数値を格納できるように設定できます。そうすることで、結果リストの各項目の先頭にチェック ボックスが表示され、必要な数の項目をオンまたはオフにすることができます。次の図は、複数値を持つリストの一般的な例です。

チェック ボックス一覧

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

ページの先頭へ

テーブル フィールドのプロパティによる更新への影響

Access を使用するのが初めてである場合、またはリレーショナル データベースの基本概念に精通していない場合は、ここの説明を読んでください。テーブル フィールドに設定されているプロパティにより更新がどのような影響を受けるかを理解した上でなければ、大規模な更新を実行することはできません。

データベースをデザインするとき、一般的には、1 つまたは複数のテーブルをデザインすることから始めます。各テーブルに保存するデータの種類を決定し、各レコード (行) を一意に識別するためのテーブルの主キーを設定し、テーブル間のリレーションシップを作成します。

このとき、各テーブルのフィールドのプロパティを設定します。たとえば、テキスト型フィールドで入力できる文字数を 50 文字以下に設定し、数値型フィールドに入力できる値を通貨だけに設定します。

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

テーブルのフィールドのプロパティを変更または設定する方法を表示します。

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

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

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

  2. [データシート] タブをクリックし、[データの型と表示形式] のコマンドを使用して各テーブル フィールドのプロパティを表示します。

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

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

    デザイン グリッドにテーブルが表示されます。

  2. グリッド下部にある [フィールド プロパティ] の [標準] タブをまだ選択していない場合はクリックします。

    または

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

    ルックアップ フィールドは、ハードコーディングされた値のリスト、またはデータベースにある 1 つまたは複数のテーブルから値を抽出するクエリを使用するテーブル フィールドです。既定では、ルックアップ フィールドでは、これらの値がリスト形式で表示されます。ルックアップ フィールドの設定により、リストから 1 つまたは複数の項目を選択できます。

    ルックアップ フィールドでは、項目のリストは 1 つの場所 (Access でルックアップ フィールドのデータから作成されたリスト) に表示されますが、データは複数の場所 (データを保存するテーブル) に存在するので、Access になじみのないユーザーは混乱することがあります。ルックアップ フィールドのデータを更新するときは、ソース テーブル (2 番目の場所) を更新する必要があります。リストからルックアップ フィールドを更新することはできません。

次の表に、データ入力に多大な影響を及ぼすテーブル プロパティの一覧と、その影響について説明します。

Property/プロパティ

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

指定可能な値

データ入力時の動作

フィールドサイズ

[標準] タブ

0 ~ 255

文字数制限はテキスト型フィールドだけに適用されます。指定文字数を超えて入力しても、超えた分は切り捨てられます。

必須

[標準] タブ

Yes/No

オンの場合、フィールドへの値の入力が必要になり、フィールドへの入力が完了するまでデータは保存されません。オフの場合、フィールドへの Null 値の入力が可能になり、フィールドを空白のままにすることができます。

注: Null 値はゼロとは違います。ゼロは数字であり、計算で使用されます。Null は空白であり、未定義の未知の値です。

空文字列の許可

[標準] タブ

Yes/No

オンの場合、文字を 1 文字も含まない長さ 0 の文字列を入力できます。長さ 0 の文字列を作成するには、間にスペースを挟まずに二重引用符 ("") を 2 つ続けて入力し、Enter キーを押します。

インデックス

[標準] タブ

Yes/No

テーブル フィールドにインデックスを付けると、重複した値が追加されなくなります。

定型入力

[標準] タブ

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

定型入力が設定されたフィールドでは、データを定義済みの書式で入力する必要があります。定型入力は、テーブルのフィールドやフォームのコントロールを選択すると表示されます。たとえば、日付型フィールドをクリックしたとき、"MMM-DD-YYYY" が表示されたとします。この一連の文字列を定型入力といいます。この場合、月を 3 文字の略語 (OCT など) で入力し、年は 2 桁ではなく 4 桁の数字で入力する必要があります。つまり、この定型入力が表示された場合は「OCT-15-2006」のような書式で日付を入力します。

注: 定型入力はデータの入力方法だけを制御するものであり、データの表示方法を制御するものではありません。たとえば、「OCT-15-2006」と日付を入力しても、Access では書式なしで "10152006" として格納される場合もあります。テーブル、フォーム、またはレポートのデータを表示する場合、そのときの設定によっては "10/15/2006" と表示されることがあります。

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

DisplayControl/表示コントロール

[ルックアップ] タブ

フィールドのデータ型セットに依存する値

テキスト型フィールドと数値型フィールドでは、テキスト ボックス、リスト ボックス、またはコンボ ボックス コントロールから選択できます。Yes/No 型フィールドでは、チェック ボックス、テキスト ボックス、またはコンボ ボックス コントロールから選択できます。

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

RowSourceType/値集合ソースタイプ

[ルックアップ] タブ

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

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

RowSource/値集合ソース

[ルックアップ] タブ

"RowSourceType/値集合ソースタイプ" プロパティにより異なる

"RowSourceType/値集合ソースタイプ" プロパティを [テーブル/クエリ] に設定すると、このプロパティ フィールドにテーブルまたはクエリの名前が保存されます。[値リスト] に設定すると、セミコロン (;) で区切られた値リストが保存されます。[フィールド リスト] に設定すると、テーブル、クエリ、または構造化照会言語 (SQL) ステートメントの名前が保存されます。

LimitToList/入力チェック

[ルックアップ] タブ

Yes/No

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

Allow Value List Edits/値リストの編集の許可

[ルックアップ] タブ

Yes/No

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

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

List Items Edit Form/リスト項目編集フォーム

[ルックアップ] タブ

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

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

データベース テーブルのデザインとプロパティの設定については、以下を参照してください。

  • データベース設計の基本について説明、データベースの計画などの基本的な概念の設計とデータを正規化-プロセス関連テーブルにデータを分割して、冗長なデータを除去します。

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

ページの先頭へ

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

少量のデータを更新するときには、フォームを使用します。ここでの「少量」とは、手動で更新するレコードの数を指します。フォームを使用すると、少量のデータを簡単にすばやく正確に編集して更新することができます。

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

最も一般的なデータ入力コントロールについて以下に説明します。自分が使用しているデータベースに関して疑問のある場合は、システム管理者またはデータベース デザイナに相談してください。

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

テキスト型フィールドとメモ型フィールドで使用するテキスト コントロールは 1 つだけです。通常、コントロールのサイズは基になるテーブル フィールドのサイズを反映することが多いので、コントロールのサイズによって基になるフィールドがテキストかメモであるかの判断が付きます。たとえば、50 文字までの文字を入力できるテキスト フィールドにコントロールを結合する場合は、その文字数に従ってコントロールのサイズを変更します。対照的に、コントロールをメモ型フィールドに結合する場合は、スクロールする必要がないように、1 つまたは 2 つの段落を表示するようにコントロールのサイズを変更します。

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

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

  • カーソルをテキスト ボックス内に置き、データを変更します。テキスト型フィールドまたはメモ型フィールドの数字に対して計算は実行できません。

リッチ テキスト形式を適用する

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

  1. テーブルをデータシート ビューで開き、メモ型フィールドを選択します。フィールド名には、"コメント"、"メモ"、"説明" などがよく使用されます。

  2. [ホーム] タブの [フォント] にあるボタンおよびメニューを使用してテキストの書式を設定します。

    別のフォントやサイズを適用したり、太字や斜体にしたり、色を変えたりすることができます。

ページの先頭へ

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

データシート ビュー (Excel のワークシートに似た行と列のグリッド) で直接作業してデータを変更することができます。テーブル、クエリ結果セット、およびデータシートが表示されるフォームのデータを変更できます。

通常、少量のレコードまたは単一レコードの一部を変更する場合にデータシートを使用します。Excel に精通している場合は、データシートについてもすぐに理解することができ、Access のクエリの作成や実行の方法などに精通していなくても、変更を加えることができます。

このとき、以下の点に注意してください。

  • 変更は明示的に保存する必要はありません。同じ行の別のフィールドにカーソルを移動したとき、または別の行にカーソルを移動したときに、自動的にテーブルにコミットされます。

  • 既定では、Access データベースのフィールドは、テキストや数値など、特定のデータ型のデータを保存するように設定されています。フィールドに設定されているデータ型に合ったデータを入力する必要があります。データ型が異なる場合、エラー メッセージが表示されます。

  • フィールドには定型入力が適用されている場合があります。定型入力とは、リテラル文字とプレースホルダ文字のセットであり、データを指定書式で入力するためのものです。たとえば、郵便番号の定型入力では、フランス書式のデータ入力が必要になる場合があります。電話番号の定型入力では、ドイツ書式での番号入力が必要になる場合があります。

    定型入力の詳細については、「テーブル、フォーム、およびレポートのデータに書式を設定する」を参照してください。

  • 添付ファイルおよび複数値リストを除いて、大半のフィールドでは、入力できる値は 1 つだけです。フィールドに添付ファイルを保存できるかどうかわからない場合は、データベース デザイナまたはシステム管理者に相談してください。Access では、各リスト項目の横にチェック ボックスが表示されるので、いつでも複数値リストであるかどうかを判断することができます。

データシートのデータを変更する

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

    既定では、テーブルまたはクエリは、Excel のブックに似たグリッドのデータシート ビューに表示されます。

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

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

    既定では、Tab キーを押すと、Windows の地域の設定に応じてカーソルが左右に移動します。左から右に向かって文字を読む言語に設定されている場合は、Tab キーを押したとき、カーソルは右に移動します。右から左に向かって読む言語に設定されている場合は、カーソルは左に移動します。

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

  1. テーブルまたはクエリ結果をデータシート ビューで開き、メモ型フィールドを選択します。

    一般的に、「ノート、」または「説明します」という名前の「コメント」フィールドの確認できます。メモ型フィールドが見つからない場合は、テーブルのフィールドのプロパティを表示する] で前述の手順を参照してください。

  2. [ホーム] タブの [フォント] にあるボタンおよびメニューを使用してテキストの書式を設定します。

    別のフォントやサイズを適用したり、太字や斜体にしたり、色を変えたりすることができます。

ページの先頭へ

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

1 つまたは複数の既存レコードの全体ではなく一部の追加、変更、または削除を行うには、更新クエリを使用します。更新クエリは、[検索と置換] ダイアログ ボックスの強力なフォームとして考えることができます。選択抽出条件 (検索文字列に相当) と、更新抽出条件 (置換文字列に相当) を入力します。ダイアログ ボックスとは異なり、更新クエリでは複数の抽出条件を指定することができるので、1 回に大量のレコードを更新でき、複数のテーブルのレコードを変更することができます。

更新クエリを使用して、レコード全体を追加することはできません。この場合は、追加クエリを使用します。

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

注: 更新クエリを確実に使用するには、まず、選択抽出条件をテストするための選択クエリを作成します。たとえば、所定の顧客の一連の Yes/No 型フィールドを "No" から "Yes" に変更するとします。この場合は、当該顧客の目的の "No" レコードがすべて返されるまで、選択クエリに抽出条件を追加します。必要なレコードが得られたら、選択クエリを更新クエリに変換し、更新抽出条件を入力してクエリを実行し、選択された値を更新します。選択クエリを作成する方法と、選択クエリを更新クエリに変換する方法について以下に説明します。

選択クエリを作成する

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

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

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

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

    テーブルがクエリ デザイン グリッドの上部にウィンドウとして表示され、各テーブルのすべてのフィールドがウィンドウに一覧表示されます。次の図は、クエリ デザイナに表示された一般的なテーブルの例です。

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

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

    下部にある各列にテーブル フィールドを 1 つずつ追加するか、または、テーブル フィールド一覧の上部にあるアスタリスク (*) をダブルクリックすると、テーブルのすべてのフィールドを一度に追加できます。次の図は、クエリ デザイナですべてのフィールドが追加された状態を示します。

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

  5. または、1 つまたは複数の抽出条件をデザイン グリッドの [抽出条件] 行に入力することもできます。次の表に、抽出条件の例とクエリへの効果を示します。

抽出条件

効果

> 234

234 を超えるすべての数値を返します。234 未満の数値を検索するには、< 234 を使用します。

>= "Callahan"

アルファベット順の終わりまで"callahan"からすべてのレコードを返します。

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

"2-Feb-06" から "1-Dec-06" (ANSI-89) までの日付を返します。データベースで ANSI-92 ワイルドカード文字を使用している場合は、「Between '2/2/2006' And '12/1/2006'」などのように、シャープ記号の代わりに一重引用符 (') を使用します。

Not "Germany"

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

Not "T*"

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

Not "*t"

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

In(東京都,大阪府)

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

Like "[ア-サ]*"

テキスト フィールドで、"ア" から "サ" の文字で始まるレコードを返します。データベースで ANSI-92 ワイルドカード文字セットを使用している場合は、アスタリスクの代わりにパーセント記号 (%) を使用します。

Like "*株式*"

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

Like "株式会社?"

社名の先頭 4 文字が "株式会社" で始まるレコードをすべて検索します。データベースで 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

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

""

長さ 0 の文字列を含むレコードをすべて返します。必須フィールドに値を追加する必要がある場合で、その値が未知の場合に長さ 0 の文字列を使用します。たとえば、ファックス番号を保存するフィールドがある場合に、顧客がファックスを持っていない場合などです。この場合は、番号の代わりに、間にスペースを挟まずに二重引用符 ("") を 2 つ続けて入力します。

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

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

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

レコードを更新する

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

    ここでは、選択クエリを更新クエリに変更します。クエリ デザイナ下部に [レコードの更新] 行が追加されます。

    更新抽出条件が 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 値 (未知または未定義の値) をゼロに変更します。

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

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

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

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

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

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

    注: クエリを実行すると、いくつかのフィールドが結果セットに表示されない場合があります。更新しないフィールドがクエリに含まれている場合、既定では、そのフィールドは除外されます、たとえば、目的のレコードで確実にクエリを実行するために 2 つのテーブルの商品コードを指定したとします。このとき、この商品コードを更新していなければ、そのフィールドは表示されません。

ページの先頭へ

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

追加クエリが最も頻繁に使用されるのは、ソース データベースにある 1 つまたは複数のテーブルの一連のレコードを、別のデータベースの 1 つまたは複数のテーブルに追加する場合などです。たとえば、新規顧客を獲得し、その顧客に関する情報のテーブルを含むデータベースが必要になったとします。新規データを手作業で入力しなくても、データベースに適切なテーブルを追加することができます。また、追加クエリを使用して、以下の作業が可能になります。

  • 抽出条件に基づいてレコードを追加する。たとえば、注文に対して商品を発送していない顧客の名前と住所だけを追加できます。

  • あるテーブルのフィールドが別のテーブルに存在しない場合にレコードを追加する。たとえば、自分の "顧客" テーブルにフィールドが 11 個あり、別のデータベースの "顧客" テーブルのフィールドのうち 9 個が自分のフィールドと一致するとします。追加クエリを使用すると、一致するフィールドのデータだけを追加して、その他は無視することができます。

追加クエリを作成して、あるデータベースのデータを別のデータベースに追加する基本的な手順は以下のとおりです。

  • ソース データベース (追加するレコードが含まれているデータベース) を開き、追加するレコードのみを返す選択クエリを作成する。

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

  • 追加先のテーブルおよびフィールドを追加クエリに追加する。別のデータベースにレコードを追加する場合は、最初に追加先データベースを開き、次に追加先のテーブルを選択します。

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

注: 開始する前にデータをバックアップしてください。間違いがあった場合、追加先テーブルから追加したレコードを削除できますが、多数のレコードを手動で削除すると時間がかかることがあります。手元にバックアップ データがあれば、短時間で間違いを修正できます。

選択クエリを作成します。

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

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

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

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

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

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

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

    下部にある各列にはテーブル フィールドを 1 つずつ追加できます。すべてのフィールドを一度に追加するには、テーブル フィールドの一覧の先頭にあるアスタリスク (*) をクリックします。次の図は、クエリ デザイナで複数のテーブル フィールドが追加された状態を示します。

    デザイン グリッドに 3 つのフィールドのあるクエリ

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

    すべてのテーブル フィールドがあるクエリ

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

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

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

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

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

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

  2. ここで、同じデータベースにあるテーブル間でレコードを追加することはできますが、別のデータベースにあるテーブルには追加できません。

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

      1. [追加] ダイアログ ボックスの [カレント データベース] をクリックし、[テーブル名] ボックスから追加先テーブルを選択します。

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

        前項の手順 4. では、ソース テーブルのフィールドの一部または全部をクエリ デザイン グリッドに追加しました。その手順でテーブル全体を追加した場合は、次に示すように、追加先テーブル全体が自動的に [レコードの追加] 行に追加されます。

        2 つのテーブルのすべてのフィールドが含まれる追加クエリ

        または

        前項の手順 4. でフィールドを個別に追加し、追加元と追加先のテーブルのフィールド名が一致している場合は、追加先のフィールド名が自動的に [レコードの追加] 行に追加されます。

        フィールドが一致している追加クエリ

        または

        フィールドを個別に追加した場合でも、追加元と追加先のテーブルのフィールド名が一致していなければ、[レコードの追加] 行の一致していないフィールドは空白になります。その場合は、次に示すように、空白のフィールドを 1 つずつクリックして、結果リストから追加元フィールドを選択します。

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

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

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

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

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

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

      3. [テーブル名] に追加先テーブルの名前を入力して、[OK] をクリックします。

        または

        [参照] をクリックし、2 番目の [追加] ダイアログ ボックスを使用して追加先データベースの場所を検索します。追加先データベースの場所を特定し選択したら [OK] をクリックします。2 番目のダイアログ ボックスが閉じます。1 番目のダイアログ ボックスの [テーブル名] に追加先テーブルの名前を入力し、[OK] をクリックします。

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

        前項の手順 4. では、クエリ デザイン グリッドの [フィールド] 行に、追加元テーブルのフィールドの一部または全部を追加しました。その手順でテーブル全体を追加した場合は、次に示すように、追加先のテーブル全体が自動的に [レコードの追加] 行に追加されます。

        2 つのテーブルのすべてのフィールドが含まれる追加クエリ

        または

        手順 4. でフィールドを個別に追加している場合で、追加元と追加先のテーブルのフィールド名が一致する場合は、次に示すように、追加先フィールド名が [レコードの追加] 行に自動的に追加されます。

        フィールドが一致している追加クエリ

        または

        フィールドを個別に追加している場合で、追加元と追加先のテーブルのフィールド名の一部または全部が一致しない場合は、一致しないフィールドの [レコードの追加] 行は空白のままになります。次のように、各空白フィールドをクリックして、使用する追加先フィールドを結果リストから選択します。

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

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

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

ページの先頭へ

データ収集を使用してレコードを更新する

Office Access 2007 には、データ収集という新機能があります。データ入力フォームを Microsoft Office Outlook 2007 で設定でき、情報を収集して、そのデータを Access データベースに保存することができます。データ収集機能の使用方法については、ここでは取り上げていません。

データ収集の使用方法の詳細については、「電子メール メッセージを使ってデータを収集する」というタイトルの」を参照してください。

ページの先頭へ

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

[検索と置換] ダイアログ ボックスを使用しても、少量のデータをすばやく簡単に変更することができます。このダイアログ ボックスの使用方法については、ここでは取り上げていません。

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

ページの先頭へ

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

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

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

たとえば、商品コード番号を主キーとして使用するとします。1 つの商品コード番号で 1 つの商品を一意に識別します。この商品 ID 番号を、受注データのテーブルで外部キーとしても使用します。このようにすると、商品の受注データが発生するたびに商品コードが受注データの一部となるので、各商品に関するすべての受注データが検索できるようになります。

この商品コード番号 (または他の種類の主キー) は変更されることもあります。変更された場合は、主キーの値を修正し、その変更を、関連するすべての子レコードに対して自動的に連鎖更新することができます。この機能を使用するには、2 つのテーブル間の参照整合性と連鎖更新を有効にします。

以下の点に注意してください。

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

  • 連鎖更新を有効にできるのは、一対多リレーションシップのテーブル間だけです。

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

リレーションシップの作成

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ページの先頭へ

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

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

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

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

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

×