私は VB で自動化システムに取り組んでおり、プロジェクトは最終段階にあります。私が直面している問題は、学生のクラスに基づいて通年のレポートを作成したいということです。ただし、レポートが生成されると、レポートのレコードの最初の学生の名前しか表示されず、ループを使用した場合は最後の学生の名前しか表示されません。
参考までに、Access データベースで ADODB を使用し、ADODB.RecordSet を使用してデータを読み取ります。
私のレポート生成部分は次のようになります。
Set RS1 = New ADODB.recordSet
RS1.Open "SELECT * FROM RECORDS WHERE sClass = '" & ClassBox.Text & "';", connection, 3, adLockOptimistic
If Not RS1.EOF Then
Set DataReport2.DataSource = RS1.DataSource
End If
RS1.MoveFirst
Do Until RS1.EOF
DataReport2.Sections("Section1").Controls("NameLbl").Caption = CStr(RS1!sName)
DataReport2.Sections("Section1").Controls("SectionLbl").Caption = CStr(RS1!sSection)
DataReport2.Sections("Section1").Controls("ClassLbl").Caption = CStr(RS1!sClass)
DataReport2.Sections("Section1").Controls("JanLbl").Caption = CStr(RS1!January)
DataReport2.Sections("Section1").Controls("FebLbl").Caption = CStr(RS1!February)
DataReport2.Sections("Section1").Controls("MarLbl").Caption = CStr(RS1!March)
DataReport2.Sections("Section1").Controls("AprLbl").Caption = CStr(RS1!April)
DataReport2.Sections("Section1").Controls("MayLbl").Caption = CStr(RS1!May)
DataReport2.Sections("Section1").Controls("JunLbl").Caption = CStr(RS1!June)
DataReport2.Sections("Section1").Controls("JulLbl").Caption = CStr(RS1!July)
DataReport2.Sections("Section1").Controls("AugLbl").Caption = CStr(RS1!August)
DataReport2.Sections("Section1").Controls("SepLbl").Caption = CStr(RS1!September)
DataReport2.Sections("Section1").Controls("OctLbl").Caption = CStr(RS1!October)
DataReport2.Sections("Section1").Controls("NovLbl").Caption = CStr(RS1!November)
DataReport2.Sections("Section1").Controls("DecLbl").Caption = CStr(RS1!December)
DataReport2.Sections("Section1").Controls("TotalLbl").Caption = CStr(Val(RS1!January) + Val(RS1!February) + _
Val(RS1!March) + Val(RS1!April) + Val(RS1!May) + Val(RS1!June) + Val(RS1!July) + Val(RS1!August) + _
Val(RS1!September) + Val(RS1!October) + Val(RS1!November) + Val(RS1!December))
RS1.MoveNext
Loop
DataReport2.Show
私が望むのは、レポートを作成することです。レポートには、検索基準に基づいて、学生の名前と詳細が順番に含まれています。この場合はクラスです。