测试代码段如下:
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不传参的时候都能通过,但是当我想利用传参来弄的时候就无论如何通不过了。恳请大家帮忙,高分。

解决方案 »

  1.   

    str="select a.水表号,b.表上数字-a.表上数字 as 水耗 from 水表抄表信息 a inner join 水表抄表信息 b on a.水表号=b.水表号 where a.记录日期=#" & dt_begin & "# and b.记录日期= & "# dt_end & "#"
      

  2.   

    楼上正解!用 “& 变量  &” 就可以了
      

  3.   

    你设
    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了
      
     
      

  4.   

    时间上加特殊符号,然后变量必须用&&连接就是了,还有我发现的一个问题就是连接变量的时候&&之间必须有空格