給与計算クエリを設定する上で、便宜上手入力でデータを増やしていました。
こんな感じです。
何も設定しない場合は、自分で社員CDと支給日等を入力する必要があります。
社員数人であれば、この方法でもいいでしょうが、人数が増えた場合は大変です。
ここでADOの出番。
詳しい説明はこちら。
ADOその6 二つのテーブルを操作する準備
ADOその7 二つのテーブルを操作するコード
ADOを使って、従業員数の分のデータを一括で増やします。
最初にこのような簡単なフォームを作ります。
テキストボックスとコマンドボタンを配置します。
テキストボックスの書式は日付に変更して下さい。
コマンドボタンのイベントタブのクリック時に、次のコードを入力します。
Private Sub コマンド2_Click()
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim cnn1 As ADODB.Connection
Dim rs1 As ADODB.Recordset
Set cnn = CurrentProject.Connection
Set rs = New ADODB.Recordset
Set cnn1 = CurrentProject.Connection
Set rs1 = New ADODB.Recordset
rs.Open “従業員情報”, cnn, adOpenKeyset, adLockOptimistic
rs1.Open “給与明細”, cnn1, adOpenKeyset, adLockOptimistic
rs.MoveFirst
Do Until rs.EOF
rs1.AddNew
rs1!社員CD = rs!社員CD
rs1!支給日 = Me!テキスト0
rs1.Update
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
cnn.Close
Set cnn = Nothing
rs1.Close
Set rs1 = Nothing
cnn1.Close
Set cnn1 = Nothing
End Sub
実行結果です。
このようにして従業員の数だけ明細を増やしていきます。
==========================
昨日は袋井クラウンメロンマラソンを走ってきました。
アップダウンが激しくタフなコースでしたが、自己記録を1分半ほど
更新し、3時間28分19秒でゴール。
最後の数キロはかなりきつかったのですが、意地でも自己ベストを出そう
と歯を食いしばって頑張りました。
その反動か、今日は人生最大の筋肉痛・・・歩くのもしんどい。
本日も最後までお読み頂きありがとうございます。