AccessのVBAでSQLのUPDATE SET WHEREを使い論理演算子の条件に合ったレコードを全て更新|フォーム実行例

条件に合ったレコードの更新 : UPDATE SET WHERE

UPDATE テーブル SET 値引き=20 WHERE 数量>3000 OR 単価>5000
上の場合、数量が3000以上か単価が5000円以上のデータの値引きを20円にセットします。
その他、「数量>3000 AND 単価>5000」のように指定します。



BackHome BackSQL Tips

サンプルソフト

入力された「縦」「横」「高さ」以上の、商品管理テーブルの製品の「送料」を830円に更新します。
「縦」「横」「高さ」を入力し、「実行」ボタンをクリックしてください。
数値を入力してください、もし文字を入力し実行するとエラーになります。

入力された数値以上の製品が見つからない場合は、何も変更されません。

製品の縦横高さ

[実行結果 商品管理]
商品管理テーブル

Option Compare Database

Private Sub コマンド8_Click()
    Dim SQL As String
    Dim n1 As Long
    Dim n2 As Long
    Dim n3 As Long
    If IsNull(Me!テキスト1) Then
        MsgBox "更新する縦サイズを入力してください。"
        Exit Sub
    End If
    If IsNull(Me!テキスト2) Then
        MsgBox "更新する横サイズを入力してください。"
        Exit Sub
    End If
    If IsNull(Me!テキスト3) Then
        MsgBox "更新する高さを入力してください。"
        Exit Sub
    End If
    SQL = "UPDATE T_商品管理 SET 送料=830 WHERE 縦>=" & Me!テキスト1 & " AND 横>=" & Me!テキスト2 & " AND 高さ>=" & Me!テキスト3
    CurrentDb.Execute SQL, dbFailOnError
End Sub

サンプルソフトのダウンロード

BackHome BackSQL Tips

Copyright(C) FeedSoft