谢谢大家,请大家再出出主意,可我的参考书上写的十分笼统,好多内容一带而过根本没有细讲,不过我还是再看看书吧;另外请问cxmcxm,假如我这么写set filter to 考勤统计表.学号=allt(thisform.pageframe1.page1.text1.value) and 考勤统计表.姓名=allt(thisform.pageframe1.page1.text2.value) and 考勤统计表.周次=val(allt(thisform.pageframe1.page1.text3.value))对吗?有什么用的不妥的吗?
给你一个例子吧!自己慢慢忖度! *复合查找方式 howfind=[] findwhat1=[ ] findwhat2=[ ]findvalue1=alltrim(ThisForm.text1.value) findindex1=thisform.combo1.listindex do case case findindex1=1 findwhat1=[(findvalue1 $ str(表单编号))] case findindex1=2 findwhat1=[(findvalue1 $ 合同注释)] case findindex1=3 findwhat1=[(findvalue1 $ 装船口岸)] case findindex1=4 findwhat1=[(findvalue1 $ 目的地)] case findindex1=5 findwhat1=[(findvalue1 $ 货品名称)] endcase *当选中选项按钮 if ThisForm.Optgroup.value<>0 *复合查找方式 howfind=iif(ThisForm.Optgroup.value=1,[ .and. ],[ .or. ])
findvalue2=alltrim(ThisForm.text2.value) findindex2=thisform.combo2.listindex do case case findindex2=1 findwhat2=[(findvalue2 $ 表单编号)] case findindex2=2 findwhat2=[(findvalue2 $ 合同注释)] case findindex2=3 findwhat2=[(findvalue2 $ 装船口岸)] case findindex2=4 findwhat2=[(findvalue2 $ 目的地)] case findindex1=5 findwhat1=[(findvalue1 $ 货品名称)] endcase endif *查找结果放入临时表中 dbfname=alltrim(dbf()) && 打开的数据库名 findsentence=[select * from ]+dbfname+[ where ]+findwhat1+howfind++findwhat2+[ into cursor tempdbf order by 表单编号] * wait window findsentence ThisForm.grid.recordsource=findsentence if _tally=0 &&_tally变量代表当前select命令处理过的记录数 ??chr(7) =messagebox("没有相匹配的记录!",64,"找不到!") endif ThisForm.grid.refresh
*复合查找方式
howfind=[]
findwhat1=[ ]
findwhat2=[ ]findvalue1=alltrim(ThisForm.text1.value)
findindex1=thisform.combo1.listindex
do case
case findindex1=1
findwhat1=[(findvalue1 $ str(表单编号))]
case findindex1=2
findwhat1=[(findvalue1 $ 合同注释)]
case findindex1=3
findwhat1=[(findvalue1 $ 装船口岸)]
case findindex1=4
findwhat1=[(findvalue1 $ 目的地)]
case findindex1=5
findwhat1=[(findvalue1 $ 货品名称)]
endcase
*当选中选项按钮
if ThisForm.Optgroup.value<>0
*复合查找方式
howfind=iif(ThisForm.Optgroup.value=1,[ .and. ],[ .or. ])
findvalue2=alltrim(ThisForm.text2.value)
findindex2=thisform.combo2.listindex
do case
case findindex2=1
findwhat2=[(findvalue2 $ 表单编号)]
case findindex2=2
findwhat2=[(findvalue2 $ 合同注释)]
case findindex2=3
findwhat2=[(findvalue2 $ 装船口岸)]
case findindex2=4
findwhat2=[(findvalue2 $ 目的地)]
case findindex1=5
findwhat1=[(findvalue1 $ 货品名称)]
endcase
endif
*查找结果放入临时表中
dbfname=alltrim(dbf()) && 打开的数据库名
findsentence=[select * from ]+dbfname+[ where ]+findwhat1+howfind++findwhat2+[ into cursor tempdbf order by 表单编号]
* wait window findsentence
ThisForm.grid.recordsource=findsentence
if _tally=0 &&_tally变量代表当前select命令处理过的记录数
??chr(7)
=messagebox("没有相匹配的记录!",64,"找不到!")
endif
ThisForm.grid.refresh