求一条关于VB与ACCESS系统SQL语句

来源:百度知道 编辑:UC知道 时间:2024/07/02 02:05:29
语句如下,窗体上有2个dtpicker控件。d_dt为ACCESS数据库JKL表dproj的时间日期型。
Set rs = New ADODB.Recordset
rs.Open "select * from dproj where d_dt between '" & Trim(DTPicker2.Value) & "' and '" & Trim(DTPicker3.Value) & "'", con, 1, 1
结果出错了,提示是实时错误'-2147217913 (80040e07)':标准表达式中数据类型不匹配。请求帮助,谢谢!
我把SQL语句改成这样错误也是一样的。
rs.Open "select * from dproj where D_DT between '2000-01-01 00:00:00' and '2009-12-31 00:00:00'", con, 1, 1
d_dt的格式设置的是常规日期

我改成这样也不行啊!
rs.Open "select * from dproj where D_DT between '#" & Trim(DTPicker2.Value) & "#' and '#" & Trim(DTPicker3.Value) & "#'"

在ACCESS中写#包含日期数据时不要加单引号:

rs.Open "select * from dproj where D_DT between #" & Trim(DTPicker2.Value) & "# and #" & Trim(DTPicker3.Value) & "#"

数据库中你的ddt字段应该是日期类型的吧,那么你的sql语句就不能用文本的方式添加,所以出现了类型不匹配的错误
access中添加日期要用#
d_dt between '#trim(dtpicker2.value)#'
要这样的方式才可以添加日期的内容

rs.Open "select * from dproj where D_DT between #2000-01-01# and #2009-12-31#", con, 1, 1
'2000-01-01 00:00:00' 必须format成''2000-01-01'

应该只加井号,不需要那个单引号吧。。