Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
要在Access SQL语句中预测和处理损坏的记录,还有什么方法?_Sql_Ms Access_Database Design - Fatal编程技术网

要在Access SQL语句中预测和处理损坏的记录,还有什么方法?

要在Access SQL语句中预测和处理损坏的记录,还有什么方法?,sql,ms-access,database-design,Sql,Ms Access,Database Design,我有一个分离的前端/后端Access数据库,它有一个用户表单,其中包含很多事情 具体来说,从union SQL查询填充的列表框不起作用,我已将问题隔离到后端数据库中的损坏记录。我复制了一份数据库,压缩并修复了它,然后删除了记录 我制作了一个前端副本,将其重新链接到后端数据库副本,vwalla一切都已修复 当然,现在我无法修复实际的数据库,因为可能有几十个人在上面。我打算今晚午夜偷偷更新一下 我有几个问题,当然我也愿意接受任何其他设计建议。我会尽我所能找到最简单的解决办法。我的问题是,是否有SQL

我有一个分离的前端/后端Access数据库,它有一个用户表单,其中包含很多事情

具体来说,从union SQL查询填充的列表框不起作用,我已将问题隔离到后端数据库中的损坏记录。我复制了一份数据库,压缩并修复了它,然后删除了记录

我制作了一个前端副本,将其重新链接到后端数据库副本,vwalla一切都已修复

当然,现在我无法修复实际的数据库,因为可能有几十个人在上面。我打算今晚午夜偷偷更新一下

我有几个问题,当然我也愿意接受任何其他设计建议。我会尽我所能找到最简单的解决办法。我的问题是,是否有SQL语句可以处理损坏的记录?下面是当前的SQL语句

SELECT DISTINCT CaseInfo.reviewerID
FROM caseInfo
WHERE caseInfo.reviewerID IS NOT NULL
UNION SELECT 'All' AS 'reviewerID'
FROM caseInfo
ORDER BY reviewerID;
仅供参考,一个损坏的记录在reviewerID字段中有中文内容(在其他字段中有疯狂的数字)。我能做些什么来证明这个问题?仅供参考,当我现在运行它时

"Reserved error (-1524); there is no message for this error."
如果不可能的话。还有其他想法吗?问题的根源是弄清楚为什么那个记录被破坏了,但我不确定。按照数据库的工作方式,会指定一个人将记录直接加载到后端数据库中,ReviewerID中填写员工姓名、案例的初始详细信息,然后是大量空白字段。然后,员工的团队调出他们的前端副本,使用列表框对他们的姓名进行排序,然后继续使用userform完成案例审查

也许直接将案例加载到后端会使数据库容易损坏。另外,我也不会坐在那个家伙旁边,当他装箱子的时候,我会问他是否会做一些棘手的事情。 userform有一组有界字段,以及一些通过SQL更新更新的无界字段。当我设计数据库和表单时,避免锁定错误是一件非常痛苦的事情,但我最终还是把它们都解决了。但是如果我可以再做一次,我可能不会使用任何有界字段,也不会使用update语句操作整个用户表单(但是,唉,我真的不可能重做数据库)

我还将尝试实现这一点,这样,如果我需要在中午进行更新,我可以找出谁在上,并要求他们注销,以便我可以进行必要的更正


人们的想法是什么p

听起来像,这根本不是损坏,这是在按备注字段分组时发生的已知错误<代码>不同按分组计算。另外,由于语句看起来无效,它应该用方括号括起来,而不是引用感谢该建议。我在数据库中没有备注字段,但为了防止我删除DISTINCT,ORDER BY子句和错误仍然存在。好吧,您可以运行压缩并修复。如果在后端有很多用户,您可能需要考虑将后端移动到另一个RDBMS。由于Access数据库只是文件,而不是与客户端和服务器一起工作,因此存在更大的损坏风险。哦,试试
UNION-ALL
UNION
本身就是一个分组语句,
UNION-ALL
效率更高,因为查询之间不会有重复。