关于access的。高分请教

ziffle 2004-10-18 04:18:41

测试代码段如下:
Private Sub Form_Load()
Dim str As String
dim conn as new adodb.connection
Dim rst As New ADODB.Recordset

str = "select a.水表号,b.表上数字-a.表上数字 as 水耗 from 水表抄表信息 a inner join 水表抄表信息 b on a.水表号=b.水表号 where a.记录日期=#2004-10-15# and b.记录日期=#2004-10-16#"
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=H:\ÎÊ\µç±í.mdb;Persist Security Info=True"
conn.Open
rst.CursorLocation = adUseClient
rst.Open str1, conn

If ExecuteSQL(str, rst) = True Then
Set DataGrid1.DataSource = rst
End If
End Sub
'*****************************************************************************************以上代码没有问题,但是如果我想用传递参数的方法,把str中的#2004-10-15#和#2004-10-15#分别作为参数,如何做,为何我的老是出错,错误提示:至少一个参数没有传入,看我代码
private sub form_load()
dim dt_begin as date
dim dt_end as date
dt_begin=#15/10/2004#
dt_end=#16/10/2004#
str="select a.水表号,b.表上数字-a.表上数字 as 水耗 from 水表抄表信息 a inner join 水表抄表信息 b on a.水表号=b.水表号 where a.记录日期=dt_begin and b.记录日期=dt_end"
............(其他代码相同,其实,这里的dt_begin,dt_end也是做演示用的,真正程序中的应该是让用户选择的)
end sub
‘*******************************************************************************
access 数据库中的表“水表抄表信息”如下
流水号 水表号 表上数字 抄录时间
1 1 200 2004-10-15
2 2 400 2004-10-15
3 1 500 2004-10-16
4 2 1000 2004-10-16
每天晚上都会抄录的,测试查16号一天1表走水数字 和2号走水数字,结果应为
水表号 走水数字 日期
1 300 2004-10-16
2 600 2004-10-16

sql语句在单acess中和vb不传参的时候都能通过,但是当我想利用传参来弄的时候就无论如何通不过了。恳请大家帮忙,高分。
...全文
143 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodstudyup 2004-10-19
  • 打赏
  • 举报
回复
时间上加特殊符号,然后变量必须用&&连接就是了,还有我发现的一个问题就是连接变量的时候&&之间必须有空格
sunmoonn 2004-10-19
  • 打赏
  • 举报
回复
你设
dt_begin="15/10/2004"
dt_end="16/10/2004"
再用
//Leftie(左手,为人民币服务)
str="select a.水表号,b.表上数字-a.表上数字 as 水耗 from 水表抄表信息 a inner join 水表抄表信息 b on a.水表号=b.水表号 where a.记录日期=#" & dt_begin & "# and b.记录日期= & "# dt_end & "#"

的方法就OK了


常遇道 2004-10-19
  • 打赏
  • 举报
回复
同意1楼
starsoulxp 2004-10-19
  • 打赏
  • 举报
回复
同意1楼
AKillGodKillBuddha 2004-10-19
  • 打赏
  • 举报
回复
同意1楼
pweixing 2004-10-18
  • 打赏
  • 举报
回复
楼上正解!用 “& 变量 &” 就可以了
饮水需思源 2004-10-18
  • 打赏
  • 举报
回复
str="select a.水表号,b.表上数字-a.表上数字 as 水耗 from 水表抄表信息 a inner join 水表抄表信息 b on a.水表号=b.水表号 where a.记录日期=#" & dt_begin & "# and b.记录日期= & "# dt_end & "#"

1,217

社区成员

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

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