Ms access MS Access 2013:自动跳过导入列(如果尚未在预先存在的表中)

Ms access MS Access 2013:自动跳过导入列(如果尚未在预先存在的表中),ms-access,Ms Access,Access中一个非常恼人的问题是,当使用导入向导导入CSV文件时,如果CSV中有一列不是要导入到的表中的字段,则会出现错误并关闭导入。如果源文件不在现有表中,它应该提供一个选项来跳过源文件中的列。是的,如果从源文件创建新表,它确实提供了跳过选项,但这不是我要做的。有没有一个解决方案或者一种自动化的方法?使用VBA Access导入功能是否允许此操作 我想跳过这些列的原因是,它们是客户端提交的Excel文件中的计算列,文件转换为CSV以导入Access,并且我可以使用Access中的SQL轻松地

Access中一个非常恼人的问题是,当使用导入向导导入CSV文件时,如果CSV中有一列不是要导入到的表中的字段,则会出现错误并关闭导入。如果源文件不在现有表中,它应该提供一个选项来跳过源文件中的列。是的,如果从源文件创建新表,它确实提供了跳过选项,但这不是我要做的。有没有一个解决方案或者一种自动化的方法?使用VBA Access导入功能是否允许此操作


我想跳过这些列的原因是,它们是客户端提交的Excel文件中的计算列,文件转换为CSV以导入Access,并且我可以使用Access中的SQL轻松地重新计算它们。没有理由将它们放在表中。

运行导入向导时,您可以按选择的名称保存规范

然后使用:

DoCmd.TransferText acImportDelim, SpecificationName, ... etc.

向导左下角的“高级”按钮是否不起作用?通过在导入向导的高级菜单中选中额外CSV列上的“跳过”,我成功地将包含三列的CSV导入到包含两列的表中。编辑:我正在追加,而不是创建新表。很好。不管怎样,还是要让它自动化?查看文档,对象浏览器似乎没有任何名为
skip
的参数。我想我有点倾向于在表中创建一个字段名数组,在CSV中创建一个列名数组,迭代并将匹配项放入一个单独的CSV中进行上传。您可能需要先阅读一些其他问题。我不知道足够的VBA来帮助实现自动化。