访问2003导入规范在Access 2010中不起作用

时间:2014-01-22 15:00:34

标签: vba ms-access import access-vba etl

我将Access 2003 DB迁移到Access 2010.没有对任何VBA子例程或函数进行重大更改。

使用导入规范执行ETL任务的几个子例程不起作用。经过一番挖掘后,我注意到v2003中创建的导入规格没有出现在v2010 Saved Imports菜单中。

我认为他们根本没有延续到2010年,我需要重新制作规格。当我通过Import Text Wizard执行此操作时,点击了Advanced - > Specs...,我注意到在v2003中创建的规范 在那里列出了。但是,这没有任何帮助,因为它们在VBA中引用时不起作用。

有谁知道如何让v2010“识别”在v2003中创建的规格?

1 个答案:

答案 0 :(得分:1)

好的,我明白了。

MSysIMEXspecs 系统表中有一列名为SpecType。此系统表包含对所有已保存导入规范的引用。

在v2003中创建的在v2010中无效的规范都列在此表中,但在此字段中它们的值为2。我在v2010中为测试创建的新规范在此处的值为1

我将v2003规范的值翻转为1,然后可以从VBA子/函数中引用它们。

修改:从this链接我了解到,在SpecType表中,1表示delimited2表示{ {1}}。