1.问题的提出
我有少量的数据需要取回,并用它们填充一个列表框或组合框的显示。针对这个任务,我想使用一个通用例程,以便在我的应用程序里重复使用。
2.实现技术
在VB3.0以及更早的版本里,必须将这种例程使用的代码放置于一个标准模块里。而在VB5里,则需将这种例程放置到一个类模块里。类模块用于定义应用程序里所有对象使用的进程。在一个标准的模块里,应包括不专门用于任何对象的进程。用它们包含对API函数的任何引用。
我们准备设计的例程并不复杂,它的作用是基于列表的控件里显示信息,比如列表框和组合框等。从本质上说,该例程将成为一个电子文档系统数据访问对象(DAO),可在其他应用程序里重新使用它;或成为商业对象的一部分,亦即OLE自动服务器,可由企业范围内的任何应用程序使用。
3.实现步骤
打开并运行项目文件CNTLFILL.VBP,随后会出现那样的表单。组合框收到输入焦点后,将填充来自Hotel表格的旅馆名称。为使组合框收到输入焦点,可通过两种途径实现:直接用鼠标待机,或 Tab键顺次抵达它。组合框每次收到焦点的时候,都会发出多Hotels表格的请求。并用旅馆名称填充组合框的显示。为退出程序,请按OK。
(1)启动Visual Basic,创建一个新项目。将该项目另存为CNTLFILL.VBP.之后,选择默认表单Forml,将其命名为frmHotelListing,用CNTLFILL.FRM这个名称保存该表单。
(2)在Form Load事件插入下述代码。表单载入的时候,这个事件会创建对象CDateOBject的实例。该对象将在本疑难解答的后面部分定义。如遇到错误,错误会被改正,并通过Error子例程显示出来。
(3)在Form Unload事件里插入下述代码。表单卸载的时候,会中断在Form Load里为对象CDateObjects创建的引用,并且结束应用程序的运行。如遇到错误,错误会被改正,并通过Error子例程显示出来。
(4)将下述代码分配给cboHotels Got Focus(即Hotels组合框的“获得输入焦点”事件)。应用程序的输入焦点集中到组合框以后,会利用Select SQL语句执行CDataObject里定义的Fill Control方法,用旅店名称填充组合框。
(5)将下述代码插入CDataObject的Class Terminate(类中止)事件。这个事件会关闭在Class Initialize进程打开的、用于对象变量的RDO环境。关闭了RDO环境以后,与之相关的所有连接和结果集都会同时关闭。
(6)将下述公共方法添加到CDataObjects模块。通过这个方法,能用请求的信息填充以列表为基础的控件。添加任何信息以前,控件首先会清除自己的所有内容。在传递给这个进程的SQL查询基础上,将创建rdoResultset。对这个RDO结果集对象进行了处理以后,会用相应的信息填充选定。完成后,将控件的List Index属性设为第一条记录。注意,这个方法使用了Para Array(参数数组)自变量。因此,我们可以根据自己的意愿提供任意数量的自变量。通过Para Array传递的信息包括准备在控件内显示的数据列的名称
关于TeamDoc软件:
TeamDoc是基于服务器/客户端架构的轻量级文件管理软件。TeamDoc将文件集中加密存储在您单位自己的服务器中,员工使用TeamDoc客户端访问服务器,从而获得与自己权限相关的权限:登入后与“我的电脑”界面类似,可以看到自己该看的文件,编辑自己能编辑的文档,对于能看到的文件,还可以细分文档权限,进而做到能看不能拷,能看不能截屏等功能,多种权限灵活设置,在线协同编辑、全文搜索、日志与版本追踪,快速构建企业文档库。告别假大空,我们提供值得您选择的、易用的、可用的文档管理软件。现在就访问TeamDoc首页
TeamDoc软件界面(点击可放大)
版权所有:南京网亚计算机有限公司,本文链接地址: 载入带查询电子文档系统结果的一个列表或组合框