全部博文(788)
分类:
2009-04-22 11:00:58
'where str(日期)>='+#39+datetimetostr(DateTimePicker2.date)+#39+' and str(日期)<='+#39+datetimetostr(DateTimePicker3.date)+#39+'
---------
修改一下就OK了
Where DATEDIFF("d", 订购日期, '++#39+datetimetostr(DateTimePicker2.date)+#39+') <= 0
And DATEDIFF("d", 订购日期, '++#39+datetimetostr(DateTimePicker3.date)+#39+') >= 0
对不起,多了一个加号
Where DATEDIFF("d", 订购日期, '+#39+datetimetostr(DateTimePicker2.date)+#39+') <= 0
And DATEDIFF("d", 订购日期, '+#39+datetimetostr(DateTimePicker3.date)+#39+') >= 0
好象答非所问了,我说的是这一句:
adoquery1.sql.add('where str(日期)>='+#39+datetimetostr(DateTimePicker2.date)+#39+' and str(日期)<='+#39+datetimetostr(DateTimePicker3.date)+#39+' order by 日期');
是啊, 你按我的修改你这条语句
adoquery1.sql.add('where str(日期)>='+#39+datetimetostr(DateTimePicker2.date)+#39+' and str(日期)<='+#39+datetimetostr(DateTimePicker3.date)+#39+' order by 日期');
..............修改
adoquery1.sql.add('Where DATEDIFF("d", 订购日期, '+#39+datetimetostr(DateTimePicker2.date)+#39+') <= 0
And DATEDIFF("d", 订购日期, '+#39+datetimetostr(DateTimePicker3.date)+#39+') >= 0 order by 日期');
还是不会改,你是不是可以帮我改一下,这儿先谢谢了
好吧.:):)
procedure TForm4.BitBtn1Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.ConnectionString:=('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=zysb.mdb;Persist Security Info=False');
adoquery1.sql.add('select 日期 as Tdate,姓名 as Tname,积休事由 as jxsy,积休天数 as ts');
adoquery1.sql.add(' from jxj');
adoquery1.sql.add('Where DATEDIFF("d", 订购日期, '+#39+datetimetostr(DateTimePicker2.date)+#39+') <= 0
And DATEDIFF("d", 订购日期, '+#39+datetimetostr(DateTimePicker3.date)+#39+') >= 0 order by 日期');
if adoquery1.Recordcount=0 then
showmessage('报表中没有可用数据!')
else
RvProject1.Execute;
end;
肯定是转换的格式不正确,不用DateTimeToStr 使用FormateDateTime试试看
谢谢sanmaotuo(老冯);问题解决了,能不能把"DATEDIFF("d", 订购日期, '+#39+datetimetostr(DateTimePicker2.date)+#39+') <= 0"解释一下,我看不懂,这个"d"是什么东东.
还有我的为什么不对!
可以.其实你不用数据库就能测试出你的问题.
你把DateTimePicker2.date设置为今天(2006-12-6) 然后
你比较一下 '2006-12-31' 和 datetimetostr(DateTimePicker2.date)
看看结果,是不是很意外? 居然'2006-12-31' < datetimetostr(DateTimePicker2.date)
为什么呢? 因为datetimetostr(DateTimePicker2.date) = '2006-12-6 20:02:35'
而 -6 > -31
比较字符串的顺序是
2-->2
0-->0
0-->0
6-->6
1-->1
2-->2
6-->3!!!!!!!
从左到右
噢,谢谢
不客气.:):)
高手
强烈鄙视问题解决后不结贴的人!
强烈鄙视技术问题解决后把贴子转移到非技术区的人!
鄙视你们!
对不起,我不知道怎么结帐?!
我的帖子--->管理--->