Option Explicit
'JEARVON DHARRIE
'Database Project
' 1.Design a student record
' 2.Design a data entry from
' 3.Write "save" code
' 4.Write "load" code
' 5.Design report card form and write "print" code
' 6.Sub Function to compute year to date grades
' 7.Sub Function to compute GPA
'REQUIREMENTS'''''''''''''''''''''''''''''''
'Year to date grade automatically updates.
'If you try to retreive a record without a record number entered
' trap the error.
'GPA is the average of the 6 courses, updates automaticallly.
'5%, 10% weight on honors, AP, respectively.
'Compute class rank, compared to other people on file.
'Ease of use, enter through boxes, menu with hot keys.
'Use common dialog box.
'Save/ Save As option.
'Saving new file brings up Save As box.
'Minimum of 4 records.
'Grade report- honors/AP classes marked with stars.
''''''''''''''''''''''''''''''''''''''''''''
'Common dialog box
'''Private Type AddressRecord '62 Bytes
'' Street As String * 40
'' City As String * 15
'' State As String * 2
'' Zip As String * 5
'''End Type
''
''
''
''
'''Private Type Course '61 Bytes
'' Title As String * 20
'' credits As Single
'' courseNumber As String * 3
'' teacher As String * 20
'' kind As String * 1 'A, H, R (AP, Honors, Regular)
'' q1 As Integer
'' q2 As Integer
'' q3 As Integer
'' q4 As Integer
'' exam As Integer
'' ytd As Single
'' comment(2) As Integer
'''End Type
'Private Function GradeToNumber(ByVal arument As String) As Boolean
'
'
'End Function
Private Sub mnucard_Click()
'FRMREPORTCARD.Show
End Sub
Private Sub mnuExit_Click()
Unload Me
End Sub
Private Sub mnuOpen_Click()
Dim index As Long
'DIALOGS.ShowOpen
filename = "foo"
Open filename For Random As #1 Len = Len(s)
s.idNumber = Val(txtid)
Get #1, Val(s.idNumber), s
txtlast.Text = Trim$(s.lastName)
Txtfirst.Text = Trim$(s.firstName)
txtmiddle.Text = Trim$(s.middleName)
txtage = Trim$(s.age)
Combo1 = Trim$(s.gender)
Combo2 = Trim$(s.State)
txtcity.Text = Trim$(s.City)
txtid.Text = Trim$(s.idNumber)
txtstreet.Text = Trim$(s.Street)
txtcounselor.Text = Trim$(s.counselor)
txthomeroomeacher.Text = Trim$(s.hrTeacher)
txthomeroom = Trim$(s.homeroom)
txtzip.Text = Trim$(s.Zip)
txtgrade(9).Text = Trim$(s.grade)
txtrank.Text = Trim$(s.rank)
For index = 0 To 5
txtTeacher(index).Text = Trim$(s.teacher(index))
txtClass(index) = Trim$(s.Title(index))
txtclasstype(index).Text = Trim$(s.kind(index))
txtquarter1(index) = Trim$(s.q1(index))
txtq2(index) = Trim$(s.q2(index))
txtq3(index) = Trim$(s.q3(index))
txtq4(index) = Trim$(s.q4(index))
Next index
Close #1
End Sub
Private Sub mnuprint_Click()
'DIALOGS.ShowPrinter
End Sub
Private Sub mnusa_Click()
'DIALOGS.ShowSave
filename = "foo"
Open filename For Random As #1 Len = Len(s)
s.lastName = txtlast
s.idNumber = txtid
s.middleName = txtmiddle.Text
s.age = txtage
Put #1, s.idNumber, s
Close #1
End Sub
Private Sub mnusave_Click()
Dim index As Long
If filename = "" Then
' DIALOGS.ShowSave
filename = "foo"
End If
Open filename For Random As #1 Len = Len(s)
s.idNumber = Val(txtid)
Get #1, s.idNumber, s
s.lastName = txtlast.Text
s.firstName = Txtfirst.Text
s.middleName = txtmiddle.Text
txtage = Trim$(s.age)
Combo1 = Trim$(s.gender)
Combo2 = Trim$(s.State)
txtcity.Text = Trim$(s.City)
txtid.Text = Trim$(s.idNumber)
txtstreet.Text = Trim$(s.Street)
txtcounselor.Text = Trim$(s.counselor)
txthomeroomeacher.Text = Trim$(s.hrTeacher)
txthomeroom = Trim$(s.homeroom)
txtzip.Text = Trim$(s.Zip)
txtgrade(9).Text = Trim$(s.grade)
txtrank.Text = Trim$(s.rank)
For index = 0 To 5
txtTeacher(index).Text = Trim$(s.teacher(index))
txtClass(index) = Trim$(s.Title(index))
txtclasstype(index).Text = Trim$(s.kind(index))
txtquarter1(index) = Trim$(s.q1(index))
txtq2(index) = Trim$(s.q2(index))
txtq3(index) = Trim$(s.q3(index))
txtq4(index) = Trim$(s.q4(index))
Next index
Put #1, s.idNumber, s
Close #1
End Sub
Private Sub mRank_Click()
frmRank.Show vbModal, Me
End Sub
Private Sub txtage_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Combo1.SetFocus
End If
End Sub
Private Sub txtcity_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Combo2.SetFocus
End If
End Sub
Private Sub txtclasstype_Change(index As Integer)
If (txtclasstype(index).Text) = "R" And validgrade(txtquarter1(index)) And validgrade(txtq2(index)) And _
validgrade(txtq3(index)) And validgrade(txtq4(index)) And validgrade(txtexam(0)) Then 'FIXME
lblfinal.Caption = (Val(txtquarter1(index)) + Val(txtq2(index)) + Val(txtq3(index)) + Val(txtq4(index)) + Val(txtexam(index))) / 4
End If
End Sub
Private Sub Txtfirst_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
txtmiddle.SetFocus
End If
End Sub
'Private Sub txtid_Change()
'If Len(txtid.Text) <= 0 Then txtid.Text = 0
'End Sub
Private Sub txtlast_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
txtage.SetFocus
End If
End Sub
Private Sub txtmiddle_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
txtlast.SetFocus
End If
End Sub
Private Sub txtstreet_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
txtcity.SetFocus
End If
End Sub
Private Function validgrade(ByVal grade As String) As Boolean
grade = Trim$(grade)
validgrade = IsNumeric(grade)
End Function