set mrc =new adodb.recordset

解决方案 »

  1.   

    Set mrc = ExecuteSQL(txtSQL, MsgText)这句你虽然希望得到recordset,但是可能由于你的ExecuteSQL(txtSQL, MsgText)函数中没有用set ... = new ...分配,所以返回仍是空。
    你应该检查你的函数。此贴似乎以前贴过,问题仍没解决吗?我记得原贴中已经讨论的很彻底了。
      

  2.   

    Dim mrc As ADODB.Recordset 后面加上
    Set mrc=New ADODB.Recordset
      

  3.   

    楼上两位说的对,你没有语句set mrc=new adodb.recordset.
      

  4.   

    ExecuteSQL:他是一个函数还是方法,他没有对象来执行他。假如时函数调试他就可以了。
      

  5.   

    Set mrc = ExecuteSQL(txtSQL, MsgText) 
    这句话错误,如果ExecuteSql是自己定义的函数,那么它的返回值将赋给rs,那它的返回值应该是recordset类型的。
      如果executesql不是自函数,那么应该是 con.execute (sql)其中con是adodb.connection对象。
      

  6.   


    最好把这句都加上.Set mrc=New ADODB.Recordset一般如果没有这句.如果写上Option Explicit这句是会出错的.
      

  7.   

    ExecuteSQL,自定义的吧。
     MsgText是空串啊!
     mrc未初始化
     Set mrc = ExecuteSQL(txtSQL, MsgText) '若,返回有记录,mrc会自动初始化
      

  8.   

    Dim mrc As new ADODB.Recordset
      

  9.   

    你只是申明了mrc 却没有实例化啊
    set mrc= new adodb.recordset就行了
    或者直接dim mrc as new adodb.recordset肯定就没问题了
    祝你成功!
      

  10.   

    改成 Dim mrc as new adodb.recordset.
    错误提示:实时错误:“3704”如果对象已关闭,则不允许执行应用程序所要求的操作。
      

  11.   

    mrc对象中没有记录时会出现这个错误,你可加以下语句:
    On Error Resume Next
      

  12.   

    只改成 Dim mrc as new adodb.recordset自然不行。你应该将mrc按引用(byref)传递给ExecuteSQL函数,再在函数中open recordset。检查一下你的ExecuteSQL函数中open的是不是mrc(即是否mrc.open或set mrc=connection.open),若是,检查是否在函数体内使用了mrc.close或set mrc=nothing。
      

  13.   

    对不起,没看清你是用Set mrc = ExecuteSQL(txtSQL, MsgText) 返回recordset。不传递recordset参数也可以。
    你最好把ExecuteSQL函数贴出来。
    另外:建议你用Watch(Local)调试窗口监视你的recordset对象,哪里有错会一目了然。
      

  14.   

    dim  mrc=new adodb.recordset
    set mrc=nothing
    mrc.cursor..=aduserserver
    mrc.open txtsql,连接数据库,3,2
      

  15.   

    如果ExecuteSQL函数的返回值是ADODB.Recordset,则可以不要
    Dim mrc as new adodb.recordset语句,
    如果函数的返回值不是ADODB.Recordset类型,则出错,
    可以用下面方法捕捉错误:
    On Error Resume Next'添加在函数头Err.Clear
    ......
    If (mrc Is Nothing) Then'Error
        Debug.Print Err.Number & vbCrLf & Err.Description
        Exit Sub
    Else'Success
    ......
    End If
    ......
      

  16.   

    同意楼上,你的函数的问题,EXECUTESQL
    或许把MCR定义为全局变量就可以了。
      

  17.   

    Set mrc=New ADODB.Recordset
    动态的。---------------------------------------------------------
    Montaque==Digitalboy==Houyongfeng==Monkey