Run myself into a problem, with the code below i assume you know what it does, im having a problem the datareport form hangs, and it seems the problems lies on the RptTextBox coz when i removed it, the other RptLabels work. anyone who can help pls?
i included the file.
-----------
Sub PrintGrades()
Dim studname As String
Dim StudNum As String
Dim Studcourse As String
Dim StudYear As String
Dim Ctr As Integer
Dim qry As String
Dim Remarks As String
'qry = "SELECT [Student Grades].[Student Number], [Student Info].[Student Name], [Student Info].Course, [Student Info].Year, [Subject Code].Code, [Subject Code].Title, [Subject Code].Units, [Student Grades].Grades, [Student Grades].Credit FROM [Subject Code] RIGHT JOIN ([Student Info] RIGHT JOIN [Student Grades] ON [Student Info].[Student Number] = [Student Grades].[Student Number]) ON [Subject Code].Code = [Student Grades].Code"
Set Rs = New Recordset
Rs.Open "Select * from [Student Info Query] where [student number]='" & Text1 & " '", DB, adOpenStatic, adLockOptimistic
studname = Rs![Student Name]
StudNum = Rs![Student Number]
Studcourse = Rs!Course
StudYear = Rs!Year
With drgrades
.DataMember = ""
Set .DataSource = Rs.DataSource
With .Sections("Section2").Controls
For Ctr = 1 To .Count
If TypeOf .Item(Ctr) Is RptLabel Then
If .Item(Ctr).Name = "lblstudname" Then
.Item(Ctr).Caption = studname
ElseIf .Item(Ctr).Name = "lblstudnumber" Then
.Item(Ctr).Caption = studname
ElseIf .Item(Ctr).Name = "lblstudcourse" Then
.Item(Ctr).Caption = studname
ElseIf .Item(Ctr).Name = "lblstudyear" Then
.Item(Ctr).Caption = studname
End If
End If
Next Ctr
End With
Rs.MoveFirst
Do While Not Rs.EOF
With .Sections("Section1").Controls
For Ctr = 1 To .Count
If TypeOf .Item(Ctr) Is RptTextBox Then
If .Item(Ctr).Name = "txtcode" Then
.Item(Ctr).DataMember = ""
.Item(Ctr).DataField = Rs.Fields(4).Name
ElseIf .Item(Ctr).Name = "txttitle" Then
.Item(Ctr).DataMember = ""
.Item(Ctr).DataField = Rs.Fields(5).Name
ElseIf .Item(Ctr).Name = "txtunits" Then
.Item(Ctr).DataMember = ""
.Item(Ctr).DataField = Rs.Fields(6).Name
ElseIf .Item(Ctr).Name = "txtgrade" Then
.Item(Ctr).DataMember = ""
.Item(Ctr).DataField = Rs.Fields(7).Name
ElseIf .Item(Ctr).Name = "txtcredit" Then
.Item(Ctr).DataMember = ""
.Item(Ctr).DataField = Rs.Fields(8).Name
End If
End If
If Rs.Fields(5).Value = "1.0" Then
Remarks = "Excellent"
ElseIf Rs.Fields(5).Value <= "1.75" Then
Remarks = "Very Good"
ElseIf Rs.Fields(5).Value <= "2.5" Then
Remarks = "Satisfactory"
ElseIf Rs.Fields(5).Value <= "3.0" Then
Remarks = "Fair"
ElseIf Rs.Fields(5).Value <= "5.0" Then
Remarks = "Failure"
ElseIf Rs.Fields(5).Value <= "INC" Then
Remarks = "INCOMPLETE"
Else
Remarks = "No Grade"
End If
If TypeOf .Item(Ctr) Is RptLabel Then
If .Item(Ctr).Name = "lblremarks" Then
.Item(Ctr).Caption = Remarks
End If
End If
Next Ctr
End With
Loop