真诚求教:关于日期查询的小问题?

kxiangwei 2003-08-20 09:19:48
第一个问题:)
我的程序需要用SQL查询语句构造一个记录集ADORS,我使用以下代码
'########################
' ADORS在上文已经被正确定义了
Dim dat1 As Date
Dim t As String
t = "2003/03/30"
dat1 = CDate(t)
adoRS.Open "SELECT * FROM 电子公文表 WHERE 发文日期<=date() and 发文日期>= dat1", my_db, adOpenStatic, adLockReadOnly
'###########################
但是运行时总是提示“至少一个参数没有被指定值”,然后指示在构造语句。
当我把构造语句改成
adoRS.Open "SELECT * FROM 电子公文表 WHERE 发文日期<=date() ",my_db, adOpenStatic, adLockReadOnly
可以正常工作,请问为什么,如何解决能查询一个时间段的数据
...全文
31 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
富察咪咪 2003-08-26
  • 打赏
  • 举报
回复
还没解决吗?把发文日期子段的值贴上几条来
dary_zhou 2003-08-23
  • 打赏
  • 举报
回复
adoRS.Open "SELECT * FROM 电子公文表 WHERE cast(发文日期)<=date() and cast(发文日期)>= '" & dat1 & "'", my_db, adOpenStatic, adLockReadOnly
dxqylzg 2003-08-23
  • 打赏
  • 举报
回复
adoRS.Open "SELECT * FROM 电子公文表 WHERE 发文日期<=date() and 发文日期>= '" & dat1 & "'", my_db, adOpenStatic, adLockReadOnly
kxiangwei 2003-08-23
  • 打赏
  • 举报
回复
"发文日期"字段是字符类型。
csdngoodnight 2003-08-22
  • 打赏
  • 举报
回复
另:
adoRS.Open "SELECT * FROM 电子公文表 WHERE 发文日期 BETWEEN '" & Date & "' and '" & dat1 & "'", my_db, adOpenStatic, adLockReadOnly
didishu0807 2003-08-22
  • 打赏
  • 举报
回复
AA=date()
BB=#2003-3-30#
rs.Open "SELECT * FROM 电子公文表 WHERE 发文日期 between ('" & AA & "') and ('" & BB & "')", ADO_Cnn, adOpenKeyset, adLockOptimistic
csdngoodnight 2003-08-22
  • 打赏
  • 举报
回复
发文日期字段是什么类型数据?

仅稍微改动一下,不知道行不行:

adoRS.Open "SELECT * FROM 电子公文表 WHERE 发文日期<= '" & Date & "' and 发文日期>= '" & dat1 & "'", my_db, adOpenStatic, adLockReadOnly


另:
adoRS.Open "SELECT * FROM 电子公文表 WHERE 发文日期 BETWEEN " & "'" & Date & "' and " & "'" & dat1 & "'", my_db, adOpenStatic, adLockReadOnly
kxiangwei 2003-08-22
  • 打赏
  • 举报
回复
怎么解决,急!急!急!
iiboy 2003-08-22
  • 打赏
  • 举报
回复
adoRS.Open "SELECT * FROM 电子公文表 WHERE 发文日期<=date() and 发文日期>= dat1", my_db, adOpenStatic, adLockReadOnly
将这一句改为:
adoRS.Open "SELECT * FROM 电子公文表 WHERE 发文日期<=date() and 发文日期>=" & t, my_db, adOpenStatic, adLockReadOnly

富察咪咪 2003-08-22
  • 打赏
  • 举报
回复
发文日期是什么类型的,使用什么格式(在ACCESS建一个查询看一下日期的格式是否和dat1的格式相同),如果格式不相同需要FORMAT一下。
xingnup 2003-08-22
  • 打赏
  • 举报
回复
应该改成
adoRS.Open "SELECT * FROM 电子公文表 WHERE 发文日期<=date() and 发文日期>= '" & dat1 & "'" , my_db, adOpenStatic, adLockReadOnly

若是Access数据库还应该加上 "#"
adoRS.Open "SELECT * FROM 电子公文表 WHERE 发文日期<=date() and 发文日期>= '#" & dat1 & "#'" , my_db, adOpenStatic, adLockReadOnly
kxiangwei 2003-08-20
  • 打赏
  • 举报
回复
非常遗憾:给我的修改都不好用!
我使用的是ACCESS数据库。
我试过:直接定义日期,还是提示相同的错误!
'########################
' my_db,ADORS在上文已经被正确定义了
Dim dat1 As Date

dat1 = 2003-3-30
adoRS.Open "SELECT * FROM 电子公文表 WHERE 发文日期<=date() and 发文日期>= dat1", my_db, adOpenStatic, adLockReadOnly
'###########################

但是如果改成:
adoRS.Open "SELECT * FROM 电子公文表 WHERE 发文日期<=date() and 发文日期>= 2003-3-30", my_db, adOpenStatic, adLockReadOnly
可以运行,然而不论将2003-3-30改成什么日期,查询结果都是一样的(按照我数据库中的“发文日期”数据,这是不可能的),只能解释为“and 发文日期>= 2003-3-30”没有起任何作用。
怎么解决,急!急!急!
victorycyz 2003-08-20
  • 打赏
  • 举报
回复
同意“不要把变量写到字符串里边.”的观点。

我只是觉得奇怪,为什么要先定义一个字符串变量,再Cdate()转换一下?直接赋值到日期型变量不就行了。
chuting1 2003-08-20
  • 打赏
  • 举报
回复
SELECT * FROM 电子公文表 WHERE 发文日期<=date() and 发文日期>= "'"&date() and ...
tanyx 2003-08-20
  • 打赏
  • 举报
回复
帮你up
射天狼 2003-08-20
  • 打赏
  • 举报
回复
把这句话

adoRS.Open "SELECT * FROM 电子公文表 WHERE 发文日期<=date() and 发文日期>= dat1", my_db, adOpenStatic, adLockReadOnly

改成

adoRS.Open "SELECT * FROM 电子公文表 WHERE 发文日期<=date() and 发文日期>= '" & dat1 & "'", my_db, adOpenStatic, adLockReadOnly

不要把变量写到字符串里边.
射天狼 2003-08-20
  • 打赏
  • 举报
回复
把这句话

adoRS.Open "SELECT * FROM 电子公文表 WHERE 发文日期<=date() and 发文日期>= dat1", my_db, adOpenStatic, adLockReadOnly

改成

adoRS.Open "SELECT * FROM 电子公文表 WHERE 发文日期<=date() and 发文日期>= '" & dat1 & "'", my_db, adOpenStatic, adLockReadOnly

不要把变量写到字符串里边.
zmrok 2003-08-20
  • 打赏
  • 举报
回复
你把Dim dat1 As Date这句改为
dim dat1 as string 就可以了
zmrok 2003-08-20
  • 打赏
  • 举报
回复
你把Dim dat1 As Date这句改为
dim dat1 as string 就可以了
chao778899 2003-08-20
  • 打赏
  • 举报
回复
adoRS.Open "SELECT * FROM 电子公文表 WHERE 发文日期<=date() and 发文日期>='"& dat1&"'"
加载更多回复(1)

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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