sql - 访问宏创建一个重复的表,然后破坏宏
问题描述
我继承了一个基于 Access 的仪表板,它使用一系列 SQL 查询和 Make Table 操作将这些查询的结果写入位于其他两个 Access 文件中的表中。
有一个宏运行所有生成表命令,这些命令依次运行 sql 查询。当我在我的机器上运行它时,它们都在工作,但是当我从处理计划刷新的 VM 运行它时,它会为其中一个查询创建一个重复的表。
如果我从 Tables1 数据库中删除该表,查询数据库将成功运行并创建正确的表和 Tables1 中的副本。但是,随后的每一次,宏都会失败,并显示重复表已存在的错误。
这是生成表 sql:
SELECT [SQLQueryName].*
INTO [TableName]
IN 'filepath\Tables1.accdb'
FROM SQLQueryName;
这是所有其他生成表查询正在使用的相同结构,它们没有这个问题。我不确定这是否重要或会告诉某人某事,但重复表的名称相同,并在其末尾添加了 1。我们最近还必须获得一个新的 VM 设置,并且出现了很多奇怪的问题,这些问题无法像以前的 VM 那样正常运行,而之前的 VM 已经运行了很长时间而没有出现问题。
到目前为止,我已经尝试压缩 Query 和 Table1 Database 文件。我尝试删除生成表查询并制作新版本。我试过删除表格并从 Tables1 中复制。我已经尝试将数据库文件回滚到几周前的版本。我们还确保 Access 的版本与我的 PC 上的版本相同。
我目前正在尝试将其更改为删除行/追加行方法而不是生成表,但即使可行,我仍然很想知道为什么会这样。
编辑:
生成表中的实际代码失败,删除了文件路径。
SELECT [012_HHtoERorOBS].*
INTO [HHtoER-Obs]
IN '\\filepath\MiscTablesB.accdb'
FROM 012_HHtoERorOBS;
这是来自其他 2 个正在运行的生成表查询的代码。每个 make table 查询都遵循相同的 select * from sql 查询格式,以将数据放入目标 accdbs 中的表中。
SELECT [010_ScheduledVisitsQuery].*
INTO ScheduledVisits
IN '\\filepath\MiscTablesB.accdb'
FROM 010_ScheduledVisitsQuery;
SELECT [020_HH_HO].*
INTO HH_Referred_to_HO
IN '\\filepath\MiscTablesB.accdb'
FROM 020_HH_HO;
运行生成表查询时,所有这些表都存在于目标 accdbs 中。该宏不包含任何删除表的命令。这是宏顶部的屏幕截图,它重复所有生成表查询,然后以退出访问的命令结束。
解决方案
推荐阅读
- java - 如何在java中只返回一个实例?
- stored-procedures - 是否可以将可变数量的参数传递给redshift中的存储过程?
- android - 包含 TableLayout 和 3 个 Textview 的 ExpandableListView 子项未触发单击侦听器
- spark-streaming - 在 Spark-Streaming 中使用 InputDStream 时导致垃圾收集器开销的原因
- mysql - 指定为定义者的用户不存在 - GRANT 无法修复
- c++ - 用 C++ 构建一个完全独立的wireshark解析器模块
- typescript - 打字稿:无法从模块导入类
- node.js - 如何在 Google Sheets Node.js 脚本中循环值?
- excel - 如何根据公式结果更改颜色?
- checkstyle - Checkstyle if statement rule