勤務管理表を作る~社員毎に勤務データを作る

Pocket

以前勤務表テーブルにデータを追加するときは、社員CDを入れずにいましたが、
今回は社員毎にまとめてデータを追加する方法を解説します。

社員のデータを追加します。
2804031

次に勤務表データ追加フォームのコマンドボタンのVBAコードを変更します。
2804032

変更後のコードは次の通りです。
Private Sub コマンド4_Click()
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim i As Integer

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

rs1.MoveFirst
Do Until rs1.EOF

For i = 0 To Int(Me!テキスト2) – Int(テキスト0)
rs.AddNew
rs!社員CD = rs1!社員CD
rs!日付 = Me!テキスト0 + i
rs.Update
Next i
rs1.MoveNext
Loop

rs.Close
Set rs = Nothing
cnn.Close
Set cnn = Nothing

rs1.Close
Set rs1 = Nothing
cnn1.Close
Set cnn1 = Nothing

End Sub

太文字部分が今回追加したコードです。
最初と最後はお決まりのパターンです。

その間のコードですが、社員テーブルの最初から最後までループを回します。
その回っている間に、テキストボックスの日付の分だけ社員テーブルの上から
順番にFor関数で勤務表テーブルのデータを増やします。

実行結果です。
2804033

=====================================
今日は静岡まつりに行ってきました。これといって目玉のない祭りなので
出店で食べたいもの食べて、おなか一杯になったら他にすることもなく
家に帰りました。来年は行かなくていいかな・・

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