Microsoft Access Club >SQL入門講座 >このページ >次頁 < 前項  サイト内検索
 

アクションクエリの作成と実行 - 更新クエリ : SQL入門講座



登録しているテーブルレコードに対して内容を変更するクエリを更新クエリと呼びます。

UPDATE 〜 SET 〜 構文

UPDATE 〜 SET 構文とは、SETで指定したフィールドに対して、データを変更するSQL構文です。

  • UPDAT以降にはテーブル名を指定します。
  • UPDATEには、複数のテーブルを指定することもできます。
  • Accessで値を更新する「更新クエリ」と機能的には同じです。
  • 更新クエリを実行すると更新した値を元に戻せないので、 IFステートメントとMsgboxステートメントを用いて、ユーザーに処理を選択させる機能を付加する方がベターです。
サンプルテーブル

サンプルテーブル(手形割引管理)は以下のものを予定しています。

ID 会社名 手形入金額 割引後入金額
1 立花商事株式会社 ¥542,100 ¥0
2 日下日照株式会社 ¥82,100 ¥0
3 松村建設株式会社 ¥7,821,000 ¥0
構文
UPDATE tablename SET fieldname = value
引数 意味 指定
tablename テーブル名を指定します。 省略不可
fieldname フィールド名を指定します。
複数の場合は、カンマ(,)で区切ります。
*を指定すると全フィールドを指定します。 
省略不可
value 更新後のフィールドに挿入する値、または式を指定します。 省略不可
サンプル構文

「割引後入金額」フィールドに、「手形入金額」フィールド値に基づいて値を代入します。サンプルでは、「手形入金額」フィールド値の85%の金額を代入します。

  • UPDATE 手形管理 SET 割引後入金額 = 割引後入金額 * 0.85;
留意点
  1. パーセント(%)をSQL内で用いることはできません。小数点以下で記述して下さい。

RunSQLを用いた事例

RunSQLメソッドを用いてSQLを実行します。これ以外にも、ADO、DAOで実行することができます。

Sub MySQLUpdateTable()
                
    Dim mySQL As String
    mySQL = "UPDATE 手形割引管理 SET 割引後入金額 = 手形入金額 * 0.85;"

    If MsgBox("85%の金額を代入します。", vbYesNo) = vbYes Then
        DoCmd.RunSQL mySQL
        MsgBox "85%の金額を代入しました。"
    End If
                                    
End Sub
留意点
  1. WHERE句を組み合わせて、条件抽出を行いテーブルの作成も可能です。

  2. RunSQLメソッドを実行すると、Access既定の警告メッセージが表示されます。

  1. VBA内でSQLを用いる場合は、前後をダブルクォーション(")で囲みます。
結果

下記のようにテーブルレコードが更新されます。

更新クエリ

このSQLをクエリで作成すると、下記のようになります。

補足

パーセント(%)を更新値にするなど、将来的に変動が考えられる場合は、変数で定義する方法があります。例えば、以下のようにプロシージャを変更します。

Sub MySQLUpdateTable2()
                
    Dim mySQL As String
    Const myValue As Double = 0.85
            
    mySQL = "UPDATE 手形割引管理 SET 割引後入金額 = 手形入金額 * " & myValue

    If MsgBox(myValue * 100 & " %の金額を代入します。", vbYesNo) = vbYes Then
        DoCmd.RunSQL mySQL
        MsgBox myValue * 100 & " %の金額を代入しました。"
    End If
                                    
End Sub
解説
  • Constステートメントで定数を定義します。 ここでは、小数点以下の数値を扱いますのでTypeを敢えて指定(Double型)しました。 なお、省略すると適切なデータ型をAccessが決定します。

2004/08/17

ページの先頭へ 前ページへ戻る

 


アクションクエリの作成と実行 - 更新クエリ : SQL入門講座


-Microsoft Access Club-

アダルト・ゲーム配信可能なPLESKパネル付属の専用・共有レンタルサーバーを提供しています。
アダルトやゲーム配信が可能です。
全専用/共有レンタルサーバーにPLESKパネルをインストール済み。