Accessで給与計算22~給与計算結果を保存するADOのコード②

Pocket

前回給与計算クエリの計算結果を給与明細控えテーブルに移すコードを記しましたが、
このコードを少し解説します。

フォーム1のテキストボックスは、給与計算フォームを開いている状態でも、
その後ろで開いています。
2701054

Do Until rs.EOF →給与明細テーブルが最後のデータになるまで
If rs!支給日 = Forms!フォーム1!テキスト0 Then →支給日がフォーム1の支給日と同じなら
rs1.AddNew →給与明細控えテーブルにデータを追加する
rs1!社員CD = rs!社員CD 給与明細テーブルの社員CDを給与明細控えテーブルの社員CDへ
rs1!支給日 = Forms!フォーム1!テキスト0 →給与明細控えテーブルの支給日はフォーム1の支給日を転記します。
2701051
それ以外の項目はDlookup関数を使ってデータを移します。
rs1!基本給 = DLookup(“基本給”, “給与計算”, “ID=” & rs!ID & “”)
最初に給与明細テーブルの支給日が12/25のデータのIDを取得します。

そのIDに該当する給与計算クエリの基本給を参照し、そのデータを給与明細控えテーブルの
基本給というフィールドに転記します。
2701052
同様にそれ以外の項目を移します。
rs1!通勤手当 = DLookup(“通勤手当“, “給与計算”, “ID=” & rs!ID & “”)
変更するところは太字のところだけ。コピペで変更していきます。

最後に
rs1.Update →給与明細控えテーブルを更新します。
End If 
rs.MoveNext →給与計算テーブルの次のデータに移動します。
Loop →最後のデータになるまで繰り返します。

実行結果です。
2701053
このような仕組みで別のテーブルに計算結果を移していきます。

===============================
年も明けて、静岡マラソンまで2か月を切りました。
今日は1時間半ほど走りましたが、まだまだという感じ。
そろそろピッチを上げてしっかり仕上げて、自己ベストを狙いたいです。

本日も最後までお読み頂きありがとうございます。