版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《管理信息系统》主讲:李国红E-mail:lighong6@1/8/20251《管理信息系统》:李国红主讲6.1账务处理与报表系统设计概述6.2会计科目设置6.3记账凭证输入处理6.4登记现金日记账6.5登记总账6.6损益表数据自动生成及输出6.7账务处理与报表系统的菜单设计6.8MIS操作维护设计与实现6.9MIS用户登录的设计与实现第6章账务处理与报表系统的设计与实现1/8/20252《管理信息系统》:李国红主讲6.1账表MIS概述
(1/4)1.账表MIS的任务:(P153)1/8/20253《管理信息系统》:李国红主讲6.1账表MIS概述
(2/4)
2.账务与报表处理的DFD:
(P154)1/8/20254《管理信息系统》:李国红主讲6.1账表MIS概述(4/4)4.VFP开发环境设置与相关操作VFP系统环境设置主要操作和常用命令、常用函数项目管理器的使用1/8/20256《管理信息系统》:李国红主讲6.2会计科目设置6.2.1科目输入6.2.2科目查询与修改6.2.3科目删除6.2.4记录定位及信息提示框1/8/20257《管理信息系统》:李国红主讲6.2.1科目输入1.科目输入包括设置会计科目和输入期初数。2.建立会计科目表文件kjkm.dbf,表中包括kmbh、kmmc、jdfx、qcye四个字段,数据通过表单界面输入。3.设计表单,含科目编号、科目名称、借贷方向、期初余额等的标签及其文本框。其中期初余额文本框应设置为数值型数据类型的文本框。4.编程。应考虑:科目编号不能为空(位数不低于4)、科目编号不能重复、多于4位的科目必须有上级科目。5.功能演示6.考虑科目输入的基本过程。7.用VFP实现账表MIS的系统初始化。有关命令及函数。转科目输入程序流程1/8/20258《管理信息系统》:李国红主讲Kjkm.dbf数据表的结构返科目输入返查询修改返科目删除1/8/20259《管理信息系统》:李国红主讲科目输入用户界面1/8/202510《管理信息系统》:李国红主讲上级科目假设假设:从二级科目开始,某科目的代码去掉最后二位即为该科目的上级科目。一级科目:1001、1002、1101、……二级科目:100201、100202、……三级科目:10020101、10020102、……余类推。1/8/202511《管理信息系统》:李国红主讲科目输入的基本过程kmbhkmmcjdfxqcye1001现金12000.001002银行存款11256000.001/8/202512《管理信息系统》:李国红主讲有关命令及函数、属性、方法setexacton|offuselocatefor……appendblankreplace……with……len()alltrim()subs()或left()space()messagebox()found()对象.value对象.setfocus对象.refresh对象.release1/8/202513《管理信息系统》:李国红主讲a=messagebox("真的想退出吗?",4+48,"提示")单击“是”,a=6单击“否”,a=7a=7a=61/8/202514《管理信息系统》:李国红主讲a=messagebox("要提示的信息!",0+48,"提示")a=1转“科目输入”1/8/202515《管理信息系统》:李国红主讲会计科目输入程序流程
1/8/202516《管理信息系统》:李国红主讲用VFP实现账表MIS的科目输入
——“确定”按钮的Click过程setexactonb=0usekjkmkmbh1=allt(thisform.text1.value)length1=len(allt(thisform.text1.value))iflength1<4b=messagebox("请输入不低于四位的科目编号!",48)thisform.text1.setfocuselselocaforallt(kmbh)=kmbh1……1/8/202517《管理信息系统》:李国红主讲辅助功能
——文本框单击被清空Text2、Text3的Click事件This.value=space(0)Text4的Click事件This.value=01/8/202518《管理信息系统》:李国红主讲取消本次输入
——“取消”按钮的Click过程thisform.text1.value=spac(0)thisform.text2.value=spac(0)thisform.text3.value=spac(0)thisform.text4.value=0.00thisform.text1.setfocus1/8/202519《管理信息系统》:李国红主讲退出输入模块
——“退出”按钮的Click过程a=messagebox("真的想退出吗?",4+48,"提示")ifa=6thisform.releaseendififmessagebox("真的想退出吗?",4+48,"提示")=6thisform.releaseendif1/8/202520《管理信息系统》:李国红主讲进一步思考的问题有关a=messagebox(“XXXXXX”,m+48,“提示”)见(P185-186)1/8/202521《管理信息系统》:李国红主讲(P185-186)
b=messagebox("XXXXXXXXXXXX!",m+48,"提示")m=0单击“确定”,b=1m=1单击“确定”,b=1单击“取消”,b=21/8/202522《管理信息系统》:李国红主讲(P185-186)
b=messagebox("XXXXXXXXXXXX!",m+48,"提示")m=2单击“终止”,b=3单击“重试”,b=4单击“忽略”,b=5m=5单击“重试”,b=4单击“取消”,b=21/8/202523《管理信息系统》:李国红主讲(P185-186)
b=messagebox("XXXXXXXXXXXX?",m+48,"提示")m=3单击“是”,b=6单击“否”,b=7单击“取消”,b=2m=4单击“是”,b=6单击“否”,b=71/8/202524《管理信息系统》:李国红主讲(P185-186)
a=messagebox("XXXXXXXXXXXX",m+48,"提示")单击“确定”,a=1单击“取消”,a=2单击“终止”,a=3单击“重试”,a=4单击“忽略”,a=5单击“是”,a=6单击“否”,a=71/8/202525《管理信息系统》:李国红主讲本节小结账表MIS的任务及模块结构账表MIS的系统初始化kjkm.dbf表文件输入表单界面会计科目设置流程科目设置的VFP实现进一步思考问题1/8/202526《管理信息系统》:李国红主讲本节结束!!!1/8/202527《管理信息系统》:李国红主讲上机步骤在F:盘以自已的学号或姓名建立文件夹。打开VFP,利用[工具,选项]将新建文件夹所在目录设置为默认目录。建表(文件名不要用“表1.dbf”)。创建表单,输入代码。运行。关机。1/8/202528《管理信息系统》:李国红主讲6.2.2科目查询与修改1、数据表的结构:同Kjkm.dbf2、科目查询与修改表单界面设计3、科目查询与修改功能目标指定查询条件查询与修改操作退出:thisform.release4、功能的实现1/8/202529《管理信息系统》:李国红主讲查询与修改表单界面返回1/8/202530《管理信息系统》:李国红主讲指定查询条件表单的Load与Unload事件Load:定义Publicxiangmu(4),bijiao(7)Combo1与Combo2关联的数据源RowSourceType:5-数组RowSource:xiangmu、biaojiaoStyle:2-下拉列表框表单的Init事件Combo1和Combo2的InteractiveChange事件Text2的数据类型和输入掩码Text1和Text2的Click事件1/8/202531《管理信息系统》:李国红主讲查询与修改Cursor1的Filter属性表单初始运行后,表格中不含数据:.F.Combo2的ControlSource属性bj:“<”、“<=”宏替换&bj.:<、<=“查询”按钮的Click事件
表格只读选择不同项目时对应的不同条件tjCursor1的filter属性设置为tj根据Combo1是否“期初余额”,为Text2或Text1设置焦点刷新表单1/8/202532《管理信息系统》:李国红主讲本节结束1/8/202533《管理信息系统》:李国红主讲6.2.3科目删除
1、表的结构:同Kjkm.dbf2、界面设计3、相关功能选择列表项删除功能的实现实现退出功能单击Text1,内容被清空单击Combo1,Text1获得焦点1/8/202534《管理信息系统》:李国红主讲删除科目界面下拉列表框,Style属性为21/8/202535《管理信息系统》:李国红主讲列表项表单的Load过程:publicshuzu(4)
Combo1下拉列表框对应的数据源类型、数据源以及用于保存所选列表项的变量RowSourceType:5-数组RowSource:shuzuControlSource:xuanxian表单的Init过程bo1.listindex=2thisform.text1.setfocus1/8/202536《管理信息系统》:李国红主讲“删除”按钮的Click事件docasecasexuanxiang="科目编号"ziduan="kmbh"casexuanxiang="科目名称"ziduan="kmmc"casexuanxiang="借贷方向"ziduan="jdfx"casexuanxiang="期初余额"ziduan="qcye"endcase1/8/202537《管理信息系统》:李国红主讲“删除”按钮的Click事件usekjkmifziduan<>"qcye"locateforallt(&ziduan)==allt(thisform.text1.value)iffound()deleforallt(&ziduan)==allt(thisform.text1.value)packthisform.text1.value=space(0)elsemessagebox("没找到相关记录!",0+48,"提示")endifelselocatefor&ziduan.==val(thisform.text1.value)iffound()delefor&ziduan.==val(thisform.text1.value)packthisform.text1.value=space(0)elsemessagebox("没找到相关记录!",0+48,"提示")endifendifusethisform.text1.setfocus1/8/202538《管理信息系统》:李国红主讲利用比较运算符和宏替换的删除设计1/8/202539《管理信息系统》:李国红主讲数据删除——以科目删除为例设计表单Combo1的设置:RowsourceType:1-值;RowSource:科目编号,科目名称,借贷方向,期初余额;Style:2-下拉列表框Combo2的设置:RowsourceType:1-值;RowSource:<、<=、=、==、>=、>,<>;ControlSource:ysf;Style:2-下拉列表框Form1的Init过程代码:Tmbo1.listindex=2Tmbo2.listindex=3Thisform.setfocus删除按钮的Click过程代码宏替换函数:&变量.1/8/202540《管理信息系统》:李国红主讲usekjkmdocasecaseallt(bo1.value)="科目编号"ziduan="kmbh"caseallt(bo1.value)="科目名称"ziduan="kmmc"caseallt(bo1.value)="借贷方向"ziduan="jdfx"caseallt(bo1.value)="期初余额"ziduan="qcye"endcifallt(bo1.value)<>"期初余额"locatefor&ziduan.&ysf.allt(thisform.text1.value)iffound()deletefor&ziduan.&ysf.allt(thisform.text1.value)packelse
1/8/202541《管理信息系统》:李国红主讲messagebox("无符合条件的记录!!",0+48,"提示")endifelselocatefor&ziduan.&ysf.val(thisform.text1.value)iffound()deletefor&ziduan.&ysf.val(thisform.text1.value)packelsemessagebox("无符合条件的记录!!",0+48,"提示")endifendifuse1/8/202542《管理信息系统》:李国红主讲本节结束1/8/202543《管理信息系统》:李国红主讲6.2.4记录定位及信息提示框记录定位功能的实现首记录、上一条、下一条、末记录信息提示框的运用与表示Messagebox(“提示信息”,m+n,“提示”)1/8/202544《管理信息系统》:李国红主讲1/8/202545《管理信息系统》:李国红主讲6.3记账凭证输入处理1.概述①记账凭证是登记账薄的直接依据,分为收款凭证、付款凭证和转账凭证3类,但输入记账凭证采用统一的记账凭证的输入屏幕格式。②输入数据的正确是保证账内数据正确的关键,也是由记账凭证正确生成会计报表、账薄数据的关键。③功能演示2.功能实现①建立记账凭证表文件jzpzfb.dbf和jzpzzb.dbf。表中的字段包括pzh、rq、fjzs、sh、zd;pzh、zy、km、jd、je等。其中sh字段的值后三位为_#$表示已登账,由程序自动处理;其余字段的值通过表单界面输入。1/8/202546《管理信息系统》:李国红主讲6.3记账凭证输入处理②设计凭证输入表单。主表的数据在表格中输入,附表的数据在文本框中输入,其中,日期和附件张数文本框应分别设置成日期型和数值型数据的文本框,借贷和科目通达下拉列表选择输入(科目必须是kjkm.dbf表中存在的科目编号)。③编程。应考虑:必须指定科目、借贷;输入金额不能为0;借贷必须平衡;须输入制单人;各命令按钮在必要的时候变为灰色,需要的时候变成可用状态。④记账凭证输入的基本过程、程序流程。⑤用VFP实现记账凭证处理。准备工作、命令按钮代码、其他辅助功能。1/8/202547《管理信息系统》:李国红主讲记账凭证数据表的结构1/8/202548《管理信息系统》:李国红主讲记账凭证用户输入表单1/8/202549《管理信息系统》:李国红主讲记账凭证输入基本过程kmbhkmmcqcyejdfx1001库存现金30.0011002银行存款900.0011403原材料200.0016051其他业务收入100.002pzhrqfjzsshzd001109/28/102zd000001001209/30/101zd000001pzhzykmjdje0011购原材料1403借35422.701001贷35422.700012其他收入1001借1000.0000126051贷1000.001/8/202550《管理信息系统》:李国红主讲输入记账凭证流程图
转“记账凭证及相关处理”1/8/202551《管理信息系统》:李国红主讲准备工作建立数据环境添加kjkm、jzpzfb、jzpzzb、建立表间关系文本框、表格与数据表建立关联日期、附件张数文本框设置日期文本框:日期型,Value属性为{}。附件张数文本框:数值型,掩码为99。辅助功能的实现Form1的BufferMode:2-开放式。命令按钮状态方法程序:buttonstatus1、buttonstatus2、buttonstatus3Form1.load、unload、Init事件Text6.InteractiveChange事件1/8/202552《管理信息系统》:李国红主讲用VFP实现记账凭证处理
——“新增凭证”按钮的Click过程(1/2)iflen(allt(thisform.text6.value))<>0&&如果Text6中输入了凭证号sele(thisform.dataenvironment.cursor_JZPZFB.alias)&&选择jzpzfb工作区locateforallt(pzh)=allt(thisform.text6.value)&&查jzpzfb中有无匹配凭证号if.not.found()&&如果输入至Text6中的凭证号是一个新的凭证号thisform.buttonstatus2&&“输入分录”、“取消”按钮有效,其余按钮无效appendblank&&在jzpzfb中追加一条空记录thisform.text1.value=thisform.text6.value&&Text1自动取Text6中的值thisform.text6.value=space(0)&&Text6中的内容清空thisform.text6.readonly=.t.&&Text6的ReadOnly属性设置为.t.thisform.text2.value=date()&&Text2中自动取值为系统当前日期thisform.refresh&&刷新表单返回记账凭证及相关处理1/8/202553《管理信息系统》:李国红主讲用VFP实现记账凭证处理
——“新增凭证”按钮的Click过程(2/2)else&&如果输入至Text6中的凭证号已存在于jzpzfb中thisform.buttonstatus1&&“新增凭证”、“关闭”按钮有效,其余按钮无效=messagebox("已存在此凭证号的凭证!",48)&&提示对话框thisform.text6.setfocus&&Text6文本框获得焦点endifelse&&如果Text6中还未输入凭证号thisform.buttonstatus1&&“新增凭证”、“关闭”按钮有效,其余按钮无效=messagebox("请输入新增凭证的凭证号!",48)&&提示对话框thisform.text6.setfocus&&Text6文本框获得焦点endif1/8/202554《管理信息系统》:李国红主讲用VFP实现记账凭证处理
——“输入分录”按钮的Click过程sele(thisform.dataenvironment.cursor_JZPZZB.alias)appeblankreplacepzhwiththisform.text1.valuethisform.grid1.refreshthisform.buttonstatus31/8/202555《管理信息系统》:李国红主讲用VFP实现记账凭证处理
——“确定”按钮的Click过程(1/3)
sele(thisform.dataenvironment.cursor_JZPZZB.alias)setfiltertoallt(pzh)=allt(thisform.text1.value)locateforlen(allt(km))=0if.not.found()locateforlen(allt(jd))=0if.not.found()locateforje=0.00if.not.found()sumjetoje_jieforallt(jd)='借'sumjetoje_daiforallt(jd)='贷'ifje_jie=je_dai1/8/202556《管理信息系统》:李国红主讲用VFP实现记账凭证处理
——“确定”按钮的Click过程(2/3)
iflen(allt(thisform.text5.value))<>0sele(thisform.dataenvironment.cursor_JZPZFB.alias)=tableupdate(.t.)sele(thisform.dataenvironment.cursor_JZPZZB.alias)=tableupdate(.t.)thisform.refreshthisform.buttonstatus1thisform.text6.setfocusthisform.text6.readonly=.f.else=messagebox("请输入制单人!",48)thisform.text5.setfocusthisform.buttonstatus3thisform.text6.readonly=.t.endif1/8/202557《管理信息系统》:李国红主讲用VFP实现记账凭证处理
——“确定”按钮的Click过程(3/3)else=messagebox("借贷不平衡!",48)thisform.grid1.column_JE.setfocusendifelse=messagebox("金额不能为0!",48)thisform.grid1.column_JE.setfocusendifelse=messagebox("指定借或贷!",48)thisform.grid1.column_JD.setfocusendifelse=messagebox("请指定科目!",48)thisform.grid1.column_KM.setfocusendif1/8/202558《管理信息系统》:李国红主讲用VFP实现记账凭证处理
——“取消”按钮的Click过程sele(thisform.dataenvironment.cursor_JZPZFB.alias)=tablerevert(.t.)sele(thisform.dataenvironment.cursor_JZPZZB.alias)=tablerevert(.t.)thisform.refreshthisform.buttonstatus1thisform.text6.readonly=.f.thisform.text6.setfocus1/8/202559《管理信息系统》:李国红主讲用VFP实现记账凭证处理
——“关闭”按钮的Click过程a=messagebox("真的想退出吗?",4+48,"提示")ifa=6thisform.releaseendififmessagebox("真的想退出吗?",4+48,"提示")=6thisform.releaseendif返回记账凭证及相关处理1/8/202560《管理信息系统》:李国红主讲其他辅助功能防止手工修改Text1、Text2、Column_PZH、Text4中的值ReadOnly设置为:.T.-真防止对已审核凭证进行更改Text3、Text5、Grid1的When过程允许正常输入与修改操作:Text6.GotFocus防止修改状态下执行新增凭证和关闭操作Text3、Text5、textZY、ComboKM、ComboJD、ComboJE的InteractiveChange事件使输入凭证号更方便Text6.Click:this.value=space(0)1/8/202561《管理信息系统》:李国红主讲本节小结1/8/202562《管理信息系统》:李国红主讲本节结束!!!1/8/202563《管理信息系统》:李国红主讲6.4登记现金日记账不要求1/8/202564《管理信息系统》:李国红主讲6.5登记总账处理总账即总分类账,是按照一级科目设立账户,以货币为计量单位,连续核算整个企业各种资金占用、资金来源、资金增减变动及其结余的总括情况的一种分类账。登记总账的依据是:会计科目表(kjkm.dbf)、记账凭证附表(jzpzfb.dbf)、记账凭证主表(jzpzzb.dbf)。会计科目:KJKM(kmbh,kmmc,jdfx,qcye)记账凭证附表:JZPZFB(pzh,rq,fjzs,sh,zd)记账凭证主表:JZPZZB(pzh,zy,km,jd,je)总账:ZZ(rq,zzh,kmbh,kmmc,jffs,dffs,jdfx,ye)功能演示基本过程及程序流程相关命令与函数及程序1/8/202565《管理信息系统》:李国红主讲登记总账基本过程rqpzhzykmjdjeshzd10/13/10b1aaaaa1403借20.00sh01zd0110/13/10b11001贷20.00sh01zd0110/13/10b2bbbbbbbb1001借50.00sh01zd0110/13/10b21002借40.00sh01zd0110/13/10b26001贷90.00sh01zd01rqzzhkmbhkmmcjffsdffsjdfxye08/13/10汇a1-a21001库存现金30.0040.00120.0008/13/10汇a1-a21002银行存款100.00200.001800.0009/13/10汇b1-b21001库存现金40.000.00160.0009/13/10汇b1-b21002银行存款11.0060.001751.00kmbhkmmcqcyejdfx1001库存现金30.0011002银行存款900.0011122应收账款15000.0011区zz2区jzpz3区kjkm转登记总账处理pzhrqfjzsshzdb110/13/105sh01_#$zd01b210/13/102sh01_#$zd024区jzpzfb1/8/202566《管理信息系统》:李国红主讲登记总账流程图
转登记总账处理1/8/202567《管理信息系统》:李国红主讲相关命令与函数setfilterto……setfilttolen(allt(sh))!=0andright(allt(sh),3)!='_#$'setfilttolen(allt(kmbh))=4setfilttoallt(kmbh)=kmbh1setfilttorq=rq1.and.zzh=zzh1sum……to……for……sumjetojffs1forleft(km,4)=kmbh1.and.jd='借‘sumjetodffs1forleft(km,4)=kmbh1.and.jd='贷'dowhile……loop(exit)……enddogotop、gobottom、skipeof()、found()qcs1=iif(eof(),qcye1,ye)转登记总账处理1/8/202568《管理信息系统》:李国红主讲登记总账程序djzz.prgsettalkoffsetexactonopendatabasezwclsele1usezzsele2usejzpzsetfilttolen(allt(sh))!=0andright(allt(sh),3)!='_#$'gotoppzh1=pzhgobottompzh2=pzhzzh1="汇"+allt(pzh1)+"-"+allt(pzh2)1/8/202569《管理信息系统》:李国红主讲登记总账程序djzz.prgrq1=rqgotopsele3usekjkmsetfilttolen(allt(kmbh))=4gotopdowhile.not.eof()kmbh1=allt(kmbh)kmmc1=kmmcjdfx1=jdfxqcye1=qcyeselejzpzlocaforleft(km,4)=allt(kmbh1)1/8/202570《管理信息系统》:李国红主讲登记总账程序djzz.prgif.not.found()selekjkmskiploopendifsumjetojffs1forleft(km,4)=kmbh1.and.jd='借'sumjetodffs1forleft(km,4)=kmbh1.and.jd='贷'selezzsetfilttoallt(kmbh)=kmbh1gobottomqcs1=iif(eof(),qcye1,ye)ye1=iif(jdfx1='1',qcs1+jffs1-dffs1,qcs1-jffs1+dffs1)1/8/202571《管理信息系统》:李国红主讲登记总账程序djzz.prgappeblanreplrqwithrq1,zzhwithzzh1replkmbhwithkmbh1,kmmcwithkmmc1repljffswithjffs1,dffswithdffs1repljdfxwithjdfx1,yewithye1selekjkmskipenddo1/8/202572《管理信息系统》:李国红主讲sele4usejzpzfbreplshwithallt(sh)+'_#$'forlen(allt(sh))!=0.and.right(allt(sh),3)!='_#$'=messagebox("生成总账结束!",48,"提示")selezzsetfilttorq=rq1.and.zzh=zzh1brownoeditclosedatabasesetexactoffsettalkonretu1/8/202573《管理信息系统》:李国红主讲1/8/202574《管理信息系统》:李国红主讲6.6损益表数据自动生成及输出损益表(syb.dbf)中的数据由总账表(zz.dbf)中取得。总账:ZZ(rq,zzh,kmbh,kmmc,jffs,dffs,jdfx,ye)损益表:SYB(xm,hc,bys,ljs,kmbh,bz)损益表数据生成原理:确定会计期间,预置syb.dbf表中的有关内容,kmbh长度取1、4、8分别处理,由程序依据总账表的数据自动生成损益表文件中的本月数和本年累计数。通过VFP6.0的报表生成器完成损益表的输出,也可通过建立查询在屏幕上输出有关内容。1/8/202575《管理信息系统》:李国红主讲rqzzhkmbhkmmcjffsdffsjdfxye6001主营业务收入0.0080600.006051其他业务收入0.001000.006601销售费用12450.370.006602管理费用2567.250.00xmhcbysljskmbhbz一、营业收入181600.0081600.0060016051d减:营业成本20.000.0064016402j营业税金及附加30.000.006403j销售费用412450.3712450.376601j管理费用52567.252567.256602j财务费用60.000.006603j资产减值损失70.000.006701j加:公允价值变动收益80.000.006101d投资收益90.000.006111d二、营业利润1066582.3866582.38h总账表部分数据损益表部分数据1/8/202576《管理信息系统》:李国红主讲生成损益表表单usezzgobottthisform.text1.value=allt(str(year(rq)))thisform.text2.value=allt(str(month(rq)))use表单的Init过程代码:1/8/202577《管理信息系统》:李国红主讲损益表数据自动生成及输出N-S图1/8/202578《管理信息系统》:李国红主讲生成损益表代码settalkoffsetexactonsetsafetyoffsele1usezzsetfiltertoyear(rq)=val(thisform.text1.value)andmonth(rq)=val(thisform.text2.value)gotopsele2usesybreplallbyswith0,ljswith0gotop&&以便从损益表的首记录开始,以下求本月数1/8/202579《管理信息系统》:李国红主讲dowhile.not.eof()kmbh1=allt(kmbh)&&kmbh1为syb表当前记录的kmbh(去掉前后空格)length=len(kmbh1)&&length为syb表当前记录的kmbh去掉前后空格后的长度docasecaselength=8declaresz(2)&&数组sz表示本月数sele1&&总账表工作区i=1dowhilei<=2locaforallt(kmbh)=subs(kmbh1,4*i-3,4)iffound()sz(i)=iif(b->bz="d",dffs-jffs,jffs-dffs)elsesz(i)=0endifi=i+1enddosele2&&损益表工作区replbyswithsz(1)+sz(2)1/8/202580《管理信息系统》:李国红主讲caselength=4sele1&&总账表工作区locaforallt(kmbh)=kmbh1iffound()bys1=iif(b->bz='d',dffs-jffs,jffs-dffs)elsebys1=0endifsele2&&损益表工作区replbyswithbys1caselength=1r=recn()sumbystobys1forbz='d'sumbystobys2forbz='j'gorreplbyswithbys1-bys2endcskipendd1/8/202581《管理信息系统》:李国红主讲gotop&&以便从损益表的首记录开始,以下求本年累计数dowhile.not.eof()kmbh1=allt(kmbh)&&kmbh1为syb表当前记录的kmbh(去掉前后空格)length=len(kmbh1)&&length为syb表当前记录的kmbh去掉前后空格后的长度docasecaselength=8declaresz1(2)&&数组sz1表示本年累计数sele1&&总账表工作区i=1dowhilei<=2setfiltertoyear(rq)=val(thisform.text1.value).and.;month(rq)<=val(thisform.text2.value).and.allt(kmbh)=subs(kmbh1,4*i-3,4)gobottomsz1(i)=iif(eof(),0,ye)i=i+1enddosele2&&损益表工作区replljswithsz1(1)+sz1(2)1/8/202582《管理信息系统》:李国红主讲
caselength=4sele1&&总账表工作区setfiltertoyear(rq)=val(thisform.text1.value).and.;month(rq)<=val(thisform.text2.value).and.allt(kmbh)=kmbh1gobottomljs1=iif(eof(),0,ye)sele2&&损益表工作区replljswithljs1caselength=1r=recn()sumljstoljs1forbz='d'sumljstoljs2forbz='j'gorreplljswithljs1-ljs2endcskipendd1/8/202583《管理信息系统》:李国红主讲copyto"syb"+allt(thisform.text1.value)+"-"+allt(thisform.text2.value)+".dbf";fieldsxm,hc,bys,ljs&&生成的损益表以类似于syb2009-1.dbf的形式保存messagebox("生成损益表结束!",48,"提示")selexmas"项目",hcas"行次",bysas"本月数",ljsas"本年累计数"from;"syb"+allt(thisform.text1.value)+"-"+allt(thisform.text2.value)+".dbf"closedatabasessetsafetyonsetexactoffsettalkon1/8/202584《管理信息系统》:李国红主讲1/8/202585《管理信息系统》:李国红主讲6.7账务处理与报表系统的菜单设计1、功能模块1/8/202586《管理信息系统》:李国红主讲2、菜单规划与设计1/8/202587《管理信息系统》:李国红主讲2、菜单规划与设计1/8/202588《管理信息系统》:李国红主讲菜单设计2、菜单规划与设计1/8/202589《管理信息系统》:李国红主讲2、菜单规划与设计1/8/202590《管理信息系统》:李国红主讲3、报表设计创建与修改报表:modireport报表文件名预览报表:reportform报表主名.frxfor条件preview打印报表:reportform报表主名.frxfor条件toprinter4、查询设计创建与修改查询:modiquery查询文件名执行查询:do查询主文件名.qpr5、菜单的运行执行[菜单,生成]:生成扩展名为.mpr的可执行菜单文件执行菜单:Do菜单文件主名.mpr1/8/202591《管理信息系统》:李国红主讲6.8MIS操作维护设计与实现1、在zwcl数据库中建立mima.dbf表字段名类型宽度含义czy字符型16操作员mm字符型16密码返回:用户登录1/8/202592《管理信息系统》:李国红主讲2、增加操作员设计表单Text2、Text3的PasswordChar:*退出:thisform.release确定:1/8/202593《管理信息系统》:李国红主讲setexactonopendatabasezwclusemimaiflen(allt(thisform.text1.value))<>0&&输入的操作员密码不全为空格locateforallt(czy)=allt(thisform.text1.value)iffound()messagebox("已有此操作员,请重新输入!!!",0+48)thisform.text1.value=space(0)thisform.text2.value=space(0)thisform.text3.value=space(0)thisform.text1.setfocuselse&&密码表中无与Text1中匹配的内容ifallt(thisform.text2.value)=allt(thisform.text3.value)iflen(allt(thisform.text2.value))<>0appeblankreplczywithallt(thisform.text1.value)replmmwithallt(thisform.text2.value)thisform.text1.value=space(0)thisform.text2.value=space(0)thisform.text3.value=space(0)thisform.text1.setfocuselse&&Text2中未输入字符或输入的是空格字符串messagebox("请输入密码,注意不能全为空格!!!",0+48)thisform.text2.setfocusendif1/8/202594《管理信息系统》:李国红主讲else&&Text2与Text3中的内容不相同messagebox("密码不一致,请重新输入!!!",0+48)thisform.text2.value=space(0)thisform.text3.value=space(0)thisform.text2.setfocusendifendifelse&&Text1中未输入字符或输入的是空格字符串messagebox("请输入操作员代码,注意不能全为空格!!!",0+48)thisform.text2.value=space(0)thisform.text3.value=space(0)thisform.text1.setfocusendifclosedatabasesetexactoff1/8/202595《管理信息系统》:李国红主讲3、删除操作员设计表单Combo1:RowSourceType:6-字段;RowSource:mima.czy;Style:2-下拉列表框;ControlSource:mima.czyText1:PasswordChar:*1/8/202596《管理信息系统》:李国红主讲Form1.Load:opendatabasezwclForm1.Init:thisform.text1.setfocusForm1.Unload:closedatabaseCombo1.Click:thisform.text1.setfocus
退出.Click:thisform.release确定.Clik:1/8/202597《管理信息系统》:李国红主讲setexactonusemimalocaforallt(czy)=allt(bo1.value)andallt(mm)=allt(thisform.text1.value)iffound()dele&&为找到的那条记录加上逻辑删除标记pack&&物理删除带逻辑删除标记的记录thisform.text1.value=space(0)thisform.refreshmessagebox("删除成功!!!",0+48)elsemessagebox("密码不对,不能删除!!!",0+48)thisform.text1.value=space(0)endifthisform.text1.setfocussetexactoff1/8/202598《管理信息系统》:李国红主讲4、修改密码设计表单,建数据环境Combo1:RowSourceType:6-字段;RowSource:mima.czy;Style:2-下拉列表框;ControlSource:mima.czyText1、Text2、Text3:PasswordChar:*1/8/202599《管理信息系统》:李国红主讲Form1.Load:opendatabasezwclForm1.Init:thisform.text1.setfocusForm1.Unload:closedatabaseCombo1.Click:thisform.text1.setfocus
退出.Click:thisform.release确定.Clik:1/8/2025100《管理信息系统》:李国红主讲setexactonusemimalocateforallt(czy)=allt(bo1.value)ifallt(thisform.text1.value)=allt(mm)ifthisform.text2.value=thisform.text3.valueiflen(allt(thisform.text2.value))<>0replacemmwithallt(thisform.text2.value)messagebox("密码修改成功,请牢记新密码!!!",0+48)thisform.text1.value=space(0)thisform.text2.value=space(0)thisform.text3.value=space(0)thisform.refreshthisform.text1.setfocuselse&&Text2中未输入字符或输入的是空格字符串
messageb
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 煤制烯烃生产工创新方法评优考核试卷含答案
- 雷达调试工安全检查竞赛考核试卷含答案
- 印染染化料配制工技术实务水平考核试卷含答案
- 旅游业旅行团队组织及市场开拓成效绩效评定表
- 酶制剂制备工岗位核心考核试卷含答案
- 大型桥梁机械操作工安全培训考核试卷含答案
- 通信网络管理员环保及安全测试考核试卷含答案
- 耐火纤维制品成型工岗中基础操作考核试卷含答案
- 软件开发项目组团队成员工作绩效评定表
- 【智慧农业】2026基于土壤墒情传感的智能补水系统架构设计方案
- 高考英语词汇3500词精校版-顺序版
- 微信小程序申请模板-电商平台对用户交易纠纷处理的机制或方案
- 2026年江西省九江社区工作者考试试题解析及答案
- 墨脱县格当乡德吉村小型供水规范化改造工程水土保持方案报告表
- T∕FCAESA 00014-2026 海岛环卫一体化服务导则
- 蜡疗室护理工作制度
- 河北吹歌小放驴课件
- 全国计算机等级考试一级计算机基础及MS+Office教程完整全套教学课件
- 2025地氟醚临床应用与实践专家意见解读课件
- ERAS围手术期护理策略
- 聘用电竞战队合同协议2025
评论
0/150
提交评论