【正文】
.Show End With Unload Me End If End Sub Private Sub Form_Load() = 0 End Sub 主界面代碼 : Option Explicit 39。表示當(dāng)前的用戶類型 39。0管理員類型的用戶 。 1教師類型的用戶 Public mnUserType As Integer 39。表示當(dāng)前登錄的用戶名 Public msUserName As String Private Sub MDIForm_Activate() 39。39。根據(jù)不同的用戶類型,使相應(yīng)的菜單項(xiàng)可見(jiàn) Select Case mnUserType Case 0: 39。以管理員身份登錄 = True Case 1: 39。以教師身份登錄, 只能查詢自己的信息 = False End Select End Sub Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer) If MsgBox(真的要對(duì)出本系統(tǒng)嗎? , vbQuestion + vbYesNo + vbDefaultButton2, 退出 ) = vbNo Then Cancel = 1 End If End Sub Private Sub mnuAbout_Click() Load frmSplash = True vbModal End Sub Private Sub mnuExit_Click() Unload Me End Sub Private Sub mnuFind_Click() = True End Sub Private Sub mnuLogin_Click() If MsgBox(若重新登錄,所有窗體都將關(guān) 閉!是否重新登錄? , vbQuestion + vbYesNo + vbDefaultButton2, 重新登錄 ) = vbYes Then Unload MDIMain End If End Sub Private Sub mnuStudent_Click() If mnUserType = 0 Then Else End If End Sub : 教師信息管理代碼 : Option Explicit Dim mbClose As Boolean 39。是否能關(guān)閉 Dim msSerial As String 39。當(dāng)前編輯的教師號(hào) 39。39。39。在 中查詢 serial 為 sSerial 的學(xué)籍信息 Sub SeekTeacher(sSerial As String) If Not ( And ) Then Dim Temp As String Temp = serial = amp。 39。 amp。 sSerial amp。 39。 Temp End If End Sub 39。39。39。當(dāng)改變記錄集時(shí),需要刷新整個(gè)網(wǎng)格控件 Sub RefreshGrid() = If adStateClosed Then = sqlSeek 39。39。刷新各個(gè)綁定控件 Call grdScan_Change End Sub 39。39。39。用以在瀏覽時(shí),根據(jù)當(dāng)前記錄所出的位置不 同,來(lái)改變個(gè)瀏覽按鈕的狀態(tài) Sub ChangeBrowseState() With 39。39。如果沒(méi)有任何記錄,則清空顯示目錄;并且使瀏覽部分和管理部分的按鈕無(wú)效 If .State = adStateClosed Then .Open If .BOF And .EOF Then = True = False = False = False = False = False Else = True = True = True = False = True = True End If 39。39。39。假如處于記錄的頭部 If .BOF Then If Not .EOF Then = False = False Else = True = True End If 39。39。39。假如處于記錄的尾部 If .EOF Then If Not .BOF Then = False = False Else = True = True End If End With End Sub 39。39。刷新教師號(hào)為 sSerial 的教師所受課程的網(wǎng)格控件 grdTeach Sub RefreshTeach(sSerial As String) 39。 = 39。 With If .State adStateClosed Then .Close Dim str If sSerial = Then str = select course.* from course, teach where = Else str = select course.* from course, teach where = and = 39。 amp。 sSerial amp。 39。 End If .Open str End With = oeach End Sub Private Sub cmdAdd_Click() = 19700101 = True = False = False = False = False = True = 取消 = True mbClose = False 39。不能關(guān)閉窗口 End Sub Private Sub cmdDelete_Click() On Error GoTo errHandler If MsgBox(要?jiǎng)h除記錄 ?, vbYesNo + vbQuestion + vbDefaultButton2, 確認(rèn) ) = vbYes Then delete from Teacher where serial =39。 amp。 txtSerial amp。 39。 If Then 39。39。刷新用戶導(dǎo)航的網(wǎng)格控件 Call RefreshGrid End If Exit Sub errHandler: MsgBox , vbCritical, 錯(cuò)誤 End Sub Private Sub cmdDeleteTeach_click() On Error GoTo errHandler If MsgBox(確實(shí)要?jiǎng)h除此授課記錄? , _ vbYesNo + vbQuestion + vbDefaultButton2, 確認(rèn) ) = vbYes Then Dim str str = (0).CellText() str = delete from teach where courseid=39。 amp。 str amp。 39。 39。39。使用 con 來(lái)刪除所選的記錄 str 39。39。刷新用于顯示教師授課信息的 grdTeach 控件 = oeach End If Exit Sub errHandler: MsgBox , vbCritical, 錯(cuò)誤 End Sub Private Sub cmdEdit_Click() = True = False = False = False = True = 取消 39。39。39。更改為“取消更新”的狀態(tài) = True mbClose = False 39。不能關(guān)閉窗口 End Sub Private Sub cmdEditTeach_Click() 39。39。修改當(dāng)前所選的授課信息 On Error GoTo errHandler With frmTeach Load frmTeach .Caption = 添加 amp。 Trim(txtName) amp。 老師的所授課程 39。39。將當(dāng)前所定位的課程信息寫入到 frmTeach 窗體中 . = (0).CellText() .Show vbModal 39。39。如果用戶沒(méi)有點(diǎn)擊確認(rèn)按鈕,則退出處理過(guò)程 If Not .mbAdded Then Unload frmTeach Exit Sub End If 39。39。添加授課記錄 If = adStateClosed Then (CourseID) = . (TeacherID) = End With 39。39。刷新用于顯示授課的 grdTeach 網(wǎng)格控件 Call RefreshTeach(msSerial) Exit Sub errHandler: MsgBox , vbCritical, 錯(cuò)誤 End Sub Private Sub cmdFirst_Click() Call ChangeBrowseState End Sub Private Sub cmdLast_Click() Call ChangeBrowseState End Sub Private Sub cmdList_Click() On Error Resume Next 39。39。針對(duì)所選的部門,列出屬于該部門的中所有教師的信息 Dim strSQL If = 0 Then strSQL = select serial, name from Teacher order by serial Else strSQL = select serial,name from Teacher where dept_id= amp。 _ () amp。 order by serial End If strSQL 39。39。刷新用以導(dǎo)航的網(wǎng)格控件 Call RefreshGrid Call ChangeBrowseState Call grdScan_Change End Sub Private Sub cmdNext_Click() Call ChangeBrowseState End Sub Private Sub cmdPrevious_Click() Call Chan