主题:求教:在一定的时间内查询组合框里的内容?
yin710
[专家分:0] 发布于 2010-04-03 17:12:00
各位老师好:想学一定的时间内查询组合框里的内容。在一个表单上,有一个时间段text1,text2和一个组合框combol。在text1和text2输入想查询的时间后,再选择组合框的内容,就能查询数据表里的受时间段和组合框限制的数据。
用这个代码
SELECT 数据表
tj="地址='"+ALLTRIM(thisform.container1.combo1.displayvalue)+"'and 日期='"+ALLTRIM(BETWEEN(thisform.container1.text1.value and thisform.container1.text2.value))"'";
SELECT * from 数据表 where &tj into table 临时表
提示参数太少。
谢谢
最后更新于:2010-04-04 16:17:00
回复列表 (共5个回复)
沙发
Gleam [专家分:3100] 发布于 2010-04-04 16:25:00
假设你combo1是按单位查询,给它起名gcunit
text1是起始时间,起名gtuptime
text2是结束时间,起名gtdntime
LOCAL gcunit, gtuptime, gtdntime
gcunit=THISFORM.unitlist.DISPLAYVALUE
gtuptime=THISFORM.txtuptime.VALUE
gtdntime=THISFORM.txtdntime.VALUE
SELECT distinct * FROM (THISFORM.DATAENVIRONMENT.cursor1.ALIAS);
INTO CURSOR gndatatemp WHERE ;
BETWEEN(TTOD(kqwtbook.ttime),gtuptime,gtdntime) AND ;
IIF(ALLTRIM(gcunit)=="全部", .T. ,ALLTRIM(archives.unit)==ALLTRIM(gcunit));
ORDER BY unit
IIF(ALLTRIM(gcunit)=="全部", .T. ,ALLTRIM(archives.unit)==ALLTRIM(gcunit))的作用是来设定查询的是某个单位还是所以单位。可以用additem()来添加。
板凳
yin710 [专家分:0] 发布于 2010-04-06 16:30:00
gleam老师,里有很多提示找不见得代码。数据表在那里呢?谢谢
3 楼
qjbzjp [专家分:8830] 发布于 2010-04-06 18:43:00
BETWEEN()函数用法不正确。先试试下面的代码,有问题再自己修改一下:
tj="地址="+ALLTRIM(thisform.container1.combo1.displayvalue)+"and "+ALLTRIM(BETWEEN(DTOC(日期),thisform.container1.text1.value ,thisform.container1.text2.value))
4 楼
sywzs [专家分:5650] 发布于 2010-04-07 08:31:00
BETWEEN()函数的写法不正确。试试下面的代码。
tj="地址='"+ALLTRIM(thisform.container1.combo1.displayvalue)+"'and BETWEEN(日期,CTOD('"+ALLTRIM(thisform.container1.text1.value)+"'),CTOD('"+ALLTRIM(thisform.container1.text2.value)+"'))"
或者
tj="地址='"+ALLTRIM(thisform.container1.combo1.displayvalue)+"'and BETWEEN(日期,{^"+ALLTRIM(thisform.container1.text1.value)+"},{^"+ALLTRIM(thisform.container1.text2.value)+"})"
5 楼
yin710 [专家分:0] 发布于 2010-04-08 08:31:00
两位老师好,我用了并修正,但提示函数不对、语法错误等,我真的很难把语句正确
我来回复