基于VFP的财务信息表之间的数据转换

来源 :商场现代化 | 被引量 : 0次 | 上传用户:shiguzxy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要] 在大量的财务资料整理过程中,作者把电子数据处理的重复操作流程和方法加以归纳、加工,形成标准化的数据处理模型;据此,利用VFP语言编写的数据转换通用程序,经多年的实际应用,效果极为显著,对规模较大、数据处理频繁单位的财务管理工作,具有重要的参考与应用价值。
  [关键词] VFP语言程序 数据表转换 设计与实现
  
  一、 应用分析
  在网络经济时代,大型数据库系统以其优异性能,占据大部分市场份额。但并非说,单用户的中小型数据库系统无用武之地了。中小型数据库系统,由于操作简便、命令与函数易掌握,被广泛用来解决日常数据的整理事务,成为重要的财务管理工具之一。
  通常情况下,财务人员所取得的外部电子数据与实际需求之间可能存在偏差,为此而进行的合并、分解、筛选等数据整理工作不可缺少。在规模较大单位,会计核算、工资管理和固定资产管理前后的数据整理工作非常庞杂;有些数据处理,如采取简单的查找方式去解决,不仅费时、费力、易出错和难度大,而且处理结果也不太理想,有时更无从着手。其实,我们只要找出当中规律,问题就简单多了。
  对经常使用的数据处理方法,不妨借助于某些工具软件,设计成标准化程序。本文基于VFP语言应用,提供的数据转换通用程序,能大幅度提高财务管理者的工作效率和质量。
  二、基础条件
  1.电子数据的来源和输出格式必须是Excel(*.XLS)、标准文本(*.TXT)和数据表(*.DBF)等三种类型中的一种
  2.计算机上预先安装有专用数据库软件VFP6.0及微软公司的办公操作系统(其中包括Excel)
  3.财务人员能熟练掌握上述两种应用系统,否则软件制作会非常吃劲
  三、设计方案关键部件说明
  1.基表(changebase.dbf)定义,基表是数据交换的关键表,用于设置表与表之间对照关系的表;由程序员预先定义,在数据交换对照关系控件中调用。应具备以下四个字段:
  2.制作数据转换程序表单
  在启动VFP6.0后,选择“文件”、“新建(N)”,点击“表单”,如采用“新建文件”,则在屏幕左上角窗口出现空白表单;在空白表单的属性窗口,将“CAPTION”属性修改为“财务数据交换表单”,“NAME”属性修改为“CHANGE”,“ICON”属性选择“CHANGE.ICO”图标;然后在空白表单中添加相应控件(如下图所示)。
  下图列示了数据交换表单的控件功能及名称。
  当然,数据交换表单的制作还有其他方式。
  3.主要功能介绍与实现
  限于篇幅,本文只提供其中的数据转换关键程序。【开始数据交换】控件(cmd_startchange_tables)click过程代码如下:
  local importtable,exporttable,crepl,cfind,cvalue
  select 0
  use (thisform.text_importtable.value) shared alias aaa/*打开源表并命名为 aaa
  select 0
  use (thisform.text_exporttable.value) shared alias bbb /*打开导出表并命名为 bbb
  select changebase
  set filter to !empty(item_out)/*筛选基表中导出表达式
  go top
  if thisform.Check_clearitem_data.value=1/*执行源表数据的清除过程
   select changebase
   scan/*循环基表,检查源表数据类型,由此设置清除表达式
  do case
   case item_type='N'/*如为数值型字段,则设置为零处理
  crepl='repl all '+alltrim(item_in)+' with0'
   case item_type='D'/*如为日期型字段,则设置为空的日期格式
  crepl='repl all '+alltrim(item_in)+' withCTOD("-- ")'
   case item_type='C' OR item_type='M' /*如为字符型或备注型字段,则设置为空
  crepl='repl all '+alltrim(item_in)+' with""'
   other/其他類型的字段,则不设置任何表达式
  crepl=''
  endcase
  select aaa
  &crepl /*根据上述设置清除源表数据
  select changebase/*回归基表循环,执行下一字段的操作过程
   endscan
  endif
  select aaa
  go top
  do while !eof()/*开始源表的数据循环过程
   cvalue1=alltrim(thisform.combo_importtable_selectkey.value)
   cvalue=&cvalue1 /*将源表关联字的值赋给 cvalue 变量
   cvalue=alltrim(cvalue)
   select bbb
   cfind='loca for alltrim('+;alltrim(thisform.combo_exporttable_selectkey.value)+')=="'+alltrim(cvalue)+'"'
   &cfind/*查找满足导出表关联字的记录
   if found()/*如导出表记录存在
  select changebase
  scan/*在基表中循环提取导出表达式
   cvalue1=alltrim(item_out)
   select bbb
   cvalue=&cvalue1 /*将导出表达式的计算结果赋给 cvalue 变量
   select aaa
   if empty(changebase.nosum)
   /*如基表设置中源表字段为替换状态,则在此定义替换命令
  do case
   case type('cvalue')='N'/*cvalue变量为数值型数据的替换命令
  cvalue3='repl '+alltrim(changebase.item_in)+;
  ' with '+alltrim(str(cvalue,16,2))
   case type('cvalue')='D' /*cvalue变量为日期型数据的替换命令
  cvalue3='repl '+alltrim(changebase.item_in)+;
  ' with CTOD("'+DTOC(cvalue)+'")'
   other/*cvalue变量除上述类型数据外的替换命令
  cvalue3='repl '+alltrim(changebase.item_in)+;
  ' with "'+alltrim(cvalue)+'"'
  endcase
  &cvalue3/*根据上述设置,将导出表的计算结果替换到源表相应字段
   else/*如基表设置中源表字段为累加状态,则设置累加命令
  cvalue3='repl '+alltrim(changebase.item_in)+;
  ' with '+alltrim(changebase.item_in)+'+'+alltrim(str(cvalue,16,2))
  &cvalue3 /*将累加结果写入源表相应字段
   endif
   select changebase/*进入基表下一循环过程
  endscan
   endif
   select aaa/*进入源表下一记录的查找过程
   skip
  enddo
  select aaa /*数据交换完毕,关闭源表和导出表
  use
  select bbb
  use
  select changebase
  set filter to /*消除基表筛选状态
  thisform.list_changestatus_eventresult.additem('数据交换完毕!')
  thisform.refresh/*刷新当前表单,完成数据交换过程
  四、 实例解析
  1.外部文件转换
  在财务数据处理过程中,会计人员所取得的关于人员工号、身份证号码和所属部门的信息资料,常见于Excel或数据表形式;与银行的信息交换资料,多为标准文本文件。文本文件和Excel文件如何转化为DBF格式文件?
  Excel文件的第一行为表头,作为文件的内容属性,通过表头便知数据的存放意义。打开Excel文件后,选择“文件”、“另存为”,确定保存位置后,选择保存类型为“dbf 3”等,点击保存即可。用户须注意表头:列名不宜太长,避免重名。
  标准文本转换成DBF文件的方法较多。本文主要介绍两种:
  (1)在Excel空白文档中选择文本文件打开,在表的第一行插入一空白行,根据列内容写入表头,然后“另存为”DBF文件。
  (2)先建立一DBF格式的空白表,表头宽度与类型对应于文本文件中的数据;然后使用“append from ”命令,将文本文件追加到DBF表中。
  2.数据交换步骤
  在启动数据交换表单后,点击(源表)【查找】,提取学生表;或在文本框中输入“student.dbf”后回车。如要修改学生表结构,则点击(源表)【修改字段】,字段修改完毕保存。此时在数据交换关系中显示源表字段和类型,在(源表)关联中显示字符型字段。
  選择(源表)【关联】,找出与导出表连接的关联字。
  在导出表行,重复上述两步,提取银行信息表和选择导出表关联字。
  如要清除源表中有导出表达式的数据,则点击【清除源表关联项的数值型数据】;如数值型数据需要累加,则点击【累加切换】;如源表与导出表字段需自动匹配,则点击【自动匹配】;如已设置的导出表达式存在问题,必须全部清除后才能重新设置,则点击【清除全部表达式】。
  在采用手工设置导出表达式时,可直接在导出表达式列表中输入,或点击“导出表字段选择”列表控件,引导表达式输入。
  数据交换工作准备完毕,点击【开始数据交换】,执行数据交换过程。
  3.以高校学生收费为例,介绍数据转换功能的应用
  (1)资料及其制作。财务部门取得来自教务部门的关于学生学号、姓名、性别、班级、专业、系、学院和身份证号码等Excel格式文件,从银行取得关于学生姓名、身份证和银行卡等文本文件,以及财务部门拥有的关于班级编码、专业学费标准和住宿费标准的DBF文件。
  通过Excel,将学生信息另存为student.dbf,并根据实际需要添加或修改部分字段;将银行信息制作成bankcard.dbf。
  (2)实例操作。学生信息表整理,关联:班级名称(dname)。具体操作见下图:
  4.解析
  实际财务管理工作所面临的数据处理情况,远比实例要复杂得多。本文提供的数据转换程序,解决了两表或多表间有一项关联的数据交换问题,而撇开了数据的多项关联、读入和输出。读者不妨尝试制作,让该程序扩充成完整的数据处理系统。这样,对财务工作的帮助会更大。
  五、价值实现
  经十多年的使用与完善,该数据交换功能在笔者所在学校的职工工资、校内津贴、职工医疗费报销、学生奖助学金发放和贷款抵扣等银行打卡转账资料的制作中发挥了极其重要作用。据不完全估计,2006年处理的资金量就达7千万元。财政部关于《行政事业单位工资和津贴补贴有关会计核算办法》(财库[2006]48 号)规定,单位应以银行卡形式向职工发放工资(离退休费)和地方(部门)津贴补贴,中央和省级单位一律以银行卡形式发放,不得发放现金。数据转换功能,为单位财会人员处理银行卡业务,提供了极为重要的交换工具。
  数据转换功能作用不在经济效益,主要体现在它的实际利用效果上,既节省了工作时间、减轻了劳动强度,又降低了手工处理的出错率,提高了财务工作效率和质量。笔者所在学校每年新生约6千人,学生表有70多个数据项目。若使用目前流行的、财务人员较熟悉的Excel,采用拖放修改方式去制作学生信息表,即使是一位熟练的操作员,一周时间很难结束;而借助于该功能,辅以VFP命令与函数,包括学生收费初始化在内的工作,一天时间就能轻松完成。我们也试用于部门预算关于职工信息表(1300员工)的整理中,写好数据对照关系,十分钟之内便实现了数据的比对与转换。
  时下,全国的机关事业单位正紧锣密鼓地抓紧资产清理工作,在电子数据比较完备的单位,其中实物帐的处理工作,由该功能实现,其效果会更加明显。
  
  参考文献:
  [1]陈宗兴:中文版Visual FoxPro 6.0中文版程序设计,北京:中国铁道出版社,1999年
  [2]吴克杰等:中文Visual FoxPro 6.0属性 事件 控件及方法,北京:北京航空航天大学出版社,1998年
  [3]周予滨:Visual FoxPro 5.0中文版命令与函数大全,北京:中国水利水电出版社,1998年
  
  注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
其他文献
[摘要] 知识在生产力构成中的地位经历了由弱到强再到主导的过程。这种变化可由生产力系统自身的扩张性和历史上生产力主导要素的变更性找到其理论依据与前提。而知识地位演进的具体过程为:1.农业经济时代,其作用微弱,处于次要地位;2.工业经济时代,其作用增强,但未能超过资本的控制力,仍处于次要地位;3.知识经济时代,其作用力因超过其他诸要素而占据主导地位。重视对知识地位的研究将具有重大的理论价值和现实指导
期刊
[摘要] 我国加入世界贸易组织的主要目的在于引进竞争机制。经过5年来的努力我国已初步建立与市场经济体制相适应的法律体系。但是我们的竞争机制与WTO框架下市场经济的要求相差很大。可以说,WTO竞争制度对我国反垄断法律制度构成了严重的挑战和冲击,急需我国政府改变传统的运营机制和及时修改反垄断法律制度。  [关键词] 竞争法 WTO 反垄断法    自GATT产生以来,自由贸易与保护贸易始终是多边贸易体
期刊
[摘要] 笔者从当前比较热门的长尾理论的角度分析了中国小灵通市场发展状况,并结合小灵通本身的特点,以及与手机的差异和3G技术的特点展望了小灵通的未来,认为小灵通在3G时代仍有生存空间。最后,对小灵通未来的发展提出了一些可行性策略。  [关键词] 长尾理论 小灵通 3G技术    自1998年投入商用以来,小灵通在中国市场发展迅速。截至2006年8月底,全国小灵通用户已达9300万。但从近两年的发展
期刊
[摘要] WTO的专家组程序是WTO的争端解决机制的重要部分。该文从WTO争端解决机制所确立的争端解决手段之间的关系以及专家组程序本身的本质特征出发,探讨了专家组程序的司法性。  [关键词] WTO 专家组程序 司法性    在WTO体制下的专家组程序是WTO争端解决程序的中心。根据DSU第3条的规定,WTO争端解决机制的宗旨是确保争端的积极解决,争端解决机制的首要目标,是使当事方能够达成双方满意
期刊
[摘要] 商品房预售制度是房地产市场上卖方处于优势地位时的一种必然的制度选择。在目前我国尚不能取消此制度的背景下,应尽力寻求合理的方式对预购方的合法权益进行保护。本文结合我国合同法对格式条款的相关规定,对预购方利益的保护提出了完善建议。  [关键词] 商品房预售 格式条款 法律规制    商品房预售合同多采格式合同形式制成,和一般格式合同一致的一点是,最易出現争议的格式条款部分依然是合同中关于免责
期刊
[摘要] 根据现行法律规定,劳动者在出现伤害后提起工伤赔偿救济,往往会陷入无休止的程序怪圈中,工伤赔偿权利得不到及时有效的保障。本文基于司法权与行政权的关系,分析了法院(仲裁委员会)对劳动部门作出的工伤认定的证据审查模式,认为工伤认定在工伤救济程序中应当做一种普通的民事证据接受司法权的审查,由此达到优化劳动者工伤救济程序的目的,节约劳动者维权成本。  [关键词] 程序缺陷 司法审查 工伤认定 重构
期刊
一、货币理论概要    马克思从根本上回答了商品怎样、为什么和通过什么成为货币的等问题,提示了货币的起源和本质,全面地论证了货币的职能和货币流通规律,从而制定了科学的货币理论。马克思的货币理论可以概括为三个部分:货币的起源和本质、货币的职能、货币流通规律的理论。  关于货币的起源和本质问题,马克思在《资本论》第105页指出:“货币结晶是交换过程的必然产物。”商品交换是个人过程和社会过程的对立统一运
期刊
[摘要] 本文运用Granger因果检验和扩展GARCH模型实证研究了深圳A股市场交易量与股价之间的关系。得到了如下结论:交易量变量和收益率、波动率存在双向Granger因果关系;交易量只能在有限程度内解释波动率的持续性,深圳股市还存在其他影响波动率持续性的因素。  [关键词] 交易量 波动性 Granger因果关系 GARCH模型    一、引言  证券市场中的量价关系是指证券价格的波动与交易量
期刊
[摘要] 目前人们对BOT的内涵、形态及其特征还缺乏统一的认识,本文对BOT的内涵、形态及其特征进行了必要的探究,期望对BOT的理论与实践有所裨益。  [关键词] BOT 内涵 形态 特征 探究    一、BOT的内涵   BOT是英文Build Operate Transfer 的缩写,一般中文直译为(特定项目的)建造、经营和移交。  关于BOT的含义,目前国内外还没有一个公认的定义。不少人对B
期刊
[摘要] 文章介绍了CPFR的概念及其产生背景,在简要分析零售市场特点的基础上,详细介绍了零售企业CPFR模型及其步骤,指出零售企业实施CPFR的三个阶段、九个步骤,文章最后介绍了零售企业实施CPFR的具体措施。  [关键词] CPFR零售协同规划预测补给    一、引言    随着零售市场需求日趋多样化和个性化,各种产品竞争日益激烈,产品更新速度日益加快,产品市场需求的极度波动性和难以预测性及客
期刊