doform报表打印
thisform.release
在"退出"按钮的"Click"事件中添加代码如下:
thisform.release
clearevents
"增加记录"模块
企业新进职员都要为其建立人事档案,该模块的功能就是添加新职员信息。操作很简单,按需要输入完数据后,单击"确定"按钮即可,同时系统会弹出对话框提示输入成功。"取消"按钮的功能是清空所有文本框。该模块做了些限制性设计,以防用户误操作。如:将输入"职员号"、"进本单位年份"的文本框的Format和InputMask属性都设为"9999",使用户只能输入四位数字,输入其它字符无效。同样在输入"生日"的文本框的Format和InputMask属性都设为"9999/99/99"。单击"确定"后,如果没有输入"职员号"或输入的"职员号"已存在,系统都会弹出提示信息,以便用户改正。
在"确定"按钮的"Click"事件中添加代码如下:
*检查"职员号"是否为空
ifempty(alltrim(thisform.txtID.value))
messagebox("职员号不能为空",48,"错误")
thisform.txtID.setfocus
else
*获取各输入值
inID=alltrim(thisform.txtID.value)
inName=alltrim(thisform.txtName.value)
inSex=alltrim(thisform.txtSex.value)
inBirth=alltrim(thisform.txtBirth.value)
inLearn=alltrim(thisform.txtLearn.value)
inPolitics=alltrim(thisform.txtPolitics.value)
inPhone=alltrim(thisform.txtPhone.value)
inAddress=alltrim(thisform.txtAddress.value)
inDepartment=alltrim(thisform.txtDepartment.value)
inFunction=alltrim(thisform.txtFunction.value)
inDate=alltrim(thisform.txtDate.value)
inMemo=alltrim(thisform.edtMemo.value)
*检查输入的"职员号"是否已存在
setorderto职员号
seekinID
if!found()
insertinto职员信息表value(inID,inName,inSex,inBirth,inLearn,inPolitics,inPhone,inAddress,inDepartment,inFunction,inDate,inMemo)
messagebox("添加成功!",48,"信息")
*添加完毕后清空各文本框
thisform.txtID.value=''
thisform.txtName.value=''
thisform.txtSex.value=''
thisform.txtBirth.value=''
thisform.txtLearn.value=''
thisform.txtPolitics.value=''
thisform.txtPhone.value=''
thisform.txtAddress.value=''
thisform.txtDepartment.value=''
thisform.txtFunction.value=''
thisform.txtDate.value=''
thisform.edtMemo.value=''
else
messagebox("此职员号已存在,请另输一个",48,"错误")
thisform.txtID.value=''
thisform.txtID.setfocus
endif
endif
在"取消"按钮的"Click"事件中添加代码如下:
*清空各文本框
thisform.txtID.value=''
thisform.txtName.value=''
thisform.txtSex.value=''
thisform.txtBirth.value=''
thisform.txtLearn.value=''
thisform.txtPolitics.value=''
thisform.txtPhone.value=''
thisform.txtAddress.value=''
thisform.txtDepartment.value=''
thisform.txtFunction.value=''
thisform.txtDate.value=''
thisform.edtMemo.value=''
thisform.txtID.setfocus
在"退出"按钮的"Click"事件中添加代码如下:
thisform.release
doform主界面
"修改记录"模块
职员信息的改变,如:部门的调动、职位的升降、搬家、换了电话,或者发现输入了错误的信息,就可以进入该模块进行修改。你可以单击"导航条"逐条定位查找,如果知道要修改职员的职员号,可在最下面的文本框里直接输入该职员号,单击"查找",如果找到,系统会定位到该记录,如果没有找到,系统会给出提示信息。该模块也做了与"增加记录"模块相近的限制性设计。
在该表单的数据环境(DataEnvironment)中添加"职员信息表",将各文本框的ControlSource属性设置为在"职员信息表"中与之相对应的字段,这样便完成了与"职员信息表"的绑定。
在"查找"按钮的"Click"事件中添加代码如下:
setorderto职员号
seekalltrim(thisform.text1.value)
if!found()
messagebox("该职员号不存在",48,"错误")
gotop
endif
thisform.text1.value=''
thisform.refresh
在"退出"按钮的"Click"事件中添加代码如下:
thisform.release
doform主界面
"删除记录"模块
如果因为职员离职、退休,或其它原因要删除某条记录,就可进入该模块进行删除。本模块的控件布局与"修改记录"模块基本相似,只是显示记录的各文本框的Enabled属性均设置为".f."(假)。同"修改记录"模块一样,设置与"职员信息表"的绑定。
在"删除这条记录"按钮的"Click"事件中添加代码如下:
nAnswer=messagebox("确定要删除吗?",36,"信息")
ifnAnswer=6
thisform.dataenvironment.closetables('职员信息表')
*以独占方式打开表,执行删除命令
use职员信息表exclusive
deletefrom职员信息表where职员号=alltrim(thisform.txtID.value)
pack
use
thisform.dataenvironment.opentables('职员信息表')
thisform.refresh
endif
在"查找"按钮的"Click"事件中添加代码如下:
setorderto职员号
seekalltrim(thisform.text1.value)
if!found()
messagebox("该职员号不存在",48,"错误")
gotop
endif
thisform.text1.value=''
thisform.refresh
在"退出"按钮的"Click"事件中添加代码如下:
thisform.release
doform主界面
"查询"模块
在本模块,你可以选择查询条件,快速查找到所需的职员信息,也可以一览整个"职员信息表"。可供选择的查询关键字有"职员号"、"姓名"和"所属部门"3个字段,可单项查询,也可组合查询。
首先,当表单被激活时,根据各复选框的选中情况决定相应的文本框是否可用。
在表单的"Activate"事件中添加代码如下:
flag1=this.check1.value
docase
caseflag1=0
this.text1.enabled=.f.
this.text1.value=''
caseflag1=1
this.text1.enabled=.t.
endcase
flag2=this.check2.value
docase
caseflag2=0
this.text2.enabled=.f.
this.text2.value=''
caseflag2=1
this.text2.enabled=.t.
endcase
flag3=this.check3.value
docase
caseflag3=0
this.combo1.enabled=.f.
this.combo1.value=''
caseflag3=1
this.combo1.enabled=.t.
endcase
为减少用户输入,在"所属部门"复选框后用的是组合框。
在组合框的"Init"事件中添加代码如下:
*为组合框添加选项
this.clear
localdm,i
dimensiondm[1]
selectdistinct所属部门from职员信息表intoarraydm
foreachiindm
if!empty(i)
this.additem(i)
endif
endfor
当单击复选框后,如果框里有"√"标记,则后面的文本框或组合框可用;反之,不可用。
在"职员号"复选框的"Click"事件中添加代码如下:
flag=thisform.check1.value
docase
caseflag=0
thisform.text1.enabled=.f.
thisform.text1.value=''
caseflag=1
thisform.text1.enabled=.t.
endcase
在"姓名"复选框的"Click"事件中添加代码如下:
flag=thisform.check2.value
docase
caseflag=0
thisform.text2.enabled=.f.
thisform.text2.value=''
caseflag=1
thisform.text2.enabled=.t.
endcase
在"所属部门"复选框的"Click"事件中添加代码如下:
flag=thisform.check3.value
docase
caseflag=0
thisform.combo1.enabled=.f.
thisform.combo1.value=''
caseflag=1
thisform.combo1.enabled=.
上一篇:
VF系统的学生成绩管理系统_论文(论文和程序)
下一篇:
试析影响公路路面平整度的因素及应采取的施工措施