【正文】
系統(tǒng),均不成功,系統(tǒng)將關(guān)閉 ” Dbapi_Disconnect End Else Exit Sub End If End If ?登錄成功,將當(dāng)前用戶的信息保存在 CurUser 中 () ?關(guān)閉自己 Unload Me End Sub 設(shè)計主界面 主窗體是工程的啟動對象,可以在系統(tǒng)菜單中選擇“工程” /“屬性”,打開屬性窗口設(shè)置啟動對象。 菜單設(shè)計器如圖: 42 所示。登錄界面 1 End Sub 銀行設(shè)備管理系統(tǒng) 20 基本信息管理模塊設(shè)計 基本信息管理模塊包括設(shè)備類型信息管理、設(shè)備品牌信息管理和支行信息管理。 圖 43 窗體中包含的控件及其屬性如表 43 所示。刷新 DataList1 中的數(shù)據(jù) DataRefresh End Sub 在此過程中將顯示所有的設(shè)備分類名稱。設(shè)置連接字符串 = Conn 39。設(shè)置數(shù)據(jù)源 Set = Adodc1 = InfoName 39。設(shè)置列表綁定字段 End Sub ( 2) cmd_add_click 過程。添加設(shè)備分類名稱,先判斷域是否為空 If Len(Trim(txtName)) = 0 Then MsgBox (請輸入分類名稱 ) Exit Sub End If 39。插入新記錄 With MyBase .InfoName = Trim(txtName) .TypeID = TypeID .Insert End With DataRefresh End Sub ( 3) DataList_Click 過程。點(diǎn)擊列表記錄,將編號和名稱放入變量和 txtName 域 If Len(Trim()) = 0 Then MsgBox (請選擇記錄 ) Exit Sub End If OriId = Val() 39。判斷是否存在此記錄信息 OriInfoName = Trim() 39。varchar 框中顯示分類名稱 End If End Sub ( 4) Cmd_Modi_Click 過程。修改分類名稱 If Len(Trim()) = 0 Then MsgBox (請選擇記錄 ) Exit Sub End If 39。判斷新的名稱是否已經(jīng)存在 If (Trim(txtName), 1) = True Then MsgBox (已經(jīng)存在此分類名稱 ) Exit Sub End If 39。刷新分類列表 End Sub ( 5) Cmd_Del_Click 過程 。 確定刪除 If MsgBox(是否確定要刪除 , vbYesNo, 請確認(rèn) ) = vbNo Then 銀行設(shè)備管理系統(tǒng) 23 Exit Sub End If 39。刷新 DataList1 End Sub 設(shè)備品牌信息管理窗體 設(shè)備品牌信息管理窗體也是 Frmtype,只是公共變量 Type ID 的值為 2。 在主界面中增加設(shè)置代碼 當(dāng)選擇“基本信息管理” /“設(shè)備分類管理”菜單時觸發(fā) mn_Types_Click 事件,代碼如下: Private Sub mn_Types_Click() =1 =”設(shè)備類型管理 ” 1 End Sub 設(shè)備信息管理模塊 設(shè)備信息管理模塊包含設(shè)備信息的添加、修改、刪除和查看等功能。 銀行設(shè)備管理系統(tǒng) 24 圖 44 窗體 FrmDeviceEdit 包含的主 要控件及其屬性如表 44 所示。 ( 1) Form_Load()過程。 設(shè)備分類信息 = Conn 39。選擇設(shè)備分類 Set = Adodc1 39。顯示列名 = InfoId 39。 設(shè)備品牌信息 = Conn 39。選擇設(shè)備品牌 Set = Adodc2 39。顯示列名 = InfoId 39。 支行信息 = Conn 39。選擇支行 Set = Adodc3 39。顯示列名 = InfoId 39。當(dāng)單擊“確定”按鈕時觸發(fā) cmd_ok_click 事件,對應(yīng)的程序代碼如下: Private Sub Cmd_OK_Click() 39。把用戶錄入的數(shù)據(jù)賦值到數(shù)據(jù)庫對象變量中 With MyDevice .DevNo = MakeStr(txtDevNo) .TypeID = Val() .EnterpriseID = Val() .Model = MakeStr(txtModel) .Price = Val(txtPrice) .Place = MakeStr(txtPlace) .BranchID = Val() .StartDate = Format(, yyyymmdd) .Administrator = MakeStr(txtAdmin) .Poster = MakeStr(txtPoster) .Status = 正常 39。判斷此設(shè)備編號是否存在 If .In_DB(Trim(txtDevNo)) = True Then MsgBox (已經(jīng)存在此設(shè)備編號 ) Exit Sub End If .Insert Else 銀行設(shè)備管理系統(tǒng) 27 .Update (OriId) End If End With 39。在窗體 FrmDevice 中,使用 DataList控件來顯示設(shè)備分類和所屬支行等信息查詢條件信息,使用 DataGrid 控件來顯示設(shè)備數(shù)據(jù),使用 3 個 ADO Data 控件為它們提供數(shù)據(jù)源。 表 45 窗體 FrmDevice 中包含的控件及其屬性 對象名 屬性 屬性值 TxtDevno 設(shè)備編號 Adodcl 為設(shè)備信息表格提供數(shù)據(jù)源 DataGrid1 顯示設(shè)備信息的表格控件 Adodc2 為設(shè)備分類提供數(shù)據(jù)源 Dco_typeid 設(shè)備分類 Adodc3 為所屬支行提供數(shù)據(jù)源 Dco_branch 所屬支行 Cmd_search Caption 布放地點(diǎn) Cmd_reset Caption 為所屬支行提供數(shù)據(jù)源 Cmd_add Caption 所屬支行 Cmd_modi Caption 開通時間 Cmd_del Caption 管理員 Cmd_exit Caption 創(chuàng)建人 設(shè)備信息管理窗體的布局如圖 45 所示 。 (1)SchCnd 變量。 GridRefresh過程根據(jù)變量 SchCnd的值讀取不同的記錄,對應(yīng)的代碼如下: Private Sub GridRefresh() 39。設(shè)置查詢條件 SchCnd = AND = 39。 End If If Len(Trim()) 0 Then SchCnd = SchCnd + AND = + Trim(()) End If If Len(Trim()) 0 Then SchCnd = SchCnd + AND = + Trim(()) End If = Conn 39。設(shè)置數(shù)據(jù)源 (0).Width = 800 39。 Private Sub Form_Load() 39。設(shè)置連接字符串 = SELECT * FROM BaseInfo WHERE TypeId=1 39。綁定數(shù)據(jù)源 = InfoName 39。綁定列值 39。設(shè)置連接字符串 = SELECT * FROM BaseInfo WHERE TypeId=3 39。綁定數(shù)據(jù)源 = InfoName 39。綁定列值 39。 Private Sub Cmd_Add_Click() 39。初始化 FrmDeviceEdit 信息 銀行設(shè)備管理系統(tǒng) 30 = 39。設(shè)備型號 = 0 39。數(shù)量 = Now 39。管理員 = 39。啟動編輯窗體 1 39。 Private Sub Cmd_Modi_Click() If = True Then MsgBox 請選擇記錄 Exit Sub End If 39。初始化 FrmDeviceEdit 信息 = Trim((0)) 39。設(shè)備編號 = Trim((1)) 39。設(shè)備品牌 = Trim((3)) 39。購買價格 = Trim((5)) 39。支行 = Trim((7)) 39。管理員 = Trim((9)) 39。編輯時設(shè)備編號和數(shù)量不能更改 = False 39。刷新 DataGrid 表格的內(nèi)容 End Sub 銀行設(shè)備管理系統(tǒng) 31 設(shè)備信息選擇窗體 為了方便用戶在其他模塊中選擇設(shè)備信息,設(shè)計一個選擇設(shè)備的窗體,窗體名為 FrmDeviceSel 中,使用 DATAGRID 和 ADODC 控件來顯示設(shè)備的數(shù)據(jù)。 圖 46 當(dāng)用戶雙擊 DataList1 控件時觸發(fā) DataGrid_DblClick 事件,對應(yīng)的代碼如下: Private Sub DataGrid1_DblClick() 39。 設(shè)備維護(hù)信息編輯窗體 設(shè)備維護(hù)信息 編輯窗體的名稱為 FrmMntenanceEdit,窗體的布局如圖 47 所示。設(shè)備選擇窗體 39。設(shè)備編號 () 39。設(shè)備型號 () txtBranch = Trim() 39。布放地點(diǎn) End Sub 銀行設(shè)備管理系統(tǒng) 33 當(dāng)用戶在設(shè)備窗體中選擇了設(shè)備,同時將設(shè)備信息放入到對象 MyDeviceSel中,所以當(dāng)用戶退出選擇設(shè)備窗體時,系統(tǒng)可以從對象 MyDeviceSel 中讀取選擇的設(shè)備信息。檢查用戶錄入數(shù)據(jù)的有效性 If Len(Trim(txtDevNo)) = 0 Then MsgBox (請選擇設(shè)備 ) Exit Sub End If If Len(Trim(txtEngineer)) = 0 Then MsgBox 請輸入維護(hù)人員 Exit Sub End If 39。根據(jù)變量 Modify 的值,決定是插入新數(shù)據(jù),還是修改已有的數(shù)據(jù) If Modify = False Then .Insert Else .Update (OriId) End If End With 39。 當(dāng)裝載窗體時觸發(fā) Form_Load 事件,對應(yīng)的代碼如下: Private Sub Form_Load() = Now = Now + 1 GridRefresh End Sub 程序初始化時間范圍控件的值,將起始日期設(shè)置為當(dāng)天,終止 日期設(shè)置為第二天。代碼如下: Private Sub GridRefresh() 39。 + Trim(txtDevNo) + 39。 + Format(, yyyymmdd) _ + 39。 + Format(, yyyymmdd) + 39。設(shè)置數(shù)據(jù)源的屬性 = Conn = SELECT AS 編號 , AS 設(shè)備編號 , _ + AS 設(shè)備品牌 , AS 設(shè) 備型號 , AS 銀行設(shè)備管理系統(tǒng) 35 所屬支行 , _ + AS 布放地點(diǎn) , AS 設(shè)備報修時間 , AS 到達(dá)現(xiàn)場時間 , _ + AS 故障解決時間 , AS 故障原因 , CASE WHEN 0 _ + THEN 39。 ELSE 39。 END AS 是否更換配件 , AS 更換配件的列表 , _ + AS 維護(hù)人員 , AS 維護(hù)費(fèi)用 , AS 備注 _ + FROM Device d, BaseInfo t1, BaseInfo t2, Maintenance m _ + WHERE = AND = AND = _ + SchCnd + ORDER BY