论文部分内容阅读
[收稿日期]2008-12-20
[摘 要]本文以会计科目的查询与修改操作为例,详细分析与探讨了利用Visual FoxPro设计与实施管理信息系统数据查询与修改模块的基本原理、方法和步骤,并提供了相应的程序代码。
[关键词]管理信息系统;会计科目;数据查询;数据修改;Visual FoxPro程序设计
doi:10.3969/j.issn.1673-0194.2009.13.001
[中图分类号]F232[文献标识码]A[文章编号]1673-0194(2009)13-0004-04
数据查询与修改操作是管理信息系统必不可少的基本操作,查询与修改模块则是管理信息系统中极其重要的功能模块。数据查询与修改处理的基本原理是:先提供查询条件,然后在数据表中查询符合条件的记录,再以只读方式显示出查询结果。如果只进行查询操作,则不允许对查询结果进行修改;如果要在所显示的查询结果中修改数据,则需要先将显示结果变为非只读方式,然后进行修改,待相关数据修改完毕后,仍需将显示结果再变为只读方式。本文以Visual FoxPro为关系数据库管理系统,以会计科目的查询与修改为例,分析与探讨管理信息系统数据查询与修改模块的实现方法。本文所提供的程序代码已通过上机验证。
1 数据表的结构
由于查询与修改操作是对相应数据表中的相关数据进行查询与修改处理,所以,必须首先弄清楚相应数据表的结构。假设会计科目相关信息保存在会计科目表中,会计科目表的数据结构如表1所示,其文件名为kjkm.dbf,存储在默认目录下。可以将会计科目表文件kjkm.dbf添加到相应的账务处理数据库中加以管理。
表单的下方是一个表格控件,设计该表格控件的步骤和方法是:①在“表单控件”工具栏选中“表格”控件,再在表单上适当的位置画一个大小适中的表格,其Name属性默认为Grid 1;②用鼠标右键单击Grid 1表格,再在弹出的快捷菜单中选择“生成器”,则出现表格生成器对话框,可在其“表格项”选项卡选择或设置此表格关联的数据表kjkm(或选择文件kjkm.dbf),并选定该表格关联的全部字段,再在“布局”选项卡将表格各栏对应的标题设定为图1中表格的标题,最后单击表格生成器的“确定”按钮即可。这样设置后,就为表单建立了数据环境,且数据环境设计器中对应的数据表就是kjkm,数据环境和kjkm数据表的Name属性分别为Dataenvironment和Cursor1。
3 查询与修改模块的功能目标
数据库或数据表中的数据量一般都比较大,无论是进行数据查询还是进行数据修改,都需要指定相应的查询或修改条件,再进行相应的操作。因此,要实现查询与修改功能,应能通过其表单界面指定查询条件,并执行相应的查询或修改操作,操作完毕后应使表单能够退出内存。具体来说,查询与与修改模块就是要实现以下功能目标:
(1)指定查询条件。图1所示的表单运行后,组合框Combo 1是一个下拉列表框,可以从其下拉列表项“科目编号”、“科目名称”、“借贷方向”、“期初余额”中任意选择其中一项,默认的选项为“科目名称”。同样,Combo 2也是一个下拉列表框,可以在其下拉列表中分别选择以下比较运算符:<、<=、=、==、>=、>、<>,默认的比较符选项为=。当从Combo 1下拉列表中选择“科目编号”、“科目名称”或“借贷方向”时,Text 2文本框隐藏,而Text 1文本框显示并获得焦点,对应的字符型数据可在Text 1文本框内输入;否则,当从Combo 1下拉列表中选择“期初余额”时,Text 1文本框隐藏,同时Text 2文本框显示并获得焦点,可将对应的数值型数据输入到Text 2文本框。这样,由Combo 1、Combo 2中选择的内容与Text 1或Text 2中指定的内容就构成了一个条件。
(2)进行查询或修改操作。表单运行后,表格Grid 1中起初并不顯示任何数据,只有单击“查询”按钮时,才将满足查询条件的全部记录显示在表格中,显示结果不允许修改,只有单击“修改”按钮后才能修改表格中显示的数据。焦点离开表格至再次单击“修改”按钮前,表格中的数据禁止被修改。
(3)退出。单击“退出”按钮,表单退出内存。
4 查询与修改模块功能的实现
4.1 “指定查询条件”功能的实现
4.1.1 定义表单的Load事件与Unload事件
表单的Load事件是表单对象建立之前引发的事件,而Unload事件则是表单对象释放时最后一个要引发的事件。可在表单的Load事件中使用Public声明含4个元素的数组xiangmu和含7个元素的数组bijiao,其中数组xiangmu各元素分别保存Combo 1下拉列表框中的待选项目,包括科目编号、科目名称、借贷方向、期初余额;数组bijiao各元素分别保存比较运算符,包括小于(<)、小于或等于(<=)、等于(=)、全等于(==)、大于或等于(>=)、大于(>)、不等于(<>)。另外,为使表单运行后能采用精确匹配方式进行字符串比较,还应在Load事件的开始添加set exact on语句。表单的Load事件的程序代码对应如下:
set exact on
public xiangmu(4),bijiao(7)
xiangmu(1)="科目编号"
xiangmu(2)="科目名称"
xiangmu(3)="借贷方向"
xiangmu(4)="期初余额"
bijiao(1)="<"
bijiao(2)="<="
bijiao(3)="="
bijiao(4)="=="
bijiao(5)=">="
bijiao(6)=">"
bijiao(7)="<>"
由于在Load事件中使用了set exact on语句,因而需要定义表单的Unload事件,并将其Unload事件的程序代码设置为set exact off,以便退出表单时将Visual FoxPro设置为默认的字符串比较方式。
如果在表单的Load事件中不包含set exact on语句,就表明程序中采用默认的set exact off方式进行字符串的比较,此时便不需要专门为表单的Unload事件设置相应的程序代码。但在采用set exact off方式进行字符串的比较运算时,只要关系表达式中比较运算符“=”、“<=”或“>=”右边的字符串与其左边字符串前面的部分内容相匹配,即可得到逻辑真
[摘 要]本文以会计科目的查询与修改操作为例,详细分析与探讨了利用Visual FoxPro设计与实施管理信息系统数据查询与修改模块的基本原理、方法和步骤,并提供了相应的程序代码。
[关键词]管理信息系统;会计科目;数据查询;数据修改;Visual FoxPro程序设计
doi:10.3969/j.issn.1673-0194.2009.13.001
[中图分类号]F232[文献标识码]A[文章编号]1673-0194(2009)13-0004-04
数据查询与修改操作是管理信息系统必不可少的基本操作,查询与修改模块则是管理信息系统中极其重要的功能模块。数据查询与修改处理的基本原理是:先提供查询条件,然后在数据表中查询符合条件的记录,再以只读方式显示出查询结果。如果只进行查询操作,则不允许对查询结果进行修改;如果要在所显示的查询结果中修改数据,则需要先将显示结果变为非只读方式,然后进行修改,待相关数据修改完毕后,仍需将显示结果再变为只读方式。本文以Visual FoxPro为关系数据库管理系统,以会计科目的查询与修改为例,分析与探讨管理信息系统数据查询与修改模块的实现方法。本文所提供的程序代码已通过上机验证。
1 数据表的结构
由于查询与修改操作是对相应数据表中的相关数据进行查询与修改处理,所以,必须首先弄清楚相应数据表的结构。假设会计科目相关信息保存在会计科目表中,会计科目表的数据结构如表1所示,其文件名为kjkm.dbf,存储在默认目录下。可以将会计科目表文件kjkm.dbf添加到相应的账务处理数据库中加以管理。
表单的下方是一个表格控件,设计该表格控件的步骤和方法是:①在“表单控件”工具栏选中“表格”控件,再在表单上适当的位置画一个大小适中的表格,其Name属性默认为Grid 1;②用鼠标右键单击Grid 1表格,再在弹出的快捷菜单中选择“生成器”,则出现表格生成器对话框,可在其“表格项”选项卡选择或设置此表格关联的数据表kjkm(或选择文件kjkm.dbf),并选定该表格关联的全部字段,再在“布局”选项卡将表格各栏对应的标题设定为图1中表格的标题,最后单击表格生成器的“确定”按钮即可。这样设置后,就为表单建立了数据环境,且数据环境设计器中对应的数据表就是kjkm,数据环境和kjkm数据表的Name属性分别为Dataenvironment和Cursor1。
3 查询与修改模块的功能目标
数据库或数据表中的数据量一般都比较大,无论是进行数据查询还是进行数据修改,都需要指定相应的查询或修改条件,再进行相应的操作。因此,要实现查询与修改功能,应能通过其表单界面指定查询条件,并执行相应的查询或修改操作,操作完毕后应使表单能够退出内存。具体来说,查询与与修改模块就是要实现以下功能目标:
(1)指定查询条件。图1所示的表单运行后,组合框Combo 1是一个下拉列表框,可以从其下拉列表项“科目编号”、“科目名称”、“借贷方向”、“期初余额”中任意选择其中一项,默认的选项为“科目名称”。同样,Combo 2也是一个下拉列表框,可以在其下拉列表中分别选择以下比较运算符:<、<=、=、==、>=、>、<>,默认的比较符选项为=。当从Combo 1下拉列表中选择“科目编号”、“科目名称”或“借贷方向”时,Text 2文本框隐藏,而Text 1文本框显示并获得焦点,对应的字符型数据可在Text 1文本框内输入;否则,当从Combo 1下拉列表中选择“期初余额”时,Text 1文本框隐藏,同时Text 2文本框显示并获得焦点,可将对应的数值型数据输入到Text 2文本框。这样,由Combo 1、Combo 2中选择的内容与Text 1或Text 2中指定的内容就构成了一个条件。
(2)进行查询或修改操作。表单运行后,表格Grid 1中起初并不顯示任何数据,只有单击“查询”按钮时,才将满足查询条件的全部记录显示在表格中,显示结果不允许修改,只有单击“修改”按钮后才能修改表格中显示的数据。焦点离开表格至再次单击“修改”按钮前,表格中的数据禁止被修改。
(3)退出。单击“退出”按钮,表单退出内存。
4 查询与修改模块功能的实现
4.1 “指定查询条件”功能的实现
4.1.1 定义表单的Load事件与Unload事件
表单的Load事件是表单对象建立之前引发的事件,而Unload事件则是表单对象释放时最后一个要引发的事件。可在表单的Load事件中使用Public声明含4个元素的数组xiangmu和含7个元素的数组bijiao,其中数组xiangmu各元素分别保存Combo 1下拉列表框中的待选项目,包括科目编号、科目名称、借贷方向、期初余额;数组bijiao各元素分别保存比较运算符,包括小于(<)、小于或等于(<=)、等于(=)、全等于(==)、大于或等于(>=)、大于(>)、不等于(<>)。另外,为使表单运行后能采用精确匹配方式进行字符串比较,还应在Load事件的开始添加set exact on语句。表单的Load事件的程序代码对应如下:
set exact on
public xiangmu(4),bijiao(7)
xiangmu(1)="科目编号"
xiangmu(2)="科目名称"
xiangmu(3)="借贷方向"
xiangmu(4)="期初余额"
bijiao(1)="<"
bijiao(2)="<="
bijiao(3)="="
bijiao(4)="=="
bijiao(5)=">="
bijiao(6)=">"
bijiao(7)="<>"
由于在Load事件中使用了set exact on语句,因而需要定义表单的Unload事件,并将其Unload事件的程序代码设置为set exact off,以便退出表单时将Visual FoxPro设置为默认的字符串比较方式。
如果在表单的Load事件中不包含set exact on语句,就表明程序中采用默认的set exact off方式进行字符串的比较,此时便不需要专门为表单的Unload事件设置相应的程序代码。但在采用set exact off方式进行字符串的比较运算时,只要关系表达式中比较运算符“=”、“<=”或“>=”右边的字符串与其左边字符串前面的部分内容相匹配,即可得到逻辑真