潍坊华安保险招聘:应用宏命令实现组合查询

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 05:51:06
应用宏命令实现组合查询

  在组合查询中,需要查询的组合项通常很多,如果每项都使用不同的变量,编程会非常烦琐。笔者使用宏命令轻松实现查询组合条件,具体实现的方法是在查询按钮里加入如下代码:

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
E□□□OR
  通过这样的设置,虽然有多个查询条件,但查询的组合条件为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表