我有一个 VBA 程序(在表单后面),它执行以下操作;-
- 将 XML 文件中的数据导入一个空的临时表(带有一个名为 ID 的关键字段)
- 根据临时表中的查询创建电子表格
- 通过追加查询将数据追加到备份表中(备份表与临时表具有相同的表格式,即称为ID的关键字段)
- 从 temp 中删除所有内容,为下一次运行做好准备
从 XML 导入数据后,我希望能够捕捉到同一文件尝试导入两次的场景(即临时表包含备份表中也存在的 ID),通过 msgbox 告诉用户,然后退出 Sub。
我原以为可以在尝试追加时通过错误代码处理来做到这一点,捕获有关重复键的错误。
我有一个附加查询要附加到备份中,如果我通过查询本身运行此查询,我会收到有关存在重复项的警告等,可选择是否继续运行查询。
但是,我通过 OpenQuery 在 VBA 中执行此操作(并且已关闭警告),所以什么也没发生?我似乎无法捕获错误代码。
我尝试编写一个选择查询来识别任何重复的 ID,然后以某种方式检测该查询是否返回任何行,但也无法使其工作,因为无法找到一种方法来检测查询是否返回任何行。