2014-01-22 67 views
1

我將Access 2003數據庫遷移到Access 2010.沒有對任何VBA子例程或函數進行重大更改。訪問2003年導入規格在訪問2010年不工作

我們的一些利用導入規格執行ETL任務的子例程不起作用。經過一番挖掘,我注意到在v2003中創建的導入規格未出現在v2010 Saved Imports菜單中。

我以爲他們根本沒有繼續v2010,我需要重新創建規格。當我通過Import Text Wizard,並點擊Advanced - >Specs...,我注意到在v2003中創建的規格實際上是,其中列出了。但是,這無濟於事,因爲它們在VBA中引用時不起作用。

有誰知道如何讓v2010「識別」在v2003中創建的規格?

回答

1

好吧,我想通了。

有一列在MSysIMEXspecs系統表名爲SpecType。該系統表包含對所有保存的導入規格的引用。

在v2003中創建的v2010中未生效的規格全部列在此表中,但它們在此字段中的值爲2。我在v2010中創建的一個新測試版僅用於測試,其值爲1

我將v2003規格的值翻轉爲1,然後可以從VBA子功能中引用它們。

編輯:this鏈接我瞭解到,在SpecType表,1意味着delimited2意味着fixed