Private function tblExit(str as string) as boolean
on error resume next
Dim db As Database
Dim rs As Recordset
Set db = OpenDatabase("F:\download\ENGINE3\gz.mdb", False, False)
Set rs = db.OpenRecordset("line", dbOpenTable)
tblExit = false
if err.number=3011 then tblExit=true
End function

解决方案 »

  1.   

    1.adox 
    2.ado 2.5
      

  2.   

    Microsoft® ActiveX® Data Objects Extensions for Data Definition Language and Security (ADOX) 是对 ADO 对象和编程模型的扩展。ADOX 包括用于模式创建和修改的对象,以及安全性。由于它是基于对象实现模式操作,所以用户可以编写对各种数据源都能有效运行的代码,而与它们原始语法中的差异无关。ADOX 是核心 ADO 对象的扩展库。它显露的其他对象可用于创建、修改和删除模式对象,如表格和过程。它还包括安全对象,可用于维护用户和组,以及授予和撤消对象的权限。要通过开发工具使用 ADOX,需要建立对 ADOX 类型库的引用。对 ADOX 库的说明为“Microsoft ADO Ext. for DDL and Security.”。ADOX 库文件名为“Msadox.dll”,程序 ID (ProgID) 为“ADOX”。有关建立库引用的详细信息,请参阅开发工具的文档。用于 Microsoft Jet Database Engine 的 Microsoft OLE DB Provider 完全支持 ADOX。取决于数据提供者,某些 ADOX 的功能可能不被支持。有关 Microsoft OLE DB Provider for ODBC、Microsoft OLE DB Provider for Oracle 或 Microsoft SQL Server OLE DB Provider 的被支持功能的详细信息,请参阅 ADOX 自述文件。
      

  3.   

    如何正确使用VB6访问Access2000数据库(转帖)
     
    好多朋友在用VB6开发基于Access的数据库时,如果用Access97,那一般不会有什么问题,无论使用基本数据控件、RDC、DAO还是ADO,只需按照一般方法就可以很方便的连接到MDB文件。可是,如果你用Access2000,问题可能会出现--电脑告诉你无法识别数据库格式!为什么呢?
    遇到这种情况,一般会有两种情况。
    如果你想用Data Control,那笔者建议还是放弃吧,它对Access2000的数据库支持的不好,或者说基本不支持,所以,请考虑DAO或ADO。
    如果你用DAO或ADO,那请先检查你的Visual Basic 6的版本,如果你没有安装过Visual Studio SP3,那请赶快安装吧!SP3会将你的ADO升级到2.0版本以上;同时,安装Office 2000后,ODBC中的许多数据库驱动程序也会被升级,Microsoft Access的驱动程序将升级到4.0--这些可是通过ODBC连接Access2000数据库的基本保障啊。
    前面所讲述的情况是基于Windows 9x和Windows NT的,假使你已安装了Windows 2000,那么恭喜你,你的ODBC已经是最新版本了(比在WIndows NT 4.0 + SP4 + Office2000还要新!)。你只要在编程是注意以下事项即可以正确连接到Access2000的MDB了。
    以ADO为例,我们添加Microsoft ADO Data Control 6.0 (OLEDB)和Microsoft DataGrid Control 6.0 (OLEDB)控件到工程。我们使用OLEDB直接连接到数据库,其中关键是ADO的参数设定:
    ADO的ConnectString中的Data Source当然是你的数据库的路径,Provider是最重要的,你必须写Microsoft.Jet.OLEDB.4.0。4.0是重点,只有它才可以让你成功访问Access2000!
    如果使用ODBC,那只要Microsoft Access Driver的版本在4.00.xxxx以上,应该没有问题的。
    如果你用ADODB对象,那可以照以下代码写:
    Dim adoRS as New ADODB.Recordset
    Dim strConn As String
    Dim strSQL As String
    Dim strDataFile As String
    Dim strTableName As String
    strConn = "Data Source=" & strDataFile & ";Provider=Microsoft.Jet.OLEDB.4.0"
    '其它参数可以根据情况选用
    strSQl = "Select & from " & strTableName
    adoRS.Open strSQl, strConn
    ...
    adoRS.Close
    Set adoRS=Nothing
    以上的示例是直接打开数据库,无须任何DSN。
    现在你该可以自如地使用VB6访问Access2000数据库了。小屠最后还要建议大家:抛弃Data Control、RDO或DAO吧,ADO才是我们的最佳选择--无论你访问本机、网络数据库,ADO都是最快捷、安全的选择! 
     
      

  4.   

    引用 Microsoft ADO Ext. 2.6 for DDL and SecurityOption ExplicitPrivate Sub Form_Load()
        Test
    End SubSub Test()    Dim cat     As New ADOX.Catalog
        Dim i       As Integer
        
        cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:db1.mdb"
        
        For i = 0 To cat.Tables.Count - 1
            Debug.Print cat.Tables(i).Name
        Next i
       Set cat = NothingEnd Sub