1、目 录第一章. 工资管理系统需求分析与设计41.系统功能需求简介42、工资结构设置模块53.目标系统要求54.系统平台设计6第二章工资管理系统信息概要设计61.工资数据流程图62.工资管理系统主要模块简介72.1工资管理系统主要文件组成(数据词典分析)72.2功能模块菜单83.项目与数据库的建立93.1项目地建立93.2数据库及数据库表的建立103.3数据表间关系的建立:11第三章工资管理系统模块设计121.系统主菜单设计122.系统主控表单模块设计142.1表单的执行屏幕142.2表单与控件属性设置:142.3事件代码14Form表单的laod事件代码:143.数据库初始化及备份模块表单设计
2、153.1表单的执行与设计153.2控件属性设置153.3事件代码164.工资录入模块表单设计174.1工资录入模块表单的执行与设计174.2表单与控件的属性设置174.3事件代码185.工资查找模块表单设计195.1设计第一页195.2设计第二页216.工资浏览模块表单设计226.1表单的执行与设计226.2属性与事件代码227.修改记录模块表单设计247.1设计第一页247.2设计第二页267.3设计第三页287.4.设计第四页298.统计模块表单设计318.1表单设计与实现318.2事件代码319.打印模块表单设计329.1表单执行与设计329.2事件代码3210系统封面模块表单设计33
3、10.1表单的执行与设计3310.2属性与事件代码3411.系统时间模块表单设计3611.1表单的执行与设计3611.2控件属性域代码3612.系统帮助表单模块设计3712.1表单的设计与执行3712.2表单控件的属性与事件代码:3713.报表表单的设计3713.1工资表报表的设计与执行37第四章程序的连遍与系统维护391. 将应用程序添加到项目管理器中392.工资系统的主程序设计403.程序的调试414.程序的连编41第五章心得体会42考核点评:43第一章. 工资管理系统需求分析与设计1.系统功能需求简介工资管理信息系统对企业加强工资管理有着极其重要的作用,就一般的企业来说,它的设计内容非常
4、复杂,拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,如工资管理模块,工资统计模块,报表设计模块,打印输出模块,数据查询模块等等。因此,针对该要求而言,确定了工资管理系统的设计方案。该工资管理系统的主要功能如图1所示:设置用户受制登陆系统界面系统帮助记录打印编辑菜单工资记录管理退出工资统计(工资表)个人工资(工资条)工资记录查询模块工资记录统计模块工资记录修改模块工资录入模块数据备份及初始化系统时间模块系统帮助模块图1系统功能模块组成2、工资结构设置模块该工资管理系统主要实现一些基本的数据管理,主要表单模块,由各种输入、输出、浏览、修改、统计、打印、查询、帮助及退出等功能组
5、成。“工资管理查询系统”要求进行设计,并工资的工作流程,该系统包括12大模块:系统登录模块、系统主菜单模块、工资录入模块、工资记录修改模块、工资记录统计模块、工资记录查询模块、数据备份及初始化、工资浏览模块、工资记录打印、系统帮助、系统退出、系统时间模块组成。系统登录模块的功能要求如下:() 用户权限设置,不同级别的用设有有不同的权限密码。() 综合初始系统设置。数据录入模块功能要求如下:() 职工信息的录入。() 数据存储。数据查询模块功能要求如下:() 根据职工姓名查询职工的工资情况。() 根据职工号查询职工的工资情况。() 根据职工工作时间查询情况。数据修改模块功能要求如下:() 追加职
6、工信息。() 删除职工信息。() 修改职工信息。(包括个人信息及集体更改)() 自动计算职工工资信息。报表浏览及打印模块功能要求如下:() 打印工资信息。() 打印工资条(个人信息)。() 打印工资表(统计信息)。员工信息包含以下内容:() 职工号。() 姓名。() 日期。数据备份及初始化功能要求如下:() 上月工资的备份存储。() 新信息存储初始化。() 退出。系统帮助模块功能要求如下:() 显示系统时间。() 提示系统基本信息(注释版权出处)。系统退出模块功能要求如下:()用户可直接退出系统。3.目标系统要求目标系统应该达到以下要求: 1、时间经济性。优化逻辑设计与物理设计,使系统运行效率
7、高,反映速度快。2、可靠性。能连续准确的处理业务,有较强的容错能力。3、可理解性。用户容易理解和使用该系统。4、可维护性和适应性。系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。5、可用性。目标系统功能齐全,能够完全满足业务需求。6、安全保密性。保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。4.系统平台设计选择微软平台作为主导,一方面考虑目前微软的飞速发展,越来越多的企业在规划内部网络时,将微软平台作为首选方案;另一方面从技术角度来讲,微软平台上的应用无论是在开发上,还是在软件的部署上都非常容易,而且性能优越。操作系统:Win
8、dows xp/2000/98开发工具与语言: Visual FoxPro 6.0中文版第二章工资管理系统信息概要设计 1.工资数据流程图1).由需求分析可知,主导流程应用封面(设置受制权限)的表单进入系统菜单,再由各个表单模块做成系统菜单项。主要表单模块,由各种输入、输出、浏览、修改、统计、打印、查询、帮助及退出等功能。分别如图2.1、2.2所示定题采集分析资料查询开发环境熟悉研究关键技术数据库的结构设计功能模块开发功能模块测试系统调试系统试运行和修改 图2.1主控表单(设计受职权限)表单工资记录管理菜单项系统菜单模块进入系统数据管理 图2.22.工资管理系统主要模块简介2.1工资管理系统主
9、要文件组成 (数据词典分析)一般的工资管理系统主要功能包括:记录的录入、浏览、修改、统计、查找和打印等,下面为该系统主要功能模块。1).表单功能模块工资主控模块(调用表单gzgl.scx)工资初始化及备份模块(调用表单gzinit.scx)工资录入模块(调用表单gzlr.scx)工资浏览模块(调用表单gzll.scx)工资修改模块(调用表单gzmodi.scx)工资统计模块(调用表单gzcount.scx)工资查找模块(调用表单gzfind.scx)工资打印模块(调用表单dayin.scx)系统封面模块(调用表单fm.scx)系统帮助模块(调用表单xthelp.scx)系统时间模块(调用表单x
10、ttime.scx)2).菜单与报表文件系统功能菜单(xtcd.mnx)工资表报表(gzb.frx)工资条报表(gzt.frx)3).数据库文件数据库名称:gz.dbc数据表名称:gzb.dbf数据表名称:XXb.dbfGzb表结构如下图所示:字段名称字段类型字段宽度小数点默认值职工号C80职称C80姓名C80出勤情况L职务工资N720旷工扣款N720职务补贴N820应发工资N820养老保险N720合计扣款N720实发工资N820所得税N720实发现金N820其中合同%15与承包30%两字段在建立数据库表时写成其他形式。XXB表结构如下图所示:字段名称字段类型字段宽度小数点默认值职工号C80职
11、称C80姓名C80性别C20年龄N20学历C802.2功能模块菜单工资管理系统的菜单功能如下图3所示:3.项目与数据库的建立3.1项目地建立在硬盘上建立一个目录C:Documents and SettingsAdministrator桌面vf作业llgzgl。启动VFP系统,在“项目管理器窗口”中,建立一个项目,项目的名称为“工资管理系统”,并保存到所建立的C:Documents and SettingsAdministrator桌面vf作业llgzgl目录下。图4新建的项目3.2数据库及数据库表的建立建立一个GZ数据库和一个GZB表如下图5、6所示:图5建立数据库图6数据库表的内容再在GZ数
12、据库下建立一个xxb表如下图5.1、6.1所示:图5.1图5.23.3数据表间关系的建立:为gzb建立主索引和xxb建立候选索引第三章工资管理系统模块设计1.系统主菜单设计在“项目管理器”窗口中,选择“其他”选项卡。在其“他选”项卡中选择“菜单”。单击新建按钮,屏幕出现“新建菜单对话框”。在“新建菜单对话框”中,单击“菜单”命令,系统进入“菜单设计器”窗口。分别建立“主菜单”及“工资记录管理子菜单”,主菜单包括工资记录管理、编辑菜单、记录打印、系统帮助、退出,工资记录子菜单中项目包括数据库初始化及备份、工资记录录入、工资记录浏览、工资记录修改、工资记录统计、工资记录查询、退出系统。退出系统设计
13、为过程:代码为byebye=messagebox(真的要退出吗?,64+1,提示信息)if byebye=1 close allclear eventsquitendif在“菜单级”中选择“菜单栏”,返回主菜单。重复步,编辑其他子菜单图7这些子菜单分别是调用系统的内部分量完成相应功能,其具体操作如下:选单项目内部命令(图8所示)撤销 _MED_UNDO 重做 _MED_REDO 剪切 _MED_CUT复制 _MED_COPY粘贴 _MED_PASTE清除 _MED_CLEAR输入上述菜单项所对应的系统菜单内部命令生成菜单,其他菜单项调用程序如下所示:(图7)所示:记录打印菜单:打印记录:do
14、form dayin with s 记录浏览:do form gzll系统帮助菜单:do form xttime 关于系统:do form xthelp退出菜单: 退出系统:byebye=messagebox(真的要退出吗?,64+1,提示信息)if byebye=1 close allclear eventsquit endif系统帮助:do form xthelp设置顶层表单,保存菜单,菜单名为xtcd,扩展名.mnx,最后再生成.mpr文件。退出菜单设计器窗口,将会在“项目管理器”窗口中看到菜单文件,在对其行修改,直到运行无误为止。图82.系统主控表单模块设计主控表单用来调用系统菜单,用
15、来控制整个系统的控制与管理。2.1表单的执行屏幕主控表单执行屏幕如图9所示。2.2表单与控件属性设置:Form表单的属性设置:Caption=”工资管理系统” showwindow=2-作为顶层表单( 指定该表单位顶层表单)Windowstate=2-最大化(指定表单在运行使最大化)Showtips=.T.(指定表单对象显示“工具提示”)2.3事件代码Form表单的laod事件代码:Do xtcd.mpr with this,.t. 运行结果如下图所示:图93.数据库初始化及备份模块表单设计3.1表单的执行与设计下图为该表单的执行屏幕及设计屏幕,分别为:图10、图11图103.2控件属性设置L
16、abel1标签的属性设置。 Caption改为:“数据库初始化” FontName改为:“华文行楷” FontSize改为:26 Fontunderline改为:.T.真Shape1和Shape2的属性: BackStyle改为:0透明SpecialEffect改为:03维3.3事件代码表单form1的activate事件代码thisform.label1.caption=数据初始化thisform.label2.caption=使用说明thisform.label3.caption=使用本模块要注意,备份文件的时候一般要给出一个具体的文件名(不需扩展名);名字由工资、年份、月份、日期组成,其
17、意义为明确备份的日期及备份是那个月的工资.thisform.label4.caption=当前数据库的信息thisform.label5.caption=当前数据库名称:+dbf()+chr(13)+当前日期+dtoc(date()+; chr(13)+需要备份到:+工资+ alltrim(str(year(date()+-+; alltrim(str(month(date()+-+alltrim(str(day(date()+.dbfthisform.label6.caption=备份数据库到下面文件中thisform.label7.caption=下面是初始化+alltrim(str(mo
18、nth(date()+;月份的工资表:thisform.text1.value=C:Documents and SettingsAdministrator桌面vf作业gzgzb+alltrim(str(year(date()+;alltrim(str(month(date()+-+alltrim(str(day(date()+.dbf“备份”command1按钮的click事件代码:ff=alltrim(thisform.text1.value)copy to ff“初始化”command2按钮的click 事件代码:set path to a=下面要进行初始化,将对原来的数据进行改变,所以一
19、定要先进行备份,否则原来的数据将丢失。;+chr(13)+进行备份吗?inotice=messagebox(a,65,提示信息)if inotice=1if file(temptemp.vfp)delete file temptemp.vfpendifcopy to temptemp.vfpthisform.refreshendifCommand3“退出”按钮的Click事件代码:Thisform.Release4.工资录入模块表单设计4.1工资录入模块表单的执行与设计工资录入模块是用来录入工资记录的,在具体操作时有些数据需要自动生成,参见代码。具体设计时各字段是通过数据环境拖拽到表单中的,再
20、利用“布局”工具栏进行调整。表单的执行屏幕如图12、13所示: 图12图134.2表单与控件的属性设置Form1表单的属性:Autocenter改为:.T.真(运行时表单居中)ShowWindow改为:1在顶层表单中(使得该表单能够在顶层表单中运行)Titlebar改为:0关闭(使该表单的标题栏不可见)Image1控件的属性:Stretch改为:2变比例填充Label1控件的属性:Caption改为:”工资录入模块”FontName改为:”华文行楷”FontSize改为:36Shape1 控件的属性(“职工情况”的方框):BackStyle改为:0透明(背景透明,另外在选择时注意选择“格式”中
21、的置后,以免使该控件遮盖其他控件)SpecialEffect改为:03维(指明该控件是三维立体效果)4.3事件代码(1)文本框控件“Txt应发工资”控件的事件。Click和GotFocus(获得焦点事件)的代码:with this.parentthis.value =.TXT职务工资.VALUE+.TXT书报费.VALUE+.TXT构成津贴.VALUE+.TXT合同15.VALUE+.TXT家属价格.VALUE+.TXT综合补贴.VALUE;+.TXT出勤补.VALUE+.TXT岗位津贴.VALUE+.TXT洗理费.VALUE+.TXT交通补.VALUE+.TXT儿保费.VALUE;+.TXT
22、提租补贴.VALUE+.TXT外租房补.VALUE+.TXT未纳奖.VALUE+.TXT职务补贴.VALUE+.TXT补发工资.VALUEendwith “Txt合计扣款”控件的事件。Click和GotFocus(获得焦点事件)的代码:with this.parentthis.value=.txt养老保险.value+.txt扣会费.value+.txt公积金.value+.txt承包30.valueendwith“txt所得税”控件的事件。Click和GotFocus的代码:if this.parent.txt实发工资.value800this.value=(this.parent.txt实
23、发工资.value-800)*0.05endifthisform.refresh“实发现金”控件的事件Click和GotFocus(获得焦点事件)的代码:with this.parentthis.value =.txt实发工资.value-.txt所得税.value-.txt其他扣款.valueendwiththisform.refresh该代码是在“txt实发现金”控件获得焦点时,自动计算实发现金的总数。(2)命令按钮的控件“第一个”命令按钮Command1的Click事件代码:go top thisform.refresh“上一个”命令按钮Command2的Click事件代码:skip-1
24、if bof()go top=messagebox(已经是第一个记录了!,64,提示信息)endifthisform.refresh“上一个”命令按钮Command3的Click事件代码:skip+1I f eof()go bottom=messagebox(已经是最后一个记录了!,64,提示信息)endifthisform.refresh“最后一个”命令按钮Command4的Click事件代码:go bottomthisform.refresh“添加”命令按钮Command5和Click事件代码:append blankgo bottomthisform.refresh“退出”命令按钮Com
25、mand6的Click事件代码:thisform.release5.工资查找模块表单设计5.1设计第一页Form1表单的load事件public getzgh1,getxm1,getrq1,sgetzgh1=getxm1=text1控件的interactivechange事件代码:set exact offGETzgh1=ALLTRIM(thisform.pageframe1.page1.TEXT1.VALUE)GETxm1=ALLTRIM(thisform.pageframe1.page1.TEXT2.VALUE)GETrq1=thisform.pageframe1.page1.TEXT3.
26、VALUEs=if len(getzgh1)0s=s+职工号=GETZGH1endifif len(getxm1)0s=s+.and.+姓名=GETXM1endifdo while left(s,5)=.and.OR.LEFT(S,5)=.AND.s=subst(s,6)enddoIF LEN(ALLTRIM(S)=0SET FILTER TO ELSEset filter to &s ENDIFGO TOPTHISFORM.PAGEFRAME1.PAGE1.REFRESHTHISFORM.PAGEFRAME1.PAGE2.REFRESH添加页框控件,以工资表作为数据源其执行及设计表单屏幕如下
27、图14、15所示: 图14Text2控件的interactivechange事件代码:set filter to 在职称=this.parent.text2.valuethisform.refreshText3控件的interactivechange事件代码:set filter to 姓名=alltrim(this.parent.text3.value)thisform.refresh“查看详细内容”命令按钮command1的click事件thisform.pageframe1.page2.setfocusthisform.refresh“打印”命令按钮command2的click事件do
28、form dayin with s“退出”命令按钮command2的click事件Thisform.release图15第一页执行屏幕5.2设计第二页以上是查询表单的第一页的控件,下面对页框第二页进行编辑,表单的执行屏幕如图17所示,表单的设计屏幕如图16所示。在该页中,有三个标签控件,其标题为职工号、日期、姓名,坑害有三个文本框控件txt职工号、txt日期、txt姓名,其ForeColor属性值为(0,0,255),即前景为蓝色。“返回上页”命令按钮Command1的Click事件代码为:thisform.pageframe1.page1.setfocusthisform.pageframe
29、1.page1.refresh“打印”命令按钮Command2和”退出”命令按钮Command3的Click事件和页框第一页相图16图16.1添加数据源屏幕 图17第二页执行屏幕第二页设计屏幕6.工资浏览模块表单设计6.1表单的执行与设计6.2属性与事件代码表单form的load事件代码如下:public getzgh1,getxm1,getrq1,sgetzgh=getxm1=图18记录浏览执行屏幕记录浏览设计屏幕Text1,text2,text3控件的interactivechange事件代码:set exact offGETzgh1=ALLTRIM(thisform.TEXT1.VALU
30、E)GETxm1=ALLTRIM(thisform.TEXT2.VALUE)s=if len(getzgh1)0s=s+职工号=GETZGH1endifif len(getxm1)0s=s+.and.+姓名=GETXM1endifdo while left(s,5)=.and.OR.LEFT(S,5)=.AND.s=subst(s,6)enddoIF LEN(ALLTRIM(S)=0SET FILTER TO ELSEset filter to &s ENDIFGO TOPTHISFORM.REFRESHTHISFORM.REFRESH7.修改记录模块表单设计插入一个为页框数4的个页框控件,对
31、各个页框设计7.1设计第一页 (表单执行如图19)所示图19第一页执行屏幕Text1,text2,text3控件的interactivechange事件代码:set exact offGETzgh1=ALLTRIM(thisform.pageframe1.page1.TEXT1.VALUE)GETxm1=ALLTRIM(thisform.pageframe1.page1.TEXT2.VALUE)s=if len(getzgh1)0s=s+职工号=GETZGH1endifif len(getxm1)0s=s+.and.+姓名=GETXM1endifif left(s,5)=.and.OR.LEF
32、T(S,5)=.AND.s=subst(s,6)endifIF LEN(ALLTRIM(S)=0SET FILTER TO ELSEset filter to &s ENDIFGO TOPTHISFORM.PAGEFRAME1.PAGE2.CAPTION=姓名+的详细内容THISFORM.PAGEFRAME1.PAGE1.REFRESHTHISFORM.PAGEFRAME1.PAGE2.REFRESH“查找记录”command1按钮的click事件代码:if not empty(thisform.pageframe1.page1.text4.value)n=val(alltrim(thisfo
33、rm.pageframe1.page1.text4.value)go nthisform.pageframe1.page2.setfocusthisform.pageframe1.page2.caption=姓名+ 的记录内容thisform.refreshelseset exact offGETzgh1=ALLTRIM(thisform.pageframe1.page1.TEXT1.VALUE)GETxm1=ALLTRIM(thisform.pageframe1.page1.TEXT2.VALUE)s=if len(getzgh1)0s=s+职工号=GETZGH1endifif len(ge
34、txm1)0s=s+.and.+姓名=GETXM1endifif left(s,5)=.and.OR.LEFT(S,5)=.AND.s=subst(s,6)endifIF LEN(ALLTRIM(S)=0SET FILTER TO ELSEset filter to &s ENDIFGO TOPendifTHISFORM.PAGEFRAME1.PAGE2.CAPTION=姓名+的详细内容THISFORM.PAGEFRAME1.PAGE1.REFRESHTHISFORM.PAGEFRAME1.PAGE2.REFRESH“删除记录”command2按钮的click事件代码:INOTICE=MESS
35、AGEBOX(确定删除指定的记录吗?,65,重要提示)IF INOTICE=1DELETE RECORD RECNO()ANOTICE=MESSAGEBOX(确定物理删除指定的记录吗?+CHR(13)+一经删除,不能恢复!,65,重要提示)IF ANOTICE=1useuse gzb PACKusethisform.releaseENDIFTHISFORM.REFRESHENDIF“恢复删除”command3按钮的click事件代码:INOTICE=MESSAGEBOX(恢复所有逻辑删除的记录吗?,65,提示信息)IF INOTICE=1RECALL ALLENDIF“打印记录”command
36、3按钮的click事件代码:DO FORM DAYIN WITH S“退出”command3按钮的click事件代码:THISFORM.RELEASE7.2设计第二页7.2.1表单的执行与设计表单设计所需控件如图20所示,以gzb为数据源表,执行结果如图21所示图20图21(修改单个记录执行屏幕)7.2.2事件代码“自动计算”command1按钮的click事件代码:With This.Parent.Txt应发工资.Value=.Txt职务工资.Value同15.Value;+.Txt职务补贴.Value.Txt合计扣款.Value=.Txt养老保险.Value.Txt实发工资.Value=.
37、Txt应发工资.Value-.Txt合计扣款.ValueIf This.Parent.Txt实发工资.Value800 &果工资高于800则有所得税,费率为m 5% .Txt所得税.Value= (This.Parent.Txt实发工资.Value-800)*0.05EndIf.Txt实发现金.Value=.Txt实发工资.Value-.Txt所得税.ValueEndWith“返回上页”command2按钮的click事件代码:THISFORM.PAGEFRAME1.PAGE1.SETFOCUSTHISFORM.PAGEFRAME1.PAGE1.REFRESHCommand3, command
38、4的代码与上页相同。7.3设计第三页7.3.1表单的设计与执行第三页是用来实现批量修改满足条件的记录,可以对指定的多个记录进行修改。表单的设计屏幕如图22所示:图22批量修改满足条件的记录7.3.2事件代码“确认修改”command1按钮的click事件代码:A=MESSAGEBOX(确定更改指定的项目吗?,65,提示信息)IF A=1 &选择确定按钮时执行replace all 职务工资 WITH 职务工资+THIS.PARENT.TEXT4.VALUEreplace all 应发工资 WITH 应发工资+THIS.PARENT.TEXT4.VALUEreplace all 实发工资 WIT
39、H 实发工资+THIS.PARENT.TEXT4.VALUEreplace all 应发工资 WITH 应发工资+THIS.PARENT.TEXT5.VALUEreplace all 实发工资 WITH 实发工资+THIS.PARENT.TEXT5.VALUEreplace all 应发工资 WITH 应发工资+THIS.PARENT.TEXT6.VALUEreplace all 实发工资 WITH 实发工资+THIS.PARENT.TEXT6.VALUEreplace all 所得税 with iif(实发工资-8000,(实发工资-800)*0.05 ,0) replace all 实发现
40、金 with 实发工资- 所得税THIS.PARENT.TEXT4.VALUE=0THIS.PARENT.TEXT5.VALUE=0THIS.PARENT.TEXT6.VALUE=0THISFORM.REFRESHENDIF图23批量修改满足条件的记录设计“自动计算”命令按钮的click事件代码如第二页及第四页代码相同7.4.设计第四页7.4.1表单的执行与设计第四个页面主要是实现浏览时修改,设计与执行屏幕如下24、25所示7.4.2控件属性与事件代码Rowsource改为 gzb.职工号,姓名 rowsourcetype改为-字段 columncount改为2List1列表框的click事件
41、代码:THISFORM.PAGEFRAME1.PAGE4.LABEL1.CAPTION=ALLTRIM(姓名)+的记录内容THISFORM.REFRESH图24浏览时修改设计模块图25浏览式修改记录模块执行屏幕Spinner1的属性和事件代码:Spinnerhighvalue=12Spinnerlowvalue=1Keyboardhighvalue=12Keyboardlowvalue=1Increment=1Spinner1的gotfocus事件代码:PUBLIC X,XMXM=姓名X=THIS.VALUESpinner1的upclick事件代码:LOCATE ALL FOR MONTH(日
42、期)=THIS.VALUE .AND. 姓名=XM*?THIS.VALUE,X,XMIF FOUND() THISFORM.REFRESHELSE =MESSAGEBOX(该记录没找到!,64,提示信息) THIS.VALUE=X THISFORM.REFRESHENDIFSpinner1的downclick事件代码:*XM=姓名*X=THIS.VALUEIF FOUND() THISFORM.REFRESHELSE =MESSAGEBOX(该记录没找到!,64,提示信息) LOCATE ALL FOR MONTH(日期)=THIS.VALUE .AND. 姓名=XM THIS.VALUE=X THISFORM.REFRESHENDIF8.统计模块表单设计8.1表单设计与实现表单的设计与执行模块设计分别如下图26,27图26数据统计表单的设计屏幕图
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922