2017-08-31 70 views
0

在我們的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. 

如果這是訪問的限制,這是沒有問題,我們還可以忍受。但是,我們寧願不再創建子表單對象。有沒有人找到解決這個問題的方法?

回答

1

我見過的麻煩改變計數字段

爲了不改變計數,重複字段名稱:

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

我的道歉,我沒有正確鍵入我的代碼在我們的問題。是的,我們知道這一點,我們的代碼確實可以解決這個問題。錯誤仍然與您在答案中給出的邏輯一致。 –

+0

好的。我沒有看到這種行爲,但會說它不應該發生。您可以嘗試使用另一個(較新的本機)ODBC驅動程序,或者用逗號替換分號分隔符。 – Gustav