2014-01-22 62 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