endless loop

martin461

New member
Local time
Today, 09:10
Joined
Jul 29, 2009
Messages
9
Here's my code, can anyone determine my I am getting an error that says "Compile Error: Loop Without Do"

Yet I am sure I have tied up all the Loops with ending statements...

Code:
Function Calculate_Fees_part_2()
Dim db As DAO.Database
Dim rs1 As DAO.Recordset
Set db = CurrentDb()
Set rs1 = db.OpenRecordset("Course Fees Booklet Final")
    'set up variables
    Dim Prg As String
    Dim Per As String
    Dim full_desc As String
    Dim funding_stream As Integer
            
    Dim Tuition As Integer
    Dim Exam As Integer
    Dim materials As Integer
    Dim visits As Integer
    Dim textbook As Integer
    Dim POA As String
                     
    Do Until rs1.EOF
    Prg = rs1![Prg]
    Per = rs1![Per]
    full_desc = rs1![full_desc]
    
    Tuition = rs1![Tuition]
    Exam = rs1![Exam]
    materials = rs1![Materials_Enr]
    visits = rs1![Visits_Enr]
    
    Dim myTotal As Integer
    
    myTotal = Tuition + Exam + materials + visits + textbook
    
    If IsNull(rs1![text_field1]) Then
    
        Dim rs5 As DAO.Recordset
        Set db = CurrentDb()
        Set rs5 = db.OpenRecordset("fees")
        
            Do Until rs5.EOF
            
            If rs5!Prg = Prg And rs5!Per = Per And rs5!full_desc = full_desc Then
                
                rs5.Edit
                rs5![19total] = myTotal
                myTotal = myTotal / 3
                rs5![19inst1] = myTotal
                rs5![19inst2] = myTotal
                myTotal = myTotal + 20
                rs5![19deposit] = myTotal
                rs5.Update
                'Exit Do
            End If
    
            rs5.MoveNext
        Loop
        rs5.Close
        Set rs5 = Nothing
        Set db = Nothing
        
    Else
        POA = rs1![text_field1]
        If POA = "P" Or "W" Then
            Dim rs6 As DAO.Recordset
            Set db = CurrentDb()
            Set rs6 = db.OpenRecordset("fees")
            
                Do Until rs6.EOF
                
                If rs6!Prg = Prg And rs6!Per = Per And rs6!full_desc = full_desc Then
                    
                    rs6.Edit
                    rs6![19total] = POA
                    rs6![19deposit] = POA
                    rs6![19inst1] = POA
                    rs6![19inst2] = POA
                    rs6.Update
                    'Exit Do
                End If
                rs6.MoveNext
            Loop
            rs6.Close
            Set rs6 = Nothing
            Set db = Nothing
    
    rs1.MoveNext
Loop
                         
rs1.Close
Set rs1 = Nothing
Set db = Nothing
End Function
 
That error is always misleading. What you really have is a missing End If to go with this line:

If IsNull(rs1![text_field1]) Then
 

Users who are viewing this thread

Back
Top Bottom