【正文】
Text1(空)Text2(空)Text3(空)Text4(空)Text5(空)CommandButtonCommand1增加記錄Command2刪除記錄Command3下一條Command4上一條Command5第一條Command6最后一條Command7退出ADO DataAdodc1(空)DataGridDataGrid1(空) 圖書借閱和圖書賠償子窗體分別如圖23和圖24所示,因為它們的控件與圖書登記子窗體的雷同,在此不作介紹?! D25 增加用戶子窗體 表5 增加用戶子窗體控件控 件 類 別控件Name控件TextLabelLabel1輸入用戶名Label2輸入密碼Label3確認密碼Label4選擇權(quán)限TextBoxText1(空)Text2(空)Text3(空)ComboBoxComb1(空)CommandButtonCommandl確定Command2取消 (3) 修改密碼子窗體如圖26所示?! D27 庫房管理子窗體 其控件如表6所示。MSFlexGridMSFlexGrid1 圖28 查詢子窗體 表7 查詢子窗體控件控 件 類 別控件Name控件TextOptionButtonOption1按編號查詢 (7) 值班管理子窗體如圖30所示,其控件如表8所示?! D31 投訴管理子窗體 建立公共模塊 顯示目錄 建立公共模塊可以提高代碼的效率,同時使得修改和維護代碼都很方便?! ?2) 選擇模塊圖標后,單擊“打開”按鈕,則模塊已經(jīng)添加到項目中了?! D32 模塊對話框 (3) 在模塊中定義整個項目的公共變量。 標記連接對象 Public userID As String 39。 標記用戶權(quán)限 Public find As Boolean 39。 查詢語句 Public rs_data1 As New Public findok As Boolean Public frmdata As Boolean Public Const keyenter = 13 39。主窗體代碼 在本項目中,子菜單事件都是Click事件,這里先給出主窗體部分的代碼?! rivate Sub adduser_Click() End Sub 下面是響應(yīng)“查詢輸出”子菜單Click事件,調(diào)出查詢輸出窗體代碼?! rivate Sub exit_Click() Unload Me End Sub 下面是響應(yīng)“圖書登記”子菜單Click事件,調(diào)出圖書登記窗體代碼?! rivate Sub changepwd_Click() End Sub 下面是響應(yīng)“圖書借閱”子菜單Click事件,調(diào)出圖書借閱窗體代碼?! rivate Sub tushupeichang_Click() 1 End Sub 下面是響應(yīng)“值班管理”菜單Click事件,調(diào)出值班管理窗體代碼?! rivate Sub tousuguanli_Click() 1 End Sub 各子窗體的代碼 在各個子窗體建立好后,就可以根據(jù)各個子窗體的功能給它們添加相應(yīng)代碼了。采用MDI的子程序,所以運行后,它出現(xiàn)在主程序的界面下,如圖33所示?! rivate Sub Command1_Click() On Error GoTo adderr Exit Sub adderr: MsgBox End Sub Private Sub Command2_Click() On Error GoTo deleteerr With If Not .EOF And Not .BOF Then If MsgBox(刪除當前記錄嗎?, vbYesNo + vbQuestion) = vbYes Then .Delete .MoveNext If .EOF Then .MoveLast End If End If End With Exit Sub deleteerr: MsgBox End Sub Private Sub Command3_Click() If Then MsgBox 這是最后一條記錄, vbOKCancel + vbQuestion End If End Sub Private Sub Command4_Click() If Then MsgBox 這是第一條記錄, vbOKCancel + vbQuestion End If End Sub Private Sub Command5_Click() If Then MsgBox 記錄空, vbOKCancel + vbQuestion End Else Exit Sub End Sub Private Sub Command6_Click() If = 0 Then MsgBox 空記錄, vbOKCancel + vbQuestion End Else End If End Sub Private Sub Command7_Click() End Sub 圖書借閱和圖書賠償子窗體運行后如圖34和圖35所示,因為它們的代碼和圖書登記子窗體的代碼雷同,在此不做重復(fù)。其運行效果如圖36所示?! ? 圖36 增加用戶子窗體運行效果 圖37 成功信息框 窗體部分代碼的思路是,收集輸入的表中的字符串,然后與數(shù)據(jù)庫中的系統(tǒng)的用戶數(shù)據(jù)比較,如果不存在,則允許添加。其運行效果如圖38所示。 amp。 39。最后,用MsgBox 密碼修改成功, vbOKOnly + vbExclamation,語句彈出一個信息框,告訴修改成功,如圖39所示。其運行效果如圖40所示。就是在DataGrid的文本框中顯示圖書進出的清單,最后把填寫的明細存儲到數(shù)據(jù)庫中。 進出庫標志 Dim modify As Boolean 39。 非修改狀態(tài) showgrid2 = False displaygrid1 39。顯示msflexgrid1子程序 Public Sub displaygrid1() Dim i As Integer On Error GoTo displayerror setgrid setgridhead = 0 If Not Then Do While Not = + 1 = 0 If Not IsNull((0)) Then = (0) Else = = 1 If Not IsNull((1)) Then = (1) Else = = 2 If Not IsNull((2)) Then = (2) Else = = 3 If Not IsNull((3)) Then = (3) Else = = 4 If Not IsNull((4)) Then = (4) Else = = 5 If Not IsNull((5)) Then = (5) Else = Loop