如何正确执行查询日期?

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
可以运行,但结果不正确,无记录。
请大虾给予解决,谢谢!
...全文
68 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
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=?

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧