在模块中的语句为:Public Sub OpenConn() '连数据库
     Set cn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    cn.CursorLocation = adUseClient
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\data\data.mdb;Jet OLEDB:Database Password=123;Persist Security Info=False;"'关数据库
Public Sub CloseConn()
    cn.Close
    Set cn = Nothing
End Sub请问下怎么才能把这封装成DLL.

解决方案 »

  1.   


    '新建立工程
    '选择 ActiveX DLL
    '这时就是一个工程:
    '默认情况下是有一个Class1的类
    '引用相应的库文件.
    '你的这个是Microsoft ActiveX Data Objects X.XX Library
    '在类中写入以下代码dim cn as ADODB.Connection 
    dim rs as ADODB.Recordset 

    Public Sub OpenConn(byval FileName as string) '连数据库 
        Set cn = New ADODB.Connection 
        Set rs = New ADODB.Recordset 
        cn.CursorLocation = adUseClient     cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filename & ";Jet OLEDB:Database Password=123;Persist Security Info=False;" '关数据库 
    Public Sub CloseConn() 
        cn.Close 
        Set cn = Nothing 
    End Sub 

    '最后,点击文件=>生成工程1.dll
      

  2.   

    那大哥,我这个做好后要其他代码来连接这个DLL吗.
      

  3.   

    当然了,一样的要去引用.而且如果你真的要封装,你还要增加两个属性.
    返回rs 的.
    不然,你打开了数据库,不能返回数据库的内容.
    让其为一个公共的或改变为属性.
    public rs as ADODB.Recordset 
      

  4.   

    那你说要做个什么样的DLL吧.
    封装后的要些什么功能.
      

  5.   

    dim cn as ADODB.Connection 
    public rs as ADODB.Recordset 
                    
    Public Sub OpenConn(byval FileName as string) '连数据库 
        Set cn = New ADODB.Connection 
        Set rs = New ADODB.Recordset 
        cn.CursorLocation = adUseClient     cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filename & ";Jet OLEDB:Database Password=123;Persist Security Info=False;" '关数据库 
    Public Sub CloseConn() 
        cn.Close 
        Set cn = Nothing 
    End Sub                     
         
    '这样就行了.      
      

  6.   

    这样封装起来,引用DLL文件后我该再做什么呢!
      

  7.   

    那就可以调用他的方法啊.比如:Dim A1 as new 类(这个类就是你DLL里面的类名)打开数据库a1.OpenConn("你要打开的数据库名")a1.CloseConn'关闭数据库a1.rs (对数据库进行操作)
      

  8.   

    加我QQ:767146882(注明CSDN_DLL) 帮你解决。