VFP查询系统实现技巧六则
用VFP6.0编写完整的应用程序时,查询系统往往是必不可少的一部分,开发一个优秀的查询系统需要大量的应用技巧。由于工作原因,作者经常开发查询系统模块。现在,我将个人编程中总结的一些技巧介绍给大家,希望对读者的应用开发有所帮助。
任务进度条的实现
在查询的过程中,如果有很多数据,用户需要等待,查询系统应该有进度条显示,这样系统才能更加规范。具体实现方法如下:
1.选择VFP系统菜单工具中的选项栏,会弹出选项窗口。单击窗口中的ActiveX控件栏,将任务进度条控件Microsoft进度条控件5.0版(SP2)添加到ActiveX工具箱中。
2.在表单控件的工具栏中选择“ActiveX控件”,将控件Microsoft进度条控件6.0版添加到查询的表单Form1中,并将其属性Max值设置为1000。
3.在数据查询程序代码后添加以下代码:
I = 1to 1000
for j = 1to 2000
j = j+1
end for
this form . ole control 1 . value = I
I = I+1
end for,0+64)
this form . release
clear events
通过该设置,如果查询需要较长时间,查询进度条会向用户显示查询任务的运行状态。
用宏命令实现组合查询
在组合查询中,通常会有很多组合项需要查询。如果每一项使用不同的变量,编程会非常繁琐。作者使用宏命令轻松实现了查询组合条件。具体实现方法是在查询按钮中添加以下代码:
本地cFilter,nCnt,cCondition
FOR nCnt = 1到此表单。control count
IF TYPE(' this form。控制(nCnt)。controlSource') "U" THEN
IF!空(THISFORM。控制(nCnt)。ControlSource)和;
键入(' THISFORM。控制(nCnt)。value)))“U”那么cCondition=THIS。Parent.parseCondition(THISFORM。控制(nCnt)。值,这种形式。控制(nCnt)。controlSource)
IF!empty(c condition)then
c filter = c filter+" and " c condition
endif
endif
end for
通过此设置,虽然有多个查询条件,但查询条件的组合
删除查询表中的空记录。
使用类查询(_dataquery.vcx)时,会在要查询的表的末尾自动插入一条空记录。但是,在实际的网格表显示中,我们不想显示空记录。下面是解决这个问题的详细步骤:
1.在主程序或窗体对象的Load事件中输入以下代码:
打开删除
2.在查询结束代码后输入以下代码:
这种形式。恢复精神
&&&&刷新表单
去底部
删除下一个1
&&&&因为当前表中增加了一条空记录,实际应用中应该删除。
这种形式。网格1 .列1.Setfocus
转到顶部
Thisform.grid1.refresh
& & & & &删除一条记录后,网格表要及时刷新。
位律师回复
0条评论