我在模块中定义了这个通用的记录集
Option Explicit
Public db As Database, db2 As Database, rs1 As Recordset, rs2 As Recordset, qr As QueryDef, qr2 As QueryDef
Public myrs As Recordset我再把一个窗体里查询到的记录进行赋值
却会报错
Private Sub Form_Load()
Dim a
Dim i As Integer
Dim rs As New ADODB.Recordset   '写入数据库是OK的
Dim cn  As New ADODB.Connection
Dim strCn As String, strSQL As String
    strCn = "Provider=sqloledb;server=.;Database=sxcpmc;Uid=sa;Pwd=;"
    cn.Open strCn   
    rs.Open "select  *  from user1", cn, adOpenKeyset, adLockOptimistic  
    myrs = rs   这句会报错“属性的使用无效”
MsgBox "OK,打开了记录集"

解决方案 »

  1.   

    myrs = rs 这句会报错“属性的使用无效”Set myrs = rs
      

  2.   

    记录集不能直接等
    需要set一下。
    Set myrs = rs
      

  3.   


    改为Set myrs = rs  它又提示类型不对??真是不知道怎么回事了??
      

  4.   

    部件使用混乱,不要即用dao又用ado并且代码中Public myrs As Recordset,无法辨别是dao的还是ado的Recordset建议,要么使用ado,要么使用dao,不要混用,去掉一个引用
      

  5.   

    Set myrs = rs前,先
    dim myrs
      

  6.   

    要想全局使用,那么就要定义全局变量或对象.
    把recordset放到模块中定义,那样就能所有窗体都可见了