|
▼小僧 さん
丁寧にお教え頂いて、ありがとうございます。
教えていただいたとおりに記述しましたら、ファイルのオープンはできたのですが、「Do Until RS.EOF」以降のデータの書込みのところがなにもせずに終了してしまいます。
ウォッチウィンドウで確認しましたら、Statusのところに
<BOF と EOF のいずれかが True になっているか、または現在のレコードが削除されています。要求された操作には、現在のレコードが必要です。>
と表示されているのですが、どうしてでしょう?
フォームの画面では、確かに2つのパラメータで2件のデータが表示されています。
よろしくご教示お願いいたします。
Dim CN As ADODB.Connection
Dim CMD As New ADODB.Command
Dim RS As New ADODB.Recordset
Dim rs2 As New ADODB.Recordset
Set CN = CurrentProject.Connection
Set rs2 = New ADODB.Recordset
rs2.Open "出欠", CN, adOpenStatic, adLockOptimistic
With CMD
.ActiveConnection = CN
.CommandText = "SELECT * FROM 名簿一覧 " _
& "WHERE クラス ='" & Me.クラス選択 & "' " _
& "AND 曜日='" & Me.曜日選択 & "'"
.CommandType = adCmdText
.Parameters(0) = Forms![出欠一覧]![クラス選択]
.Parameters(1) = Forms![出欠一覧]![曜日選択]
End With
Set RS = CMD.Execute
Do Until RS.EOF
If RS!出欠 = -1 Then
rs2!生徒番号 = RS!生徒番号
rs2!氏名 = rs!氏名
rs2!クラス = rs!クラス
rs2!曜日 = rs!曜日
rs2!出席日 = Date
rs2!出欠 = -1
Else
rs2!生徒番号 = RS!生徒番号
rs2!氏名 = rs!氏名
rs2!クラス = rs!クラス
rs2!曜日 = rs!曜日
rs2!出席日 = Null
rs2!出欠 = 1
End If
RS.MoveNext
Loop
|
|