任务进度条的实现
在查询的过程中,如果数据较多,需要用户等待时,查询系统中应有进度条加以显示,才能使系统更加具有规范性。具体实现方法如下:
1.选择VFP的系统选单“工具”中“选项”条,弹出“选项”窗口,在窗口中点击“ActiveX控件”栏,添加任务进度栏控件Microsoft ProgressBar Control Version5.0(SP2)至ActiveX工具箱中。
2.选定表单控件工具栏中“ActiveX控件”,添加控件Microsoft ProgressBar Control Version6.0至查询的表单Form1中,并设置其属性Max值为1000。
3.将下列代码添加到数据查询程序代码之后:
for i=1 to 1000
for j=1 to 2000
j=j+1
endfor
thisform.olecontrol1.value=i
i=i+1
endfor
messagebox('数据查询完毕,OK!',0+64)
thisform.release
clear events
通过这样的设置,在查询时如果时间较长,查询进度条会为用户显示查询任务的运行情况。
应用宏命令实现组合查询
在组合查询中,需要查询的组合项通常很多,如果每项都使用不同的变量,编程会非常烦琐。笔者使用宏命令轻松实现查询组合条件,具体实现的方法是在查询按钮里加入如下代码:
LOCAL cFilter,nCnt,cCondition
FOR nCnt = 1 to THISFORM.ControlCount
IF TYPE('THISFORM.Controls(nCnt).controlSource') <> "U" THEN
IF !EMPTY(THISFORM.Controls(nCnt).ControlSource) AND ;
TYPE('THISFORM.Controls(nCnt).value') <> "U" THEN cCondition=THIS.Parent.parseCondition(THISFORM.Controls(nCnt).value,THISFORM.Controls(nCnt).controlSource)
IF !EMPTY(cCondition) THEN
cFilter = cFilter + " AND " cCondition
ENDIF
ENDIF
ENDIF
ENDFOR
通过这样的设置,虽然有多个查询条件,但查询的组合条件为cFilter,以后的应用只要对cFilter进行处理即可。
删除查询表中的空记录
使用类查询(_dataquery.vcx)时,会在待查询表中的最后自动插入一条空记录,而在实际的GRID表格显示中,我们是不希望将空记录显示出来的。下面是解决此问题的详细步骤:
1.在主程序或Form对象的Load事件输入以下代码:
SET DELETE ON
2.在查询结束代码后输入以下代码:
Thisform.Refresh
&&&&刷新表单
go bottom
delete next 1
&&&&因为当前表被添加了一个空记录,在实际应用中应删除掉
Thisform.Grid1.Column1.Setfocus
go top
Thisform.grid1.refresh
&&&&删除一条记录后,应及时地刷新GRID表
【VFP查询系统实现技巧六则】相关文章:
中国大地保险公司实习报告03-23
2023年广东梅州中考成绩查询时间及查分入口[7月7日起]03-23
2021湖北黄冈市浠水县基层医疗卫生机构专项招聘医务人员资格审查公告03-23
生态护坡技术创新措施论文03-23
2018湖南省农村信用社联合社招聘科技专业人才拟聘公告03-23
2020年高级会计师《高级会计实务》知识点:社会融资方式03-23
计算机应用技术英语简历范文大全03-23
党员四风问题自查材料03-23
关于大暑的作文:大暑(六)_550字03-23
初中学校德育课程整合实施探究03-23
