本帖最后由 huanghhh4 于 2009-11-21 21:50:09 编辑

解决方案 »

  1.   

    rs.files("sid")这句在哪?
    在你给定的代码中没找到呢。
    问问题要讲究方法,贴这么一堆代码,错误代码还未在其中
      

  2.   

    Rs.MoveLast
    Form5.Label11.Caption = Val(Rs.Fields("sid")) + 1
    对不起,说错了。错误是在这个
    说:提示是对象关闭时,操作不被允许
      

  3.   

    Rs.MoveLast
    没有记录了吧~~~
      

  4.   

    class1里面
    Public Sub yuJu(sql)
        Dim cn As New ADODB.Connection, Rs As New ADODB.Recordset
        cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\rifeng\data\db1.mdb;Persist Security Info=False"
        cn.Open
        Rs.CursorLocation = adUseClient
        Rs.Open sql, cn, 3, 1
        Rs.MoveLast
        Form5.Label11.Caption = Val(Rs.Fields("sid")) + 1
        
    End Sub
      

  5.   

    或者有类中那个构造函数和折构函数
    private sub class_initialize()'构造函数
    end sub
    private sub class_terminate()'折构函数
    end sub
      

  6.   

    你传进去的是一个update的代码,现在要取出值需要传一个select开头的sql进去啊况且你的class1里面直接操作form5里面的label,这个也不符合设计
      

  7.   

    在类中,你可以定义函数返回值,如下所示:
    Public Function yuJu(DataFile As String,sql As String) As Long 
    Dim cn As New ADODB.Connection, Rs As ADODB.Recordset 
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DataFile & ";Persist Security Info=False" 
    cn.CursorLocation = adUseClient 
    cn.Open 
    Set Rs=cn.Execute(sql)'sql必须是合法的Select查询语句
    Rs.MoveLast 
    yuJu= Val(Rs.Fields("sid")) + 1     
    End Function