VFP查询系统实现方法大全
来源:优易学  2010-1-15 19:35:19   【优易学:中国教育考试门户网】   资料下载   IT书店

  现将个人编程中总结的一些技巧介绍给大家,希望对读者的应用开发有所帮助。

  任务进度条的实现

  在查询的过程中,如果数据较多,需要用户等待时,查询系统中应有进度条加以显示,才能使系统更加具有规范性。具体实现方法如下:

  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进行处理即可。

  删除查询表中的空记录

[1] [2] [3] 下一页

责任编辑:cyth

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训