更新クエリを作成して実行する

更新クエリを作成して実行する

Access データベースの更新クエリを使用して、既存のレコード内の情報を追加、変更、または削除します。更新クエリは、[検索と置換] ダイアログ ボックスを強力にしたものと考えることができます。データベースに新しいレコードを追加したり、データベースからレコードを削除したりするために更新クエリを使用することはできません。

データベースに新しいレコードを追加するには、追加クエリを使用し、データベースからレコード全体を削除するには削除クエリを使用します。

注:  この記事は Access Web アプリ (Access で設計してオンラインで公開するデータベースの一種) には適用されません。

この記事の内容

概要

更新クエリを使用する

他のテーブルのデータを更新する

無効モードによってクエリがブロックされないようにする

SQL バージョンの UPDATE ステートメント

概要

"検索と置換" と更新クエリには類似点と相違点があります。

[検索と置換] ダイアログ ボックスと同様に、更新クエリにより置き換え対象の値や新しい値の動作を指定できます。

[検索と置換] ダイアログ ボックスとは異なり、更新クエリでは、次の操作を行うことはできません。

  • 置換する値に依存しない条件を使用する。

  • 1 つのパスで複数のレコードを更新する。

  • 複数のテーブルのレコードを同時に変更する。

更新可能なフィールドに関する制限

更新クエリを使用して、次の種類のフィールドのデータを更新することはできません。

  • 集計フィールド:    集計フィールドの値は、永続的にテーブルに格納されるわけではなく、Access での計算後に、コンピューターの一時メモリにのみ置かれます。集計フィールドは、永続的な格納場所を持たないため、更新することはできません。

  • 集計クエリまたはクロス集計クエリからのフィールド:    これらの種類のクエリの値は集計値であるため、更新クエリでは更新できません。

  • オートナンバー型フィールド:    設計上、オートナンバー型フィールドの値は、テーブルにレコードが追加された場合にのみ変更されます。

  • 固有の値クエリと固有のレコード クエリのフィールド:    このようなクエリの値は、要約されています。一部の値は 1 つのレコードを表し、それ以外の値は複数のレコードを表します。どのレコードが重複レコードとして除外されたかが判断できないため、更新操作を行うことはできません。そのため、必要なレコードをすべて更新できるわけではありません。この制限は、更新クエリを使用する場合か、フォームまたはデータシートに値を入力して手動でデータの更新を試みた場合に適用されます。

  • ユニオン クエリのフィールド:    2 つ以上のデータ ソースに表示される各レコードがユニオン クエリの結果に表示されるのは 1 回のみになるため、ユニオン クエリのフィールドから取得されたデータを更新することはできません。重複している一部のレコードは結果から削除されるため、必要なレコードをすべて更新できるわけではありません。

  • 主キー フィールド:    主キー フィールドがテーブル リレーションシップで使用されている場合など、最初に連鎖更新が自動的に行われるようにリレーションシップを設定していないと、クエリを使用してフィールドを更新できない場合があります。

    注: 連鎖的な更新を行う場合、親テーブルの主キーの値を変更すると、外部キーの値が自動的に更新されます。

ページの先頭へ

更新クエリを使用する

更新クエリの作成時のベスト プラクティスとして、まず更新するレコードを特定する選択クエリを作成し、そのクエリを、レコードを更新するために実行できる更新クエリに変換します。最初にデータを選択することで、実際に変更する前に、必要なレコードを更新していることを確認できます。

ヒント: 更新クエリを実行する前に、データベースをバックアップします。更新クエリの結果は元に戻せません。バックアップを作成しておけば、いつでも変更を元に戻すことができます。

データベースをバックアップする方法

  1. [ファイル] タブをクリックし、[名前を付けて保存] をクリックします。Access 2010 を使用している場合は、[ファイル] タブをクリックしてから [保存して公開] をクリックします。Access 2007 を使用している場合は、Microsoft Office ボタン、[管理]、[データベースのバックアップ] の順にクリックします。

  2. 右側の [詳細設定] で、[データベースのバックアップ] をクリックします。

  3. [名前を付けてバックアップを保存] ダイアログ ボックスで、バックアップ コピーの名前と場所を指定し、[保存] をクリックします。

    元のファイルが閉じられてバックアップが作成され、元のファイルが再度開かれます。

    バックアップに戻すには、元のファイルを閉じて名前を変更し、バックアップ コピーが元のバージョンの名前を使用できるようにします。元のバージョンの名前をバックアップ コピーに割り当て、名前を変更したバックアップコピーを Access で開きます。

このセクションの内容

手順 1: 更新するレコードを特定する選択クエリを作成する

手順 2: レコードを更新する

手順 1: 更新するレコードを特定する選択クエリを作成する

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

  2. [作成] タブの [クエリ] グループで [クエリ デザイン] をクリックします。Access 2007 を使用する場合は、[作成] タブの [その他] グループで [クエリ デザイン] をクリックします。

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

  3. [テーブル] タブをクリックします。

  4. 更新するレコードが含まれているテーブルを選択 (複数可) し、[追加] をクリックします。次に [閉じる] をクリックします。

    テーブルがクエリ デザイナーの 1 つ以上のウィンドウとして表示され、これらのウィンドウで、各テーブルのすべてのフィールドが一覧表示されます。次の図に、クエリ デザイナーに表示された典型的なテーブルを示します。

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

    1. クエリ デザイナーに表示されたテーブル

    2. クエリ デザイン グリッド

  5. テーブル ウィンドウで、更新するフィールドをダブルクリックします。選択したフィールドが、クエリ デザイン グリッドの [フィールド] 行に表示されます。

    クエリ デザイン グリッドの列ごとに 1 つのテーブル フィールドを追加できます。

    テーブルのすべてのフィールドをすばやく追加するには、テーブル ウィンドウのテーブル フィールドの一覧の一番上にあるアスタリスク (*) をダブルクリックします。次の図に、すべてのフィールドが追加されたクエリ デザイン グリッドを示します。

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

  6. フィールドの値に基づいてクエリの結果を制限するには、クエリ デザイン グリッドの [抽出条件] 行に、結果を制限するために使用する抽出条件を入力します。

    抽出条件の例の表

    次の表に、抽出条件の例と抽出条件がクエリの結果に与える効果を示します。

    注: クエリをより柔軟または強力なものにするために、この表の多くの例では、ワイルドカード文字が使用されています。

    抽出条件

    効果

    >234

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

    >="Cajhen"

    アルファベット順で Cajhen 以降のすべてのレコードを返します。

    Between #2/2/2017# And #12/1/2017#

    2017 年 2 月 2 日から 2017 年 12 月 1 日までの日付を返します (ANSI-89)。ご利用のデータベースで ANSI-92 のワイルドカード文字が使用されている場合、シャープ記号 (#) の代わりに単一引用符 (') を使用します。例: Between '2/2/2017' And '12/1/2017'

    Not "千葉県"

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

    Not "タ*"

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

    Not "*タ"

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

    In(東京都,大阪府)

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

    Like "[ア-サ]*"

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

    Like "*株式*"

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

    Like "株式会社?"

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

    #2/2/2017#

    2017 年 2 月 2 日のすべてのレコードを検索します。データベースで ANSI-92 ワイルドカード文字セットが使用されている場合、日付を '2017/2/2' のように、シャープ記号 (#) の代わりに単一引用符 (') で囲みます。

    < Date() - 30

    Date 関数を使用して、30 日前よりも古いすべての日付を返します。

    Date()

    Date 関数を使用して、今日の日付を含むすべてのレコードを返します。

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

    Date 関数と DateAdd 関数を使用して、今日の日付から 3 か月以内のすべてのレコードを返します。

    Is Null

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

    Is Not Null

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

    ""

    長さがゼロの文字列を含むすべてのレコードを返します。長さゼロの文字列は、必須フィールドに値を追加する必要があり、その値が不明な場合に使用します。たとえば、FAX 番号の入力が必要なフィールドが存在し、FAX を設置していない顧客があるとします。その場合には、番号を入力する代わりに、スペースを含めずに二重引用符を 2 度続けて ("") 入力します。

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

  8. クエリから返されるレコードが、更新を行う対象のレコードであることを確認します。

  9. クエリ デザインに含めないフィールドを削除するには、フィールドを選択し、Del キーを押します。

  10. クエリ デザインに含めるフィールドを追加するには、追加のフィールドをクエリ デザイン グリッドにドラッグします。

手順 2: レコードを更新する

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

    ここでは、選択クエリを更新クエリに変換する方法を説明します。この変換を行うと、クエリ デザイン グリッドに [レコードの更新] 行が追加されます。次の図に、2005 年 1 月 5 日以降に購入したすべての資産を返し、その抽出条件を満たすすべてのレコードについて、保管場所を "倉庫 3" に変更する更新クエリを示します。

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

  2. 更新するデータを含むフィールドを見つけて、式 (作成した変更抽出条件) をそのフィールドの [レコードの更新] 行に入力します。

    [レコードの更新] 行では、有効な任意の式を使用できます。

    式の例の表

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

    結果

    "販売員"

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

    #8/10/17#

    日付/時刻型フィールドで、日付の値を 2017 年 8 月 10 日に変更します。

    Yes

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

    "PN" & [部品番号]

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

    [単価] * [数量]

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

    [運送料] * 1.5

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

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

    現在のテーブルの "商品コード" の値が "受注明細" テーブルの "商品コード" の値と一致する場合に、"数量" フィールドの値と "単価" フィールドの値を乗算して、合計販売額を更新します。複数のテーブルおよびテーブル フィールドを処理できるため、この式は DSum 関数を使用します。

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

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

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

    "単価" フィールドの Null 値 (未知または未定義の値) をゼロ値に変更します。

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

    警告メッセージが表示されます。

  4. [はい] をクリックしてクエリを実行し、データを更新します。

    注: クエリを実行すると、いくつかのフィールドが結果セットに表示されない場合があります。クエリで更新されないフィールドがあると、既定ではこのようなフィールドは結果セットに表示されません。たとえば、クエリが正しいレコードに対して実行されることを確認するために 2 つのテーブルの ID フィールドを含めた場合、これらの ID フィールドが更新されないと、結果セットには表示されません。

ページの先頭へ

他のテーブルのデータを更新する

あるテーブルから他のテーブルのデータを更新する必要がある場合、更新元のフィールドと更新先のフィールドのデータ型が一致している、または互換性を持つ必要があるという規則に注意してください。

また、あるテーブルから別のテーブルのデータを更新するときに、一致するデータ型ではなく互換性のあるデータ型を使用した場合、これらのフィールドのデータ型は更新先のテーブルで変換されます。そのため、更新先フィールドの一部のデータが切り捨てられる (削除される) 場合があります。データ型変換の制限に、データ型を変換できる場合とできない場合を示します。この表では、データ型の変換時にフィールドのデータの一部またはすべてが変更または削除される条件と、削除の対象となる可能性があるデータについても説明します。

あるテーブルから別のテーブルのデータを更新する方法は、主に次の手順から構成されます。

  1. 更新クエリを作成し、このクエリに更新元テーブルと更新先テーブルの両方を追加する。

  2. 関連する情報を含むフィールドで 2 つのテーブルを結合する。

  3. クエリ デザイン グリッドの [フィールド] 行に、更新先フィールドの名前を追加する。

  4. [更新元テーブル].[更新元フィールド] という構文を使用して、クエリ デザイン グリッドの [レコードの更新] 行に更新元フィールドの名前を追加する。

以下の手順では、よく似ている 2 つのテーブルを使用することを想定しています。下の表の例では、"顧客" テーブルは継承した直後のデータベース内にあり、"得意先" テーブルよりも最新のデータが含まれています。何人かの管理者の名前が変更されており、さらに住所も異なるものがあります。このため、"顧客" テーブルのデータで "得意先" テーブルを更新することになります。

"顧客" テーブル

顧客コード

会社名

都道府県

市区町村

番地

郵便番号

国/地域

電話番号

担当者

1

一休ミート

東京都

調布市

表通り 1-1

12345

日本

(545) 555-2122

鈴木 保美

2

伊予商店株式会社

神奈川県

川崎市

西山 51-1

23456

日本

(104) 555-2123

山本 浩平

3

尾張堂株式会社

東京都

青梅市

緑町 31-23

34567

日本

(028) 555-2124

友野 司郎

4

加賀屋株式会社

千葉県

松戸市

希望ヶ丘 1-23

45673

日本

(171) 555-2125

佐本 久明

5

サクラ食品販売株式会社

埼玉県

さいたま市

56789

日本

(771) 555-2126

藤巻 陽子

6

讃岐商店株式会社

東京都

青梅市

緑町 31-23

34567

日本

(206) 555-2125

加山 宏

7

東海道スーパー

神奈川県

横浜市

けやき通り 67

87654

日本

(916) 555-2128

上川 昌真

8

成田屋商店株式会社

栃木県

宇都宮市

東町 4-1

31415

日本

(503) 555-2129

越安 辰夫

9

肥後株式会社

栃木県

宇都宮市

東町 4-1

31415

日本

(503) 555-2233

柴瀬 満

"得意先" テーブル

得意先コード

会社名

都道府県

市区町村

番地

郵便番号

国または地域

電話番号

管理者

1

一休ミート

東京都

調布市

表通り 1-1

12345

日本

(545) 555-2122

河田 弘穀

2

伊予商店株式会社

神奈川県

川崎市

西山 51-1

23456

日本

(104) 555-2123

山本 浩平

3

尾張堂株式会社

東京都

青梅市

緑町 31-23

34567

日本

(028) 555-2124

友野 司郎

4

加賀屋株式会社

千葉県

松戸市

希望ヶ丘 1-23

45673

日本

(171) 555-2125

佐本 久明

5

サクラ食品販売株式会社

埼玉県

さいたま市

56789

日本

(771) 555-2126

藤巻 陽子

6

讃岐商店株式会社

東京都

青梅市

緑町 31-23

34567

日本

(206) 555-2125

小林 昌子

7

東海道スーパー

神奈川県

横浜市

けやき通り 67

87654

日本

(916) 555-2128

西村 美智江

8

成田屋商店株式会社

栃木県

宇都宮市

東町 4-1

31415

日本

(503) 555-2129

武島 友子

9

肥後株式会社

栃木県

宇都宮市

東町 4-1

31415

日本

(503) 555-2233

柴瀬 満

操作を行う際には、各テーブル フィールドのデータ型が一致している必要はありませんが、互換性が必要であることに注意してください。つまり、更新元のテーブルにあるデータを更新先テーブルで使用可能なデータ型に変換できる必要があります。場合によっては、変換中にデータの一部が削除されることがあります。データ型変換の制限の詳細については、データ型変換の制限を参照してください。

更新クエリを作成して実行する

注: 次の手順では、上記の 2 つのサンプル テーブルを使用することを前提としています。使用するデータに合わせてこの手順を適用してください。

  1. [作成] タブの [クエリ] グループで [クエリ デザイン] をクリックします。Access 2007 を使用する場合は、[作成] タブの [その他] グループで [クエリ デザイン] をクリックします。

  2. [テーブルの表示] ダイアログ ボックスで、[テーブル] タブをクリックします。

  3. 追加元テーブルと追加先テーブルをダブルクリックして、クエリにテーブルを追加し、[閉じる] をクリックします。各テーブルはクエリ デザイナーのウィンドウに表示されます。

  4. ほとんどの場合、関連フィールドはクエリで自動的に結合されます。関連する情報が含まれるフィールドを手動で結合するには、関連するフィールドを、一方のテーブルからもう一方のテーブルの相当するフィールドにドラッグします。

    たとえば、上記のサンプル テーブルを使用する場合、"顧客コード" フィールドを "得意先コード" フィールドにドラッグします。こうすることで、2 つのテーブルのこれらのフィールド間にリレーションシップが作成され、このリレーションシップを使用して、関連するレコードが結合されます。

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

  6. 更新先テーブルで、更新するフィールドをダブルクリックします。ダブルクリックした各フィールドがクエリ デザイン グリッドの [フィールド] 行に表示されます。

    サンプル テーブルを使用する場合は、"得意先コード" フィールド以外のすべてのフィールドを追加します。更新先テーブルの名前が、デザイン グリッドの [テーブル] 行に表示されていることを確認します。

  7. クエリの [レコードの更新] 行の更新先フィールドが含まれている各列に、更新元テーブルの名前と、更新先テーブルのフィールドに対応する更新元テーブルのフィールド名を追加します。必ず [テーブル].[フィールド] という構文を使用します。ここで、テーブルとフィールドの名前は角かっこで囲み、テーブル名とフィールド名との区切りにはピリオドを使用します。

    次の図に、サンプル テーブルを使用したときのデザイン グリッドの一部を示します。[レコードの更新] 行のテーブル名とフィールド名の構文に注意してください。

    他のテーブルのデータでテーブルを更新するクエリ

    操作を行う際には、[レコードの更新] 行にテーブルとフィールドの名前を正しく入力する必要があります。元のテーブル名およびフィールド名と同じ区切り記号やスペースを使用する必要がありますが、英字の大文字と小文字は合わせる必要はありません。

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

  9. 更新の実行を確認するメッセージが表示されたら、[はい] をクリックします。

データ型変換の制限

次の表に、Access で使用できるデータ型と、データ型の変換方法に関する制限事項を示します。変換中に発生する可能性があるデータ損失についても簡単に説明します。

変換先のデータ型

変換元のデータ型

変更点または制限

テキスト型

メモ型

先頭の 255 文字以外の文字はすべて削除されます。

数値型

制限はありません。

日付/時刻型

制限はありません。

通貨型

制限はありません。

オートナンバー型

制限はありません。

Yes/No 型

値 -1 (Yes/No 型フィールドの "Yes") は、"Yes" に変換されます。値 0 (Yes/No 型フィールドの "No") は、"No" に変換されます。

ハイパーリンク型

255 文字を超えるリンクは切り詰められます。

メモ型

テキスト型

制限はありません。

数値型

制限はありません。

日付/時刻型

制限はありません。

通貨型

制限はありません。

オートナンバー型

制限はありません。

Yes/No 型

値 -1 (Yes/No 型フィールドの "Yes") は、"Yes" に変換されます。値 0 (Yes/No 型フィールドの "No") は、"No" に変換されます。

ハイパーリンク型

制限はありません。

数値型

テキスト型

テキストは、数字、有効な通貨、および小数点で構成されている必要があります。テキスト型フィールドの文字数は、数値型フィールドに設定されているサイズ内に収まっている必要があります。

メモ型

メモ型フィールドには、テキスト、有効な通貨、および小数点のみが含まれている必要があります。メモ型フィールドの文字数は、数値型フィールドに設定されているサイズ内に収まっている必要があります。

異なるフィールド サイズまたは精度を持つ数値型

値は、新しいフィールドで格納できるサイズを超えたり下回ったりすることはできません。精度を変更すると、値が丸められる可能性があります。

日付/時刻型

変換できる日付は、数値型フィールドのサイズにより異なります。Access では、すべての日付はシリアル日付として格納され、日付値は倍精度浮動小数点整数として格納されます。

Access では、1899 年 12 月 30 日が日付 0 として使用されます。1899 年 4 月 18 日~ 1900 年 9 月 11 日の範囲外の日付は、バイト型フィールドのサイズを超えます。1810 年 4 月 13 日 ~ 1989 年 9 月 16 日の範囲外の日付は、整数型フィールドのサイズを超えます。

考えられるすべての日付に対応させるためには、数値型フィールドの "フィールド サイズ" プロパティを [長整数型] に設定するか、またはこれよりも大きな値に設定します。

通貨型

値は、フィールドに設定されたサイズ制限を超えたり下回ったりすることはできません。たとえば、値が 255 よりも大きく 32,767 を超えない場合にだけ、通貨型フィールドを整数型フィールドに変換できます。

オートナンバー型

値は、フィールドに設定されたサイズ制限内に収まっている必要があります。

Yes/No 型

"Yes" 値は、-1 に変換されます。"いいえ" 値は、0 に変換されます。

日付/時刻型

テキスト型

変換元のテキストは、18-Jan-2007 のように、日付または日付/時刻型として認識可能である必要があります。

メモ型

変換元のテキストは、18-Jan-2007 のように、日付または日付/時刻型として認識可能である必要があります。

数値型

値は、-657,434 ~ 2,958,465.99998843 の範囲内の値である必要があります。

通貨型

値は、-\657,434 ~ \2,958,465.9999 の範囲内の値である必要があります。

オートナンバー型

値は、-657,434 よりも大きく、2,958,466 よりも小さい値である必要があります。

Yes/No 型

値 -1 (Yes) は、1899 年 12 月 29 日に変換されます。値 0 (No) は、午前 0 時 (12:00 AM) に変換されます。

通貨型

テキスト型

テキストは、数字と有効な区切り文字から構成されている必要があります。

メモ型

テキストは、数字と有効な区切り文字から構成されている必要があります。

数値型

制限はありません。

日付/時刻型

制限はありませんが、値が丸められる可能性があります。

オートナンバー型

制限はありません。

Yes/No 型

値 -1 (Yes) は、\1 に変換されます。値 0 (No) は、0\ に変換されます。

オートナンバー型

テキスト型

オートナンバー型のフィールドが主キーの場合は許可されません。

メモ型

オートナンバー型のフィールドが主キーの場合は許可されません。

数値型

オートナンバー型のフィールドが主キーの場合は許可されません。

日付/時刻型

オートナンバー型のフィールドが主キーの場合は許可されません。

通貨型

オートナンバー型のフィールドが主キーの場合は許可されません。

Yes/No 型

オートナンバー型のフィールドが主キーの場合は許可されません。

Yes/No 型

テキスト型

元のテキストは、Yes、No、True、False、On、または Off からのみ構成されている必要があります。

メモ型

元のテキストは、Yes、No、True、False、On、または Off からのみ構成されている必要があります。

数値型

0 または Null は "No" に変換され、それ以外の値は "Yes" に変換されます。

日付/時刻型

Null または 12:00:00 AM は "No" に変換され、それ以外の値は "Yes" に変換されます。

通貨型

0 および Null は "No" に変換され、それ以外の値は "Yes" に変換されます。

オートナンバー型

すべての値が "Yes" に変換されます。

ハイパーリンク型

テキスト型

adatum.comwww.adatum.comhttp://www.adatum.com などの有効な Web アドレスが元のテキストに含まれている場合、そのテキストはハイパーリンクに変換されます。他の値の変換も試行されます。つまり、テキストは下線付きで表示され、リンクをポイントするとカーソルの形が変わりますが、実際にはリンクは機能しません。テキストには、任意の有効な Web プロトコル (http://、gopher://、telnet://、ftp://、wais:// など) を含めることができます。

メモ型

前の項目を参照してください。同じ制限が適用されます。

数値型

数値型フィールドがリレーションシップの一部の場合は、変換できません。元の値が有効なインターネット プロトコル (IP) アドレス (nnn.nnn.nnn.nnn のようなピリオドで区切られた 4 つの 3 桁の数字) として有効な範囲内にあり、この数値が Web アドレスだと考えられる場合は、有効なリンクに変換されます。そうでない場合は、それぞれの値の先頭に "http://" が付加されますが、結果のリンクは有効ではありません。

日付/時刻型

それぞれのアドレスの先頭に "http://" が付加されますが、ほとんどの場合、結果のリンクは機能しません。

通貨型

それぞれの値の先頭に "http://" が付加されますが、日付と同様に、ほとんどの場合、結果のリンクは機能しません。

オートナンバー型

オートナンバー型フィールドがリレーションシップの一部である場合は、変換できません。それぞれの値の先頭に "http://" が付加されますが、ほとんどの場合、結果のリンクは機能しません。

Yes/No 型

すべての Yes 値が -1 に、No 値が 0 に変換され、それぞれの値の前に "http://" が付加されます。結果のリンクは機能しません。

ページの先頭へ

無効モードでクエリがブロックされないようにする

アクション クエリを実行しようとしたのに、何も実行されていないように思われる場合は、Access ステータス バーに次のメッセージが表示されていないか確認してください。

無効モードのため、アクションまたはイベントはブロックされました。

既定では、データベースが信頼できる場所にあるかデータベースが署名され信頼されていない限り、Access のすべてのアクション クエリ (更新クエリ、追加クエリ、削除クエリ、またはテーブル作成クエリ) は無効になります。これらのアクションのいずれも行っていない場合でも、メッセージ バーの [コンテンツ​​の有効化] をクリックして、カレント データベースのセッションのクエリを有効にすることはできます。

ページの先頭へ

SQL バージョンの UPDATE ステートメント

SQL の操作に慣れているユーザーは、SQL ビューで UPDATE ステートメントを記述することもできます。SQL ビューを使用するには、空白の新しいクエリを作成し、SQL ビューに切り替えます。

ここでは、UPDATE ステートメントの構文と例を示します。

構文

UPDATE table SET newvalue WHERE criteria;

UPDATE ステートメントには、次の引数があります。

引数

説明

table

変更するデータが含まれるテーブルの名前です。

newvalue

更新後のレコードの特定のフィールドに挿入する値を決めるための式です。

criteria

レコードを更新するか決めるための式です。式の条件を満たすレコードのみが更新されます。

解説

UPDATE ステートメントは、多数のレコードを変更する場合や、変更するレコードが複数のテーブルに含まれている場合に特に便利です。

複数のフィールドを同時に変更することができます。次に示すのは、"受注金額" の値が 10% ずつ、"運送料" の値が 3% ずつ増えている英国の運送会社の例です。

UPDATE Orders

SET OrderAmount = OrderAmount * 1.1,

Freight = Freight * 1.03

WHERE ShipCountry = 'UK';

ページの先頭へ

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

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

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

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

×