【正文】
39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。 Else MsgBox 密碼不正確 , , 登陸信息 End If 目的是 USER 表沒有該用戶,將無法使用本程序 然后進入主界面,如下圖所示: 28 主界面設計 圖 主界面 程序部分的代碼實現(xiàn) Private Declare Function DeleteFile Lib kernel32 Alias DeleteFileA (ByVal lpFileName As String) As Long 39。聲明 API 函數(shù)用于數(shù)據(jù)備份和恢復 Private Declare Function CopyFile Lib kernel32 Alias CopyFileA (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long Private Sub Form_Load() = GetSetting(, Settings, MainLeft, 4000) = GetSetting(, Settings, MainTop, 4000) = GetSetting(, Settings, MainWidth, 6500) = GetSetting(, Settings, MainHeight, 6500) 39。定位界面 End Sub Private Sub mnudayindangan_Click() 39。打開界面 29 End Sub Private Sub mnudayinlaozi_Click() 39。打開報表 End Sub Private Sub mnulaozijifa_Click() 39。打開界面 End Sub Private Sub mnupeizhi_Click() 39。打開界面 End Sub Private Sub mnutuichu_Click() End 39。退出所有程序 End Sub Private Sub mnudayinwanzheng_Click() 39。應做 :添加 39。mnudayinwanzheng_Click39。 代碼。 MsgBox 添加 39。mnudayinwanzheng_Click39。 代碼。 End Sub Private Sub mnudayinjiandan_Click() 39。應做 :添加 39。mnudayinjiandan_Click39。 代碼。 MsgBox 添加 39。mnudayinjiandan_Click39。 代碼。 End Sub Private Sub mnulaozichaxun_Click() 39。打開界面 End Sub Private Sub mnudanganchaxun_Click() 39。打開界面 End Sub Private Sub mnudanganshanchu_Click() = False = True 39。打開界面 End Sub 30 Private Sub mnudanganxiugai_Click() 39。打開界面 = True = False End Sub Private Sub mnudanganzengjia_Click() 39。顯示增加窗口 39。控件初始化 = = = = End Sub Private Sub munchushihua_Click() Response = MsgBox(是否初始化? , vbYesNo) If Response = vbYes Then Dim my As New 39。初始化 Dim myrs As New Set myrs = New Provider=。Data Source=。 delete FROM mang 。, my, adOpenKeyset, adLockOptimistic delete FROM zgjl 。, my, adOpenKeyset, adLockOptimistic 39。通過 SQL 語言刪除表中所有記錄 MsgBox 成功 Else Exit Sub End If End Sub Private Sub mundayinlvlibiao_Click() 39。打開報表 End Sub 31 Private Sub munpeixunchaxun_Click() 39。打開界面 End Sub Private Sub munpeixundel_Click() 39。打開界面 = False = True End Sub Private Sub munpeixunluru_Click() 39。顯示增加窗口 End Sub Private Sub munpeixunshanchu_Click() 39。打開界面 = True = 刪除 End Sub Private Sub munpeixunxiugai_Click() 39。打開界面 39。顯示 mand9 按鍵,并將 CAPTION 屬性定義為 修 改 = True = 修改 End Sub Private Sub munpeixunmodi_Click() 39。打開界面 = True = False End Sub 32 Private Sub munshujubeifen_Click() ss = amp。 \ ss2 = amp。 \ Response = MsgBox(原數(shù)據(jù)庫 : amp。 ss amp。 備份的數(shù)據(jù)庫將保存在 : amp。 ss2, vbYesNo) If Response = vbYes Then DeleteFile ss2 39。定義備份文件的位置 ,使用了相對目錄 CopyFile ss, ss2, 1 39。備份文件 MsgBox 成功 Else Exit Sub End If End Sub Private Sub munshujuhf_Click() ss = amp。 \ ss2 = amp。 \ Response = MsgBox(是否刪除原數(shù)據(jù)庫?位置 : amp。 ss, vbYesNo) If Response = vbYes Then DeleteFile ss 39。定義恢復文件 的位置 ,使用了相對目錄 MsgBox 備份的數(shù)據(jù)庫在 : amp。 ss2 amp。 恢復成原數(shù)據(jù)庫位置 : amp。 ss CopyFile ss2, ss, 1 39?;謴臀募? Else Exit Sub End If End Sub Private Sub munyonghu_Click() 39。打開界面 End Sub 33 添加功能模塊設計 圖 增加員工界面 通過 ADO 控件連接到數(shù)據(jù)庫的 RS 表,通 過 SQL 語句 “ SELECT , , , , , , , , rs.聯(lián)系電話 , , FROM rs?!? 篩選出全部記錄 用 TEXT 控件,將它的數(shù)據(jù)源設為 ADO 控件,將它的各列顯示出數(shù)據(jù)庫的各列。屬性設為可寫。 Private Sub Command1_Click() On Error Resume Next 添加記錄 End Sub Private Sub Command2_Click() On Error Resume Next 刪除記錄 End Sub 34 信息查詢模塊設計 圖 “查詢員工信息”界面 這里就列出查詢源代碼進行說明: Private Sub Command6_Click() ss= 設定 4 個變量 = SELECT * FROM RS where + ss2 + =39。 + ss4 + 39。 and + ss3 + =39。 + ss5 + 39。 字段 1=變量 SS1 值 =SS2 字段 2=變量 SS3 值 =SS4 End Sub 35 計發(fā)工資信息模塊設計 圖 計發(fā)工資信息界面 通過 ADO 控件連接到數(shù)據(jù)庫的表工資 用控件,將它的數(shù)據(jù)源設為 ADO 控件,將它的各列顯示出數(shù)據(jù)庫的各列。 Private Sub Command1_Click() On Error Resume Next 添加記錄 End Sub Private Sub Command2_Click() On Error Resume Next 刪除記錄 End Sub 36 配置管理界面設計 圖 “配置管理”界面 通過 ADO 控件連接到數(shù)據(jù)庫的 BUMEN 表,通過 SQL 語句 篩選出全部記錄。 用 DATA GRID 控件,將它的數(shù)據(jù)源設為 ADO 控件,將它的各列顯示出數(shù)據(jù)庫的各列。屬性設為可寫。 Private Sub Command1_Click() On Error Resume Next 添加記錄 End Sub Private Sub Command2_Click() On Error Resume Next 刪除記錄 End Sub 37 發(fā)布應用程序 在 Visual Basic 的集成開發(fā)環(huán)境中創(chuàng)建好電信人事管理信息系統(tǒng)后,并無意味著全部工作已完成,此時生成的應用程序只能在 Visual Basic 的集成環(huán)境中運行,要想使應用程序能夠脫離 Visual Basic 的集成開發(fā)環(huán)境,首先要對電信人事管理信息程序進行編譯并且生成 .exe或其他類型的文件,然后調(diào)用打包和展開向?qū)?chuàng)建安裝程序。 編譯應用程序 編譯電信人事管理信息程序就是將創(chuàng)建的應用程序以及它的工程文件合并成一個可執(zhí)行文件。在發(fā)布電信人事管理信息應用程序之前,首先應該使用測試和調(diào)試工具對改應用程序進行前面測試,在排除了所 有可能的錯誤后,才可以開始對應用程序進行編譯。 編譯應用程序的主要目的如下; ? 使應用程序轉(zhuǎn)入和運行更快。 ? 給發(fā)布應用程序做準備。 ? 使用應用程序更安全。 將應用程序進行編譯后, Visual Basic 將工程中的所有文件進行組織并將這些工程文件轉(zhuǎn)化成一個可執(zhí)行的文件 .exe。 Visual Basic 提供 APP 對象來存儲應用程序的有關(guān)信息屬性,例如,公司名,產(chǎn)品名,版本以及其他相關(guān)信息。在設計中,可以通過這些屬性來告訴用戶一些重要的信息,在應用程序運行時用 Visual Basic 代碼讀出這些屬性值,也可以在 Windows 資源管理器中觀察應用程序?qū)ο蟮陌姹拘畔傩灾怠S覔艟幾g過的 .exe 文件,然后從快捷菜單中選擇“屬性”命令打開“屬性”對話框的版本標簽,就可以看到應用程序的版本信息。 當完成當前工程的 APP 對象的屬性后,就可以編譯代碼了。 Visual 支持兩種編譯格式: P 代碼和本地代碼。選擇 P 代碼格式編譯的應用程序生成的可執(zhí)行文件較小,選擇本地代碼編譯的應用程序生成的可執(zhí)行文件要大的多,但是可執(zhí)行文件的運行速度比較快。 因此,電信人事管理信息系統(tǒng)采用的視本地代碼的編譯格式。 38 打包應用程序 創(chuàng)建 Visu