用的是ADODC控件么,应该是可以的。比如:
With Me.myADODC
.ConnectionString = myCnnString
.RecordSource = strSQL
.Refresh'要刷新
End With Me.Caption = "Records found: " & Me.myADODC.Recordset.RecordCount
With Me.myADODC
.ConnectionString = myCnnString
.RecordSource = strSQL
.Refresh'要刷新
End With Me.Caption = "Records found: " & Me.myADODC.Recordset.RecordCount
Dim rs As New ADODB.Recordset
Source = "select * from breakrecords where prname like '钱*'"
cn.Open "POLICE"
rs.Open Source, cn
MsgBox rs.RecordCount以上几条语句能运行但是显示却是-1,此SQL语句在库中运行时是找到了3条
记录,问题在哪里呢?
rs.CursorType = adOpenDynamic
rs.LockType = adLockOptimistic
rs.open .....
象limit(梦锦)提到的,不同的CursorType,LockType会影响对Recordset的操作。
如果rs.CursorType = adOpenDynamic,你还要运行rs.MoveLast,rs.MoveFirst才能拿到数目;
adOpenKeyset和adOpenStatic可以直接拿到数目;
不指定的话,缺省值是adOpenForwardOnly,返回-1
但是我不知道程序怎样获得SQL的结果,有人能告诉我吗?
Dim rs As New ADODB.Recordset
rs.Open "表名", cn, adOpenStatic, adLockOptimistic
Dim rs As New ADODB.Recordset
Source = "select count(*) from breakrecords where prname like '钱*'"
rs.Open Source, cn
If rs.EOF=false Then
msgbox rs.field(0).value
End if
rs.close
set rs=nothing
rs.CursorType = adOpenDynamic
rs.LockType = adLockOptimistic
rs.open "select * from XXX表 where 字段名=条件表达式",cn
rs.movelast
rs.movfirst
msgbox rs.recordcount'就为满足条件的记录条数