尝试将VBA与FileMaker连接(运行时错误80004005)

时间:2014-05-14 09:39:23

标签: sql vba odbc filemaker

我真的不知道我在这里做错了什么。我想通过ODBC驱动程序将VBA与FileMaker Pro 11连接。我安装了驱动程序,它的工作原理。 FileMaker ODBC能够检测我的数据库。因此,在配置名为“FM”的DSN后,我编写了以下代码:

Private Sub Form_Load()

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim counter As Integer

    Set cn = New ADODB.Connection
    Set rs = New ADODB.Recordset

    cn.Open "DRIVER={FileMaker ODBC};Data Source=FM;Initial Catalog='test.fp7';UID=admin;PWD=admin;"
    cn.CursorLocation = adUseClient
    sql = "SELECT col_name FROM test.fp7 WHERE col_name='value'"
    rs.Open sql, cn

    For Each it In rs.Fields
        Name = it.Value
        ActiveSheet.Range("A1").Value = Name
    Next
End Sub

这是最奇怪的事情:当我执行代码时,它建立与服务器的连接,但数据库(初始目录='test.fp7')没有设置。相反,在变量检查器中,它的名称为't',即'test.fp7'的第一个字母。我用其他名称('other_test.fp7')对此进行了测试,并再次使用第一个字母'o'。因此,记录集指令失败,运行时错误80004005.为什么只需要第一个字母?拜托,我完全震惊了!

我还配置了一个MySQL数据库来测试VBA和MySQL之间的通信,并使用类似的代码。

任何帮助都会受到好评。提前谢谢!

大卫

--------编辑--------

我在sql查询中忘记了分号...孩子失败了。没关系,用分号将错误更改为“运行时错误80040e09”。

0 个答案:

没有答案