.Enabled=False
EndIf
mainfrm.Command1.Enabled=True
mainfrm.Command2.Enabled=True
mainfrm.Command3.Enabled=True
Ifuserid="admin"Then
mainfrm.Command4.Enabled=True
Else
mainfrm.Command4.Enabled=False
EndIf
GetStatus"<就绪>"
EndSub
PrivateSubCommand2_Click()
DimsfAsString
DimhzAsString
DimcnnAsNewADODB.Connection
DimretAsNewADODB.Recordset
hz="户主"
Dimlocal_dbAsString
IfText3.Text=""Then
MsgBox"请输入户主身份证号",,"警告"
Text3.SetFocus
Else
sf=Trim(Text3.Text)
'连接数据库
cnn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+App.Path&"\data\db.mdb"+";PersistSecurityInfo=False;"
local_db="select户号from人口表"+_
"where人口表.身份证号="+"'"+sf+"'"+"and人口表.与户主关系="+"'"+hz+"'"
ret.Openlocal_db,cnn
Ifret.BOFAndret.EOFThen
MsgBox"无此身份证号,或不是户主身份证号",,"警告"
Text3.Text=""
Text3.SetFocus
Else
Label7.Caption=ret("户号")
EndIf
EndIf
EndSub
5.5备份数据库设计
可以对ACCESS数据库进行备份,操作员操作之后有很多数据需要存档,用此功能即可对录入的内容进行保存,以方便下次操作时调用
实现代码如下:
OptionExplicit
PrivateSubCommand1_Click()
CommonDialog1.ShowOpen
Text1.Text=CommonDialog1.FileName
EndSub
PrivateSubCommand2_Click()
IfText1.Text=""Then
MsgBox"请先选择数据库文件",,"警告"
Else
CommonDialog2.ShowSave
Text2.Text=CommonDialog2.FileName
EndIf
EndSub
PrivateSubCommand3_Click()
DimsrcAsString
DimdstAsString
IfText1.Text=""Then
MsgBox"请选择数据库源文件",,"警告"
Else
IfText2.Text=""Then
MsgBox"请选择备份数据库存放目录",,"警告"
EndIf
EndIf
IfText1.Text<>""AndText2.Text<>""Then
src=Text1.Text
dst=Text2.Text
FileCopysrc,dst
MsgBox"数据库备份成功!",,"提示"
EndIf
EndSub
PrivateSubCommand4_Click()
Unloadfrmbackup
'初始化主窗口
mainfrm.guanli.Enabled=True
mainfrm.chaxun.Enabled=True
mainfrm.tongji.Enabled=True
Ifuserid="admin"Then
mainfrm.xitong.Enabled=True
mainfrm.bdb.Enabled=True
Else
mainfrm.xitong.Enabled=False
mainfrm.bdb.Enabled=False
EndIf
mainfrm.Command1.Enabled=True
mainfrm.Command2.Enabled=True
mainfrm.Command3.Enabled=True
Ifuserid="admin"Then
mainfrm.Command4.Enabled=True
Else
mainfrm.Command4.Enabled=False
EndIf
GetStatus"<就绪>"
EndSub
测试分析
一、强制变量声明
选择菜单[工具]-[选项]命令,打开"选项"对话框",在"编辑器"属性页中,把"要求变量声明"复选框选上,或者手工在每个文件的开头加上关键字:
optionExplicit
这样在编译时会对没有声明的变量报错,从而减少很多不必要的调试。
二、常见错误的避免
1、数据类型不匹配
数据类型的判断错误,比如一个功能模块,接受传入的数据为id,要求其值必须是正数。如果写程序时传入的是小数,或者是非数字的字符串,那么程序将会出现错误。又如查询数据表时,使用了WHERE子句,但是数据类型不匹配,数据库中字段类型为数字的值,却使用了字符串去查询,就会出现错误。
2、数据与数据库限制相冲突
数据与数据库限制相冲突,可能是其值超过了数据库的上限和下限。比如在数据库中,用户名称字符数量上限是20个字符,而在程序中没有对此进行判别,如果一个添加新商品时名字有21个字符,那么在使用SQL语句插入数据与记录的时候就会出错。
3、变量声明错误
最后是一些常识性错误,比如在If...Else...EndIf过程中,认为判断只会执行其中的一段代码,于是在两段中都使用了DimobjasclsMerch,事实上,编译器在语法分析阶段,是首先将一个函数内声明的全部变量都放符号表中,而不管这个变量的声明是在这个函数的什么位置。
又如在SelectCase中,Case的条件是字符串,但是没
上一篇:
VB社会福利保障系统(论文和程序)
下一篇:
对硕士毕业生迁移失业目的地的实证研讨