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