トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! > 持続可能なスキーム編: 第22話「テーブルにデータを追加するには」3/4 :テーブルからデータを削除するには

やってみよう!Excel VBAで業務改善! 持続可能なスキーム編|第22話 「テーブルにデータを追加するには」

テーブルからデータを削除するには

「テーブルからデータを削除するときは、レコードセットのDeleteメソッドを使います。
このときレコードセットには、削除の対象となるデータが1件取得されています」


    sql = "SELECT * FROM 進捗TBL WHERE num='" & num & "'"
    rs.Open sql, CN, adOpenKeyset, adLockOptimistic
    
    If Not rs.BOF Then
        Rows(ActiveCell.Row).Select
        
        If MsgBox("このデータを削除してもいいですか?", vbYesNo) = vbYes Then
            rs.Delete
            MsgBox "データを削除しました"
        End If
    End If
            
    Call データ取得

八木くんが、ソースコードを指しながら解説を続けます。
皆、真剣な表情で、彼の説明に耳を傾けています。

「Deleteメソッドが削除するのは、レコードセットのカレントレコードのみです。
複数のレコードを削除するときは、ループでカレントレコードを移動させながら削除します」


    sql = "SELECT * FROM 進捗TBL WHERE 前回訪問日<=#" & 対象訪問日 & "#"
    rs.Open sql, CN, adOpenKeyset, adLockOptimistic
    
    Do Until rs.EOF
        rs.Delete
        rs.MoveNext
    Loop
    
    Call データ取得

森川くんが首をかしげながら質問します。

一覧にもどる