到界面后如果要修改密码,可以选择在设置选项或是密码服务选项里选择修改密码。登陆界面和登陆流程图如下:
图6.2登陆窗口界面图
图6.3 登陆流程图
6.2.2 数据初始化模块
数据库需要初始化的功能,实现清空数据库的功能,实现的方法就是用原始的数据库文件覆盖替换现有的数据库文件。
关键程序代码所示:
FileNames = Dir(App.Path & "\qk\*.mdb", vbNormal + vbDirectory) '
If FileNames = "" Then
MsgBox "数据初始化失败", vbInformation
Exit Sub
End If
Dim a As Long
Dim str_tem As String
Dim str As String
Dim rs As ADODB.Recordset
Dim intAnswer As Integer
intAnswer = MsgBox("真的要初始化数据吗?请确认!", vbOKCancel + vbQuestion, "确认框")
If intAnswer = vbOK Then
strSource = App.Path & "\qk\QingKong.mdb"
strDestination = App.Path & "\sever.mdb"
CopyFile strSource, strDestination, False
MsgBox "数据初始化完毕,请按"确定"返回", vbInformation
End If
界面图如下:
图6.4初始化界面图
图6.5初始化提示界面图
图6.6初始化结束界面图
6.2.3 数据备份和还原模块
数据需要定期备份,并且具有还原的功能,以保证数据的稳定性,所以数据备份还原的模块是必须有的。实现方法是把现有的数据库文件放入备份的文件夹里,还原的时候再将其覆盖替换当前的数据库文件。
数据备份关键程序如下所示:
On Error GoTo finish
txtServerName = Format(Now, "yyyymmddhhmm")
WritePrivateProfileString "DataSet", "SID", txtServerName, App.Path & "\dataset.ini"
I = MsgBox("您确定要备份本地数据库吗?", vbExclamation + vbYesNo, "警告")
If I <> vbYes Then '这里点击的是"no"
Exit Sub
Else
strSource = App.Path & "\sever.mdb"
strDestination = App.Path & "\bat\sever.mdb"
CopyFile strSource, strDestination, False
MsgBox "本地数据库已被成功备份到当前程序所在文件夹的bat子文件夹中!!", vbInformation + vbOKOnly, "系统提示"
End If
Exit Sub
finish:
MsgBox "本地数据库备份失败!", vbOKOnly + vbInformation, "提示"
图6.7本地数据库备份界面图
数据库备份后被保存到程序锁在文件夹的BAT子文件夹中,如图所示:
图6.8备份提示界面图
数据还原关键程序代码:
Dim strSource, strDestination As String
Dim I As Integer
Dim FileNames As String
Dim ServerName As String
Dim Nian As String
Dim Yue As String
Dim Ri As String
Dim Shi As String
Dim Fen As String
FileNames = Dir(App.Path & "\bat\*.mdb", vbNormal + vbDirectory)
If FileNames = "" Then
MsgBox "找不到备份文件,请重新备份!!", vbInformation + vbOKOnly, "系统提示"
Exit Sub
End If
Dim a As Long
Dim str_tem As String
str_tem = Space$(20)
a = GetPrivateProfileString("DataSet", "SID", "", str_tem, 20, App.Path & "\DataSet.ini")
If a = 0 Then MsgBox "数据库文件出错,请查看DataSet.ini配置是否正确": End
ServerName = Left$(str_tem, Len(Trim$(str_tem)) - 1)
Nian = Mid(ServerName, 1, 4)
Yue = Mid(ServerName, 5, 2)
Ri = Mid(ServerName, 7, 2)
Shi = Mid(ServerName, 9, 2)
Fen = Mid(ServerName, 11, 2)
I = MsgBox("数据库恢复将会覆盖当前数据库,你恢复到" & Nian &