| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1403 人关注过本帖
标题:[求助]请问为什么我按时间查询的结果和实际的不符合啊
只看楼主 加入收藏
伶伶320
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-7-26
收藏
 问题点数:0 回复次数:14 
[求助]请问为什么我按时间查询的结果和实际的不符合啊
大家好,我想请问一下为什么我按时间查询的时候,明明查询的是07/01/05到07/31/05的记录,出来的却还包括了07/01/06-07/31/06的记录啊?
代码如下:case thisform.check2.value=1
sdate=thisform.text2.value
edate=thisform.text3.value
if empty(sdate)
messagebox('请输入起始时间!',48,'操作失败!')
thisform.text2.setfocus
else
if empty(edate)
messagebox('请输入结束时间!',48,'操作失败!')
thisform.text3.setfocus
else
thisform.grid1.recordsource="select *from wuyemanage!fahuo;
where between(时间,sdate,edate);
order by fahuo.时间;
Into Table C:\临时表"
go top
if eof()
go bottom
messagebox('无此记录!',48,'信息窗口')
cx=1
endif

endif
endif
搜索更多相关主题的帖子: thisform 结果 edate empty messagebox 
2006-08-09 09:46
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:0 
检查TEXT2和TEXT3是不是日期格式

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2006-08-09 17:49
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
收藏
得分:0 

另外建议注意日期格式,最好把Centry设置为ON,把Date设置为ANSI


题外话:不知道您拿出来的是不是完整的代码,怎么只见Case语句,不见Do Case和EndCase语句?

[此贴子已经被作者于2006-8-10 11:51:55编辑过]


两人行已有我师……
2006-08-10 11:47
伶伶320
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-7-26
收藏
得分:0 

我拿来的,不是完整的代码哦
我想请问下,怎么把TEXT2和TEXT3改成日期格式啊?在属性里面改吗?

2006-08-11 11:19
linwm
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2006-7-18
收藏
得分:0 
text控件改成日期格式最简单的办法是:

右击控件,选择builder菜单,在format页中更改data type为date。

2006-08-11 11:33
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
收藏
得分:0 
楼上的还是是最简单的,最简单的办法是把控件的默认值设置为Date(),在表单设计时在属性窗口搞定。

两人行已有我师……
2006-08-11 12:12
伶伶320
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-7-26
收藏
得分:0 

晕啊,我已经把格式改了啊,可是查询07/01/05-07/31/05的记录出来的还是包括06年7月份的啊
呜呜.哪位可以帮帮我啊

2006-08-11 13:01
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
收藏
得分:0 
我试了一下这条命令,没问题:
thisform.grid1.recordsource="select * from hr!zy ;
where between(入职时间,ThisForm.text1.value,ThisForm.text2.value);
order by 入职时间 into cursor temp1"
说明,Text1 和 Text2 的默认值为系统当前日期,日期格式为ANSI,CENTRY为ON

两人行已有我师……
2006-08-11 14:33
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:0 
下面的代码测试通过,如果还不满足你的要求的话,我就怀疑你的时间这个字段是不是日期型的啦
(1)在表单的初始化部分(FORM1.INIT)
*先打开表(代码略)
THISFORM.GRID1.COLUMNCOUNT=-1
THISFORM.GRID1.RECORDSOURCE="FAHUO" &&你的表的内容显示在GRID1中
THISFORM.TEXT2.VALUE={}
THISFORM.TEXT3.VALUE={}
(2)在查询命令按钮中(COMMAND1.CLICK)
sdate=thisform.text2.value
edate=thisform.text3.value
if empty(sdate)
messagebox('请输入起始时间!',48,'操作失败!')
thisform.text2.setfocus
else
if empty(edate)
messagebox('请输入结束时间!',48,'操作失败!')
thisform.text3.setfocus
else
SET FILTER TO BETWEEN(时间,SDATE,EDATE) &&用SET FILTER取代SELECT-SQL
GO TOP
endif
endif
THISFORM.REFRESH

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2006-08-11 17:24
fown
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:58
帖 子:1229
专家分:171
注 册:2005-5-26
收藏
得分:0 
以下是引用啸凡在2006-8-11 12:12:12的发言:
楼上的还是是最简单的,最简单的办法是把控件的默认值设置为Date(),在表单设计时在属性窗口搞定。

你的也不是最简单的,其实设成日期型,直接将期VALUE={}就可以了


有人说VFP不行了,我想说,你连VFP十分之一的功能都不会用,你怎么知道VFP不行?本人拒绝回答学生的问题我回答问题一般情况下只提供思路不提供代码,请理解
2006-08-11 18:05
快速回复:[求助]请问为什么我按时间查询的结果和实际的不符合啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019041 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved