ACCESS VBAではSQLを使ってテーブルのレコードを直接更新することができます。
SQLの中でもレコードの値を更新する際に利用するのがUPDATEステートメントです。
今回は、SQLのUPDATEでレコードを更新する方法をご紹介します。
こんにちは。
はこにわガジェット (@hakoniwagadget) です。
ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは基本機能だけでも十分便利ですが、VBAを使うことで格段に使いやすいデータベースを作成可能です。
この記事ではACCESSでのVBAの使い方をご紹介していきます。
ACCESSでのUPDATEステートメントの利用方法
UPDATEステートメントを利用するとテーブルの更新が可能です。
ACCESSのVBAでテーブルのレコードを更新する方法は2通りあり、ADOを利用するか、SQLのUPDATEを利用するかのどちらかになります。
ACCESSでSQL構文を利用する場合は、DoCmd.RunSQLを利用します。
SQLの中でもUPDATEステートメントを記述する際は以下のようになります。
DoCmd.RunSQL "UPDATE テーブル名 SET 更新するフィールド名 = 更新後の値 WHERE 抽出条件;"
DoCmd.RunSQLの後にダブルクォーテーション( ” )で囲ってSQL文を記述する形式です。
SQL文ですので最後に;( ; )をつけることを忘れないようにして下さい。
UPDATEステートメント利用例
では、実際にUPDATEステートメントの利用例をご紹介します。
今回は以下のテーブルを対象にします。

TRN_受注サンプルテーブルです。
このテーブルの受注ID:1のレコードの受注日を変更してみましょう。
VBAで以下のプロシージャを作成しました。
Public Sub update_test()
DoCmd.RunSQL "UPDATE TRN_受注サンプル SET 受注日 = #2025/10/23# WHERE 受注ID = 1;"
End Sub
DoCmd.RunSQLを利用し、その後にSQLのUPDATE分を記述しています。
今回は日付型である受注日フィールドを更新するため、指定した日付をシャープ( # )で囲っていることに注意して下さい。
こちらを実行すると、受注ID:1のレコードの受注日が2025年10月23日に変更されます。
以上、SQLのUPDATEでレコードを更新する方法をご紹介しました。
ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。
そんな時は、ACCESS開発歴20年以上、過去に300以上のACCESSデータベースの開発・修正実績のあるはこにわガジェット(@hakoniwagadget)にお任せください。
ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

最後までお読みいただき、ありがとうございました。
