【问题标题】:MS Access SubForm - ODBC Call Failed changing "LinkFields" in VBAMS Access SubForm - ODBC 调用在 VBA 中更改“LinkFields”失败
【发布时间】:2017-08-31 17:34:15
【问题描述】:

在我们的 MS Access 数据库中,我们有一个具有一个 RecordSource 的子表单,但我们通过更新 VBA 中的“LinkMasterFields”和“LinkChildFields”属性来更改数据在其中的显示方式。

例如,链接字段默认如下:

Me.subfrmOurSubForm.LinkMasterFields = "Field1;Field2"
Me.subfrmOurSubForm.LinkChildFields = "Field1;Field2"

然后我们让用户可以选择通过运行 VBA 代码来更改数据在子表单中的显示方式:

Me.subfrmOurSubForm.LinkMasterFields = "Field3;Field2"
Me.subfrmOurSubForm.LinkChildFields = "Field3;Field2"

当我们使用 Access 表时,这段代码可以完美运行,但由于我们迁移到 SQL Server 并且现在拥有 OBDC 链接表,因此在尝试运行上述代码时,我们会收到以下 VBA 运行时错误:

ODBC--call failed.

如果这是 Access 中的限制,那很好,我们可以忍受。但是,我们宁愿不再创建子表单对象,而不是必须这样做。有没有人找到解决这个问题的方法?

【问题讨论】:

    标签: sql-server vba ms-access odbc


    【解决方案1】:

    我发现更改字段的计数时遇到了麻烦。

    要不更改计数,请复制字段名称:

    Me.subfrmOurSubForm.LinkMasterFields = "Field3;Field3"
    Me.subfrmOurSubForm.LinkChildFields = "Field3;Field3"
    

    【讨论】:

    • 我很抱歉,我没有在我们的问题中正确键入我的代码。是的,我们知道这一点,我们的代码确实处理了这一点。您在答案中给出的逻辑仍然会引发错误。
    • 好的。我还没有看到这种行为,但会说它不应该发生。您可以尝试使用另一个(较新的本机)ODBC 驱动程序,或者用逗号替换分号分隔符。
    猜你喜欢
    • 1970-01-01
    • 2015-07-14
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2013-03-17
    • 2014-10-29
    • 2017-07-02
    • 1970-01-01
    相关资源
    最近更新 更多