.....
Dim Rs1 As New ADODB.Recordset
sYmd 为日期字符串,例如"2004-05-02"
cFindStr = "Ymd=#" & sYmd & "# And Id=" & mIdex(II)
Rs1.MoveFirst
Rs1.Find cFindStr'运行至此报错
.....
报错:
实时错误‘3001’:
参数类型不正确,或不在可以接受的范围内,或与其他参数冲突。
高手指点。
Dim Rs1 As New ADODB.Recordset
sYmd 为日期字符串,例如"2004-05-02"
cFindStr = "Ymd=#" & sYmd & "# And Id=" & mIdex(II)
Rs1.MoveFirst
Rs1.Find cFindStr'运行至此报错
.....
报错:
实时错误‘3001’:
参数类型不正确,或不在可以接受的范围内,或与其他参数冲突。
高手指点。
俺声明了Dim cFindStr as string
Ymd为日期类型,Id加单引号试了还是报上述错误,还有其他方法吗。
mIdex(II)便能顺利执行(结果有可能不正确),
cFindStr = "Ymd=#" & sYmd & "#"
Rs1.MoveFirst
Rs1.Find cFindStr
If Rs1.AbsolutePosition > 0 And Not Rs1.EOF Then
Rs1.Find "Id=" & mIdex(II)
.....
是否Find不支持多条件查询,高手指点。
有其他方法实现上述查询吗?
, mConn, 1, 3这是一个多表,多条件的,通过测试
是用Conn.Execute还是rs.Open “...”?请指教。
原因是效率不高,因为其内部也是先根据用户设置的条件转换为SQL语句再执行,所以还是推荐直接使用SQL语句来执行查询!!
方法:rs.open "SELECT * FROM TABLENAME WHERE NAME = '" & TEXTNAME.TEXT & "'",CN
UseConnstr = "Provider=Microsoft.Jet.OLEDB.4.0;" & UseMdb
Conn.Open UseConnstrRs1.CursorLocation = adUseClient
UseTable1 = cTable 'Êý¾Ý±í
Rs1.Open UseTable1, Conn, adOpenKeyset, adLockPessimistic
Rs1.MoveFirst
For II = 1 To AllIndex
Rs1.Open "Select * from " & cTable & "where Ymd=#" & sYmd _
& "# And Id=" & mIdex(II)
sName(II) = Trim(rs1.Fields("name").Value)
Next
楼上的,这样执行提示错误:
对象打开时,不允许操作。
是不是不用事先建立连接,直接定义:
Dim Conn As New ADODB.Connection
Dim Rs1 As New ADODB.Recordset即可。
Dim Rs1 As ADODB.Recordsetset conn=new adodb.connenction
set rs1=new adodb.recordset
UseMdb = "Data Source=" & MdbName
UseConnstr = "Provider=Microsoft.Jet.OLEDB.4.0;" & UseMdb
Conn.Open UseConnstrRs1.CursorLocation = adUseClient
For II = 1 To AllIndex
Rs1.Open "Select * from " & cTable & "where Ymd=#" & sYmd _
& "# And Id=" & mIdex(II)
sName(II) = Trim(rs1.Fields("name").Value)
Next
Rs1.Open "Select * from " & cTable & "where Ymd=#" & sYmd _
& "# And Id=" & mIdex(II)'运行此处提示:连接无法用于此
操作。在上下文中他可能已被关闭或无效。楼上的再看一看,是啥原因? sName(II) = Trim(rs1.Fields("name").Value)
Next
dim cn as adodb.connection
dim rs as adodb.recordset
set cn=new adodb.connection
set rs=new adodb.recordsetrs.open SQL语句,...........
rs.execute SQL语句
判断id号取值(幸好数据行只有几千行),有空再实施各位提供的方法。