Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

VB6: Run-time error '6': Overflow

I'm studying computing at AS Level in England, and the language we are using is VB6.

I am working on out assignment which has to be completed for 18/12/2014.

The project is for a hypothetical situation where a running club needs software to do the following: - Add Members - View Members - Edit Member Information - Search for Members - Delete Members - Add Training Information for Members - View Training Information - Compare Training Information - Automatically select a team of runners based upon the number of hours trained for

Here's my code for the problem form:

Option Explicit

Private Sub CmdExitFromSelectTeam_Click()
Unload Me
End Sub

Private Sub SelectTeam()
Dim TrainingChannel As Integer
Dim Training As TrainingRecord
Dim MemberChannel As Integer
Dim Member As MemberRecord
Dim MemberRecordPointer As Integer
Dim TotalHoursTrained As Single
Dim TrainingRecordPointer As Integer
Dim FoundAtLeastOneRecord
FoundAtLeastOneRecord = False
MemberChannel = FreeFile
Open MemberFile For Random As MemberChannel Len = MemberLength
    MemberRecordPointer = 1
    Get MemberChannel, MemberRecordPointer, Member
    Do While Not EOF(MemberChannel)
        TotalHoursTrained = 0
        TrainingRecordPointer = 1
        TrainingChannel = FreeFile
        Open TrainingFile For Random As TrainingChannel Len = TrainingLength
            Get TrainingChannel, MemberRecordPointer, Training
            Do While Not EOF(TrainingChannel)
                If Member.ID = Training.MemberID Then
                    TotalHoursTrained = Round(TotalHoursTrained, 1) + Round(Training.TimeTaken, 1)
                End If
                TrainingRecordPointer = TrainingRecordPointer + 1 (*)
                Get TrainingChannel, MemberRecordPointer, Training
            Loop
        Close TrainingChannel
    LstTeamSelectDisplayTeam.AddItem TotalHoursTrained, 1
    LstTeamSelectDisplayTeam.AddItem Member.ID, 2
    LstTeamSelectDisplayTeam.AddItem Member.Forename, 3
    LstTeamSelectDisplayTeam.AddItem Member.Surname, 4
    MemberRecordPointer = MemberRecordPointer + 1
    Get MemberChannel, MemberRecordPointer, Member
    Loop
Close MemberChannel

End Sub

Private Sub Form_Load()
SelectTeam
End Sub

When this form (FrmSelectTeam.frm) is loaded at run time, the line: marked with (*) is highlighted as the debug line.

I have no idea what the problem is, and I'd appreciate all the help I can get, so thanks in advance!!!

James

like image 705
James Avatar asked Mar 22 '26 15:03

James


1 Answers

In VB6, the maximum value for the Integer data type is 32767. You are apparently exceeding that limit in the (*) statement. You can change it to a 32-bit integer by declaring it long:

Dim TrainingRecordPointer As Long
like image 95
xpda Avatar answered Mar 24 '26 09:03

xpda



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!