Microsoft Access 掲示板

SQLの実行方法 / 1

17 コメント
views
4 フォロー
1
hiroton 2024/05/14 (火) 16:35:50 43b60@f966d

フォームでフィルターを使いつつ、フォームに読み込んでいるデータを扱いたいのなら、DAOとか使ったほうが楽だと思います

フォームに表示されているレコードのチェックボックスを全てYesにする

Me.Refresh 'カレントレコードの編集中によるレコードロック対策
With Me.RecordsetClone
    .MoveFirst
    Do Until .EOF
        .Edit
        ![T納品書まだ分.チェック1] = True
        .Update
        .MoveNext
    Loop
End With

いろいろ追加

Me.Refresh '現在編集中のレコードを保存する(編集中によるレコードロック対策)
With Me.RecordsetClone
    .MoveFirst
    Do Until .EOF
        If IsNull(![T納品書まだ分.納品書入り日]) Then
            .Edit
            ![T納品書まだ分.チェック1] = True
            !納品書日付 = Me!納品書日付入力テキストボックス
            .Update
        End If
        .MoveNext
    Loop
End With

SQLを発行するメリットが見つからないので、知識レベルの話としてになりますが、

フォームのボタンを押してSQLを実行するならば、

UPDATE T納品書まだ分 SET T納品書まだ分.チェック1 = Yes
WHERE (((T納品書まだ分.納品書入り日) Is Null) AND ((T納品書まだ分.発注先ID)=[Forms]![F納品書未達処理]![cb発注先選択]));

このクエリの実行で動作上の不具合はないですよね?

一括でチェックYes処理はフォーム上のボタンにDoCmd.OpenQuery・・・で処理させてましたがSQL勉強中なのでそれで処理させようと思ったのですがやり方が分からないのが現状です。

「処理させてましたが」「やり方が分からない」
「処理させていた」のなら「出来ている」のでは?

通報 ...