从字符串转换为 datetime 时发生语法错误 的问题

lixiuchen 2010-08-15 01:42:04
我是用ACCESS链接SQL的表,表中的日期为DATETIME类型,格式类似2010:01:01 00:00:00,我在窗体上加了两个控件分别为TXTBEGDATE,TXTENDDATE,用来填入日期,通过按钮来改变窗体里的一个子窗体的数据源,以达到查询的目的,代码如下:

dim begindate as date
dim enddate as date
dim sql as string

begindate=txtbegdate.value ‘控件里的格式为:2010-01-01
enddate=txtenddate.value

sql="select * from v_413 where shdate>=begindate and shdate<= enddate"
me.subform.form.recordersource=sql

.................

执行到这里就提示:从字符串转换为 datetime 时发生语法错误

我把sql="select * from v_413 where shdate>=2010-01-01",就没有问题,这里的条件只要换成变量有这个提示,

请问各位,这是什么问题?问题出在哪里?


...全文
132 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhishouzhetian88 2010-09-21
  • 打赏
  • 举报
回复
头晕呀....
完美算法 2010-09-21
  • 打赏
  • 举报
回复
sql="select * from v_413 where shdate>='2010-01-01'"
ACMAIN_CHM 2010-08-19
  • 打赏
  • 举报
回复
ACCESS数据库以#来标识日期类型

sql="select * from v_413 where shdate>=#" & begindate & "# and shdate<= #" & enddate & "#"
lixiuchen 2010-08-16
  • 打赏
  • 举报
回复
有什么办法能解决这个问题呢?
在ACCESS里没有DATETIME类型
用以下这样的方法也行不通
dim begindate as date
dim sql as string

begindate=now()
msgbox begindate '这里显示的格式为:2010:01:01 00:00:00
sql="select * from v_413 where shdate>= begindate "

**********************************************************

lixiuchen 2010-08-16
  • 打赏
  • 举报
回复
原来是少了个引号.
ql="select * from v_413 where shdate>=begindate and shdate<= '"& enddate &"'"


hahaxiaoa 2010-08-16
  • 打赏
  • 举报
回复
dim begindate as date
dim sql as string

begindate=date
msgbox begindate '这里显示的格式为:2010:01:01 00:00:00
sql="select * from v_413 where shdate>= #" & begindate & "#"
hahaxiaoa 2010-08-16
  • 打赏
  • 举报
回复
把now() 换成 date()

7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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