测试代码段如下:
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-16sql语句在单acess中和vb不传参的时候都能通过,但是当我想利用传参来弄的时候就无论如何通不过了。恳请大家帮忙,高分。
解决方案 »
- Optional ByVal paramDockingOffset As Long = 0& 后面那个&是什么意思?
- 我在vb6下创建了一个yh.dll,其中有一个函数aa(int n),请问在别的vb6程序中如何调用这个函数?
- 赋值表达式问题,请大家帮忙看看
- 关于“无法关闭程序...”的问题
- 如何用VB实现RS232的串行口通信,在线
- VB前台+SQL SERVER后台,连接
- toolbar控件的问题
- 关于Procedure和Function
- 有什么工具或办法将 封装在DLL中的VB代码 反编译出来, 得到里面的源代码. 高手们指教指教~~
- 我痛、我恨、我痛恨!!!
- 在VB中如何用SQL語言查詢EXCEL表中的數
- 已知窗体句柄,向指定窗体发送按键怎么写?
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了