如何正确执行查询日期?

sgap 2003-04-06 10:20:06
我使用VB+ACCESS数据库,其中使用ADO连接时,发现日期查询无结果,请各位高手帮忙:

表名为tblDepaCM,出港日期在表中定义为短时间型
exit_date=formatdatetime(text1.text,vbShortDate)

str_sql = "select * from tblDepaCM" _
where 出港日期 between " & "#" & exit_date & "# and #03-3-20#"
adoPrimaryRS.CursorLocation = adUseClient
adoPrimaryRS.Open str_sql, db, adOpenDynamic, adLockOptimistic
Debug.Print adoPrimaryRS.RecordCount
可以运行,但结果不正确,无记录。
请大虾给予解决,谢谢!
...全文
45 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sxs69 2003-04-06
你查一下你系统日期格式是2003-还是03-
str_sql = "select * from tblDepaCM where 出港日期 between #" & exit_date & "# and #2003-3-20#"
回复
sgap 2003-04-06
我让exit_date数据为#00-2-13#,是00年数据时有结果,为#02-3-15#时,结果为零记录。请问是什么原因。上诉语句执行均无语法错误。
回复
sgap 2003-04-06
哦,是我写的不对,不过改成下面写法后系统仍然无结果
str_sql = "select * from tblDepaCM where 出港日期 between #" & exit_date & "# And #03-3-20#"

回复
chenyu5188 2003-04-06
str_sql = "select * from tblDepaCM where 出港日期 between #" & exit_date & "# And #03-3-20#"
回复
sxs69 2003-04-06
str_sql = "select * from tblDepaCM _
where 出港日期 between #" & exit_date & "# and #03-3-20#"
回复
sgap 2003-04-06
我已经改好了,估计是2000问题,在查询字符串里比较一下日期,修改如下:
if year(text1)>2000 then
str_sql = "select * from tblDepaCM where 出港日期 between #20" & exit_date & "# and #2003-3-20#"
else
str_sql = "select * from tblDepaCM where 出港日期 between #" & exit_date & "# and #2003-3-20#"
系统就可以查询了。
多谢各位指导。

回复
sxs69 2003-04-06
定义为string试试
回复
sgap 2003-04-06
还是转换不成2003-3-4格式,我的exit_date 定义为date型,是这里的问题吗?
回复
sxs69 2003-04-06
exit_date=format(text1.text,"yyyy-m-d")
回复
sgap 2003-04-06
系统日期格式是是03-,我想改成2003-,请问如何设置calendar控件的dataformat?
即calendar1.dataformat=?
回复
相关推荐
发帖

1187

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2003-04-06 10:20
社区公告
暂无公告