我应该如何关注间歇性MS Access错误?

时间:2016-07-29 15:35:24

标签: sql ms-access ms-access-2010

我使用MS Access(2010)数据库为我的部门进行半关键数据管理。它目前很小,大约137​​ MB,我运行的查询非常简单,大多数只是加入以组合多个数据源。

我遇到了几种类型的间歇性错误,其中查询函数最初会正常工作,但在后续运行中,如果不进行任何更改,它将会失败。有时它会再次开始工作。

最近,我有一个运行正常的查询,我导出到Excel。在同一个Access会话期间,它将在第一次工作,但随后返回一个"对象无效或不再设置"我尝试第二次导出时出错。关闭并重新打开数据库后,它会再次运行。这只是一个例子。

我担心Access可能会对我的数据造成危害,我不习惯继续使用它。这种行为是典型的Access,是否会导致数据丢失或损坏?

编辑以添加示例问题的查询代码。这实际上是作为一系列Access查询设置的,其SQL是:

最终查询=

SELECT DISTINCT Var1, Var2, ...VarX
FROM Query1 
LEFT JOIN Union_query 
    ON (Query1.DOB = Union_query.DOB) 
    AND (Query1.FST_NM = Union_query.FST_NM) 
    AND (Query1.LST_NM = Union_query.LST_NM);

查询1 =

SELECT *
FROM ROSTER_LATEST 
INNER JOIN (SELECT max(UPDATE_DATE) AS LAST_DATE, SUB_ID 
FROM ROSTER_LATEST GROUP BY SUB_ID)  
    AS GRAB_DATE 
    ON (ROSTER_LATEST.SUB_ID = GRAB_DATE.SUB_ID) 
    AND (_ROSTER_LATEST.UPDATE_DATE = GRAB_DATE.LAST_DATE);

Union Query =

SELECT *
FROM Query2
UNION 
SELECT *
from Query3;

查询2 =

SELECT Var1, Var2, ...VarX
FROM All_FHP 
INNER JOIN Query1 
    ON (All_FHP.Date_of_Birth = Query1.DOB) 
    AND (All_FHP.Last_Name = Query1.LST_NM) 
    AND (All_FHP.First_Name = Query1.FST_NM);

查询3 =

SELECT Var1, Var2, ...VarX
FROM CBP_LIST 
INNER JOIN Query1 
    ON (CBP_LIST.Date_of_Birth = Query1.DOB) 
    AND (CBP_LIST.Last_Name = Query1.LST_NM) 
    AND (CBP_LIST.First_Name = Query1.FST_NM);

1 个答案:

答案 0 :(得分:0)

作为第一步,保存备份副本并试试" Compact& amp; 。维修"

打开数据库,点击文件>信息>紧凑型维修。

看看这是否能解决您的问题。