13.5 UPDATEでテーブルのレコードを更新する
VBAとADOを使ってSQLを実行する方法がわかったところで、今度はSQLです。ここでは、テーブルへレコードを追加する方法をマスターしましょう。

テーブルのレコードを更新するときは、SQLのUPDATE命令を使います。なお、UPDATE命令を実行してもレコードセットは返りません。
UPDATE命令の構文
UPDATE [テーブル名]
   SET [フィールドリスト]
 WHERE [更新条件]
テーブルのレコードを更新する例
次の例は、UPDATE命令を使ってアドレス帳テーブルのレコードを更新する例です。アドレス帳テーブルに保存しているレコードのうち、フィールド「レコードキー」が1のレコードの関係コード、生年月日、PCメールアドレスを書き換えます。

更新対象のレコードが含まれているテーブルUPDATE句で指定します。例では、アドレス帳テーブルを指定しています。

更新するフィールドとフィールドに設定する値SET句で指定します。SET句には更新するフィールドを全て指定しますが、複数指定するときは例のように各フィールドをカンマで区切って指定します。

更新対象のレコードWHERE句で指定します。WHERE句の書き方はSELECT命令のWHERE句と同じです。条件にヒットするレコードが複数ある場合はそれらレコードが全て更新され、条件にヒットするレコードが無いときは更新を行いません。なお、WHERE句を書かない場合は、テーブル内にあるレコード全てが更新対象になります。

UPDATE  アドレス帳テーブル
   SET  関係コード = 7
       ,生年月日 = #2004/01/01#
       ,PCメールアドレス = 'webmaster@happy2-island.com'
 WHERE  レコードキー = 1

また、フィールドに設定する値は、文字列や数値、日付などの種類別に次のように記述します。

■数値の場合
 1や100など、数値をそのまま記述します。例では、関係コードが該当します。

■文字列の場合
 '(シングルクォーテーション)で文字列を囲みます。例では、PCメールアドレスが該当します。

■日付の場合
 日付の前後を#で囲みます。例では、生年月日が該当します。

■その他
 DATEDIFFやDATEADDなどの関数を記述することもできます。
次行ってみよう…
13.6 DELETEでテーブルのレコードを削除する」へ進み、テーブル内のレコードを削除するテクニックをマスターしよう。
Copyright(C) 1999-2006 結城圭介。 All rights reserved