Office中国论坛/Access中国论坛

标题: ADO 如何引用带参数的查询? [打印本页]

作者: zerk    时间: 2006-10-20 18:31
标题: ADO 如何引用带参数的查询?
查询如下:<查询名: 考勤表查询>

select * from 考勤表 WHERE (((DateValue([年] & "-" & [月] & "-" & [日])) Between [forms]![修改考勤]![开始时间] And [forms]![修改考勤]![结束时间]));


想用ado引用时出错:

Dim ARecordset as New ADODB.Recordset

ARecordset.Open "select * from 考勤表查询 , CurrentProject.Connection, adOpenDynamic, adLockOptimistic

结果出错显示

       运行时错误 '-2147217904 (80040e10)

       至少一个参数没有被指定值




请高手指教这句应该如何写?   

谢谢
作者: wwwwa    时间: 2006-10-20 19:00
你的查询在ACCESS中是可以的,在ADO中用要PARAMETER将参数传递进去。

1、VFP示例

oCmd=CREATEOBJECT("ADODB.Command")
      oCmd.ActiveConnection=oConn
      oCmd.CommandText="SELECT * FROM Customers WHERE Country=? AND CustomerID=?"  参数化查询命令
      oCmd.Parameters.Append(oCmd.CreateParameter("cCountry",129,1,10,"Brazil"))  直接为cCountry指定了参数值Brazil
      oCmd.Parameters.Append(oCmd.CreateParameter("cCustomerID",129,1,10)) 未指定
      参数值oCmd.Parameters("cCustomerID")="FAMIA" 指定cCustomerID的参数值
      oRs=oCmd.Execute()

2、建议用VBA动态生成SQL语句。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3