#714 | あるレコードの更新を他のレコードにも連動させるには? | フォーム、VBA | |
フォーム上のある1レコードを更新したとき、一定のルールでそのレコードを関連した他のレコードの内容も連動して同様の値に更新させる方法です。たとえば、「同じ商品分類の”単位”はすべて同じ値に設定する」という入力規則があるような場合に使えると思います。 ここでは、各レコードの「商品分類」フィールドの値をチェックし、更新されたカレントレコードと同じ商品分類のレコードがあればそのすべての「単位」を更新されたレコードと同じにするという例で説明します。 それには、フォームの「AfterUpdate/更新後処理」イベントプロシージャを下記のようにします。
Private Sub Form_AfterUpdate() 'フォームの更新後処理 Dim rst As Recordset Dim strCriteria As String Set rst = Me.RecordsetClone '"商品分類がカレントレコードと同じである"を検索条件とする strCriteria = "商品分類 = '" & Me!商品分類 & "'" With rst '最初の該当レコードを検索 .FindFirst strCriteria '該当レコードがある間のループ Do Until .NoMatch '見つかったレコードの単位をカレントレコードと同じ値に更新 .Edit !単位 = Me!単位 .Update '次の該当レコードを検索 .FindNext strCriteria Loop .Close End With End Sub 実行例: ■実行前 ■商品分類「B」のある1レコードの「単位」を変更 ■そのレコードが保存されると.... |
|||
|
Copyright © T'sWare All rights reserved |