中国矿业大学矿业工程学院实验报告课程名称数据库与运输信息系统姓名周轲雯班级交通运输10-1班学号01100226日期2013年6月成绩教师王振军超市管理系统设计一、准备工作1、建立文件夹在系统的E盘建立一个文件夹用以存放此次设计的各种格式的数据、文件、程序等,文件命名为:超市管理系统。文件夹地址为:E:\超市管理系统2、需求分析在此系统中的数据库要包含:员工表,部门职位表,工资表,缺勤表,以及自由表操作员表。数据库表:员工表:员工编号,员工姓名,性别,出生日期,工作日期,学历,婚否,部门,职称,备注说明部门职位表:部门名称,部门代号,职位名称,职位代号工资表:员工编号,员工姓名,基本工资,津贴,奖金,应发工资,缺勤扣款,医疗保险,住房基金,所得税,实发工资,发出日期缺勤表:员工编号,员工姓名,缺勤日期,缺勤类别自由表:操作员表:序号,操作员编号,操作员密码,操作员级别二、数据库与表的创建建立一个项目文件,文件名称为:超市管理系统,在此项目下建立“超市管理的人事管理系统”,在工具-选项中将默认目录设置为:e:\超市管理系统,将日期格式设置为年月日,24小时制,选择“年份”选项,选择“星期开始于”为“星期一”,设置为默认值。在此数据库下建立各表。员工表:注一:依次设置标题为:员工编号,员工姓名,性别,出生日期,工作日期,学历,婚否,部门,职称,备注注二:字段有效性规则设置为:xb字段为:xb=”男”orxb=”女”部门职位表:注一:字段标题依次设置为:部门名称,部门代号,职位名称,职位代号注一:字段的标题依次设置为:员工编号,员工姓名,基本工资,津贴,奖金,应发工资,缺勤扣款,医疗保险,住房基金,所得税,实发工资,发出日期缺勤登记表:注一:字段的标题依次设置为:员工编号,员工姓名,缺勤日期,缺勤类别操作员表:三、查询与视图在本程序中没有利用查询设计器来建设查询,而是利用表单来设立查询。由于数据环境不是特别复杂,所以也并没有建立视图。四、表单(1)操作员管理数据环境为操作员表,文本框text2,text3的PasswordChar属性为“*”命令按钮“确认”代码:publicczybh,czymm,zcsrmm,czyjbczybh=thisform.text1.valueczymm=thisform.text2.valuezcsrmm=thisform.text3.valueczyjb=thisform.text4.valuelocateforallt(操作员编号)==allt(czybh)if!eof()=messagebox(此编号已经存在,请重新输入!)thisform.text1.value=thisform.text1.setfocuselseifczymmzcsrmm=messagebox(密码输入不一致,请确认!)thisform.text2.value=thisform.text3.value=thisform.text2.setfocuselseinsertinto操作员表(操作员编号,操作员密码,操作员级别)values(czybh,czymm,czyjb)=messagebox(输入成功!)endifendifthisform.text1.value=thisform.text2.value=thisform.text3.value=thisform.text4.value=命令按钮“退出”代码:thisform.release(2)修改操作员密码数据环境为“操作员表”,文本框text1,text2,text3的PasswordChar属性为“*”。命令按钮“确定”代码为:locatefor操作员编号=czybhifnotallt(czymm)==allt(thisform.text1.value)=messagebox(原密码输入错误,请重新输入!)thisform.text1.value=thisform.text2.value=thisform.text3.value=thisform.text1.setfocuselseifnotallt(thisform.text2)==allt(thisform.text3)=messagebox(两次输入密码不一致,请重新输入!)thisform.text2.value=thisform.text3.value=thisform.text2.setfocuselsereplaceczymmwiththisform.text2.value=messagebox(密码修改成功!)thisform.releaseendifendif(3)员工录入登记数据环境为“员工表”和“部门职位表”,选项按钮组的ButtonCount属性为“2”,组合框combo1的RowsourceType属性为3,Rowsource属性为“selectdistinct部门职位表.bmmcfrom部门职位表intocursortemp2”,组合框Combo1的InteractiveChange过程为:thisform.combo2.rowsource=selectdistinct部门职位表.zwmc;from部门职位表where部门职位表.bmmc=thisform.combo1.valueintocursortemp3命令按钮的“保存”的Click过程为:publicygbh1,ygxm1,xb1,hf1,csrq1,gzrq1,bm1,zw1,xl1,bz1ygbh1=thisform.text1.valueygxm1=thisform.text2.valuecsrq1=ctod(thisform.text3.value)gzrq1=ctod(thisform.text4.value)bm1=thisform.combo1.valuezw1=thisform.combo2.valuexl1=thisform.text5.valuebz1=thisform.text7.valuelocateforallt(员工表.ygbh)==allt(thisform.text1.value)if!eof()=messagebox(编号输入重复!)elseygbh=thisform.text1.valueendifdocasecasethisform.optiongroup1.option1.value=1xb1=男casethisform.optiongroup1.option2.value=1xb1=女endcaseifthisform.check1.value=0hf1=.f.elsehf1=.t.endifinsertinto员工表(ygbh,ygxm,xb,hf,csrq,gzrq,bm,;zw,xl,bz)values(ygbh1,ygxm1,xb1,;hf1,csrq1,gzrq1,bm1,zw1,xl1,bz1)=messagebox(员工录入成功!)thisform.text1.value=thisform.text2.value=thisform.text3.value=thisform.text4.value=thisform.text5.value=thisform.text7.value=thisform.combo1.value=thisform.combo2.value=thisform.optiongroup1.value=0thisform.check1.value=0thisform.text1.setfocus命令按钮的“退出”的Click过程为:thisform.release(4)员工调动及删除数据环境为:员工表(5)缺勤登记数据环境“缺勤登记表”命令按钮“确定”的Click过程为:publicqqlb1,qqrq1ygbh1=thisform.text1.valueygxm1=thisform.text2.valueqqlb1=thisform.text3.valueqqrq1=ctod(thisform.text4.value)locateforallt(员工表.ygbh)==allt(thisform.text1.value)locateforallt(员工表.ygxm)==allt(thisform.text2.value)if!eof()insertinto缺勤登记表(ygbh,ygxm,qqlb,qqrq)values(ygbh1,ygxm1,qqlb1,qqrq1)else=messagebox(未找到此员工!)endifthisform.text1.value=thisform.text2.value=thisform.text3.value=thisform.text4.value=命令按钮“退出”的Click过程为:thisform.release(6)工资核算表数据环境为“工资表”命令按钮“计算”的Click过程为:publicjbgz1,jt1,jj1,yfgz1,qqkk1,ylbx1,zfjj1,sds1,sfgz1jbgz1=val(thisform.text3.value)jt1=val(thisform.text4.value)jj1=val(thisform.text5.value)qqkk1=val(thisform.text7.value)ylbx1=val(thisform.text8.value)zfjj1=val(thisform.text9.value)thisform.text6.value=str(jbgz1+jt1+jj1)yfgz1=val(thisform.text6.value)ifjbgz13000thisform.text10.value=str(jbgz1*0.17)sds1=val(thisform.text10.value)elsethisform.text10.value=0sds1=0endifthisform.text11.value=str(yfgz1-qqkk1-ylbx1-zfjj1-sds1)sfgz1=val(thisform.text11.value)命令按钮“输入工资表”的Click过程为:ygbh1=thisform.text1.valueygxm1=thisform.text2.valuelocateforallt(员工表.ygbh)==allt(thisform.text1.value)locateforallt(员工表.ygxm)==allt(thisform.text2.value)if!eof()insertinto工资表(ygbh,ygxm,jbgz,jt,jj,yfgz,qqkk,ylbx,zfjj,sds,sfgz)values;(ygbh1,ygxm1,jbgz1,jt1,jj1,yfgz1,qqkk1,ylbx1,zfjj1,sds1,sfgz1)=messagebox(录入成功!)else=messagebox(未找到此员工!)Endifthisform.text1.value=thisform.text2.value=thisform.text3.value=thisform.text4.value=thisform.text5.value=thisform.text6.value=thisform.text7.value=thisform.text8.value=thisform.text9.value=thisform.text10.value=thisform.text11.value=thisform.text1.setfocus命令按钮“退出”的Click过程为:thisform.release(7)按部门查询数据环境为“员工表”和“部门职位表”,组合框Combo1的RowSourceType属性为“3”,RowSource属性为“selectdistinctbmmcfrom部门职位表intocursortemp1”命