做Aceess开发,使用的驱动为Microsoft.Jet.OLEDB.4.0,在大部分的机器上能正确运行,但在某些机器上运行的时候报错,说不支持此接口执行的代码如下
           Dim cat As New ADOX.Catalog
           cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\NavTech" + Format(Now, "yyyymmdd") + ".mdb"
           Set cat = Nothing当程序执行到cat.Create的时候,报如下错误Run-time error '-2147467262(80004002)':不支持此接口此机器已经安装了Acess2003,也安装了mdac2.8。如何解决?

解决方案 »

  1.   

    2001年java大版内专家分第一哦
      

  2.   

    Catalog根本没有Create方法,是你杜撰出来的
      

  3.   

    说错了可能是".\"的问题
       Dim cat As New ADOX.Catalog
       cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\new.mdb"
    是没问题的
      

  4.   

    不是杜撰出来的啦,这个是SqlServer自动生成的源代码,而且这程序编译后在大部分的机器上可以正确的运行,但在很少的一部分电脑上执行就报错了。
      

  5.   

    第一次见,没用过,没安装VB,不知道是不是
    我一般用 App.Path表示当前目录
      

  6.   

    cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\NavTech" & Format(Now, "yyyy-mm-dd") & ".mdb" 
      

  7.   

    Format有没有yyyymmdd这种格式我也不知道,这里没安装MSDN
    一般日期的格式在控制面版里面能找到
      

  8.   

    问题是我在大部分的电脑上都可以正确的执行,在个别的电脑上执行就报错。回家啦
    明天再看了
    感谢getemail的帮助
      

  9.   

    是不是电脑的长日期格式或短日期格式不一致引起的,我是胡猜的,不用客气
    或者ADOX的问题
      

  10.   

    我改成下面的代码,还是一样的报错,说不支持此接口cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\NavTech" + Format(Now, "yyyymmdd") + ".mdb"
      

  11.   

    cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\new.mdb"
    也报错么?
    如果报,就不是代码的问题
    这是我从微软帮助里复制的
      

  12.   

    太晚了,走了,感谢getemail
    明天再测试了
      

  13.   

    getemail和气多了!为getemail顶一个
      

  14.   

    Catalog 不熟悉,建议还是用connection 吧~
    Public Cn As New ADODB.Connection
    Public Sub Main()
        Cn.ConnectionString = "Provider=microsoft.jet.oledb.4.0;data source=E:\Access DB\Database1.mdb;"
        If Cn.State <> ADODB.ObjectStateEnum.adStateClosed Then Cn.Close
        Cn.Open
    End Sub