MS Access SubForm - ODBC调用失败在VBA中更改“LinkFields”

MS Access SubForm - ODBC调用失败在VBA中更改“LinkFields”

问题描述:

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

例如,默认情况下,链接字段将如下:

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. 

如果这是访问的限制,这是没有问题,我们还可以忍受。但是,我们宁愿不再创建子表单对象。有没有人找到解决这个问题的方法?

我见过的麻烦改变计数字段

为了不改变计数,重复字段名称:

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

我的道歉,我没有正确键入我的代码在我们的问题。是的,我们知道这一点,我们的代码确实可以解决这个问题。错误仍然与您在答案中给出的逻辑一致。 –

+0

好的。我没有看到这种行为,但会说它不应该发生。您可以尝试使用另一个(较新的本机)ODBC驱动程序,或者用逗号替换分号分隔符。 – Gustav