数据库拆分后,MS Access链接的工作簿不会刷新

我有许多工作簿链接到Access数据库并通过查询绘制数据。 我最近把数据库分成了两部分,并把前端分配给不同的用户。

一些用户, 但不是全部都不能刷新某些工作簿中的数据。 他们收到错误消息:“查询没有运行或表不能打开检查数据库服务器或联系您的数据库pipe理员请确保外部数据库可用,尚未移动或重新组织,然后尝试操作再次”。

我已经尝试改变连接文件在他们的本地计算机的Excel连接属性到他们的个人前端,也是我的副本,但得到相同的错误信息。

这是来自有问题的查询之一的sql,以帮助识别问题:

SELECT tblFitExtractMain.[Issue ID], tblFitExtractMain.[Date Entered], IIf([DateClosed] Is Not Null,Year([DateClosed]),IIf([DateMovedOutofShip] Is Not Null,Year([DateMovedOutofShip]),IIf([DateMovedIntoQualClosure] Is Not Null,Year([DateMovedIntoQualClosure]),Year([Date Entered])))) AS [Year], IIf([DateClosed] Is Not Null,Month([DateClosed]),IIf([DateMovedOutofShip] Is Not Null,Month([DateMovedOutofShip]),IIf([DateMovedIntoQualClosure] Is Not Null,Month([DateMovedIntoQualClosure]),Month([Date Entered])))) AS [Month], tblFitExtractMain.Status, tblProductMatrix.product_variant, IIf([product_variant]="G4" Or [product_variant]="G3" Or [product_variant]="CLM","Pulsed","Systems") AS [Product line], IIf([DateArrivedatSPIUK] Is Not Null And [DateMovedOutof4SPIIncoming] Is Not Null,DateDiff("d",[DateArrivedatSPIUK],[DateMovedOutof4SPIIncoming]),IIf([DateArrivedAtSPI] Is Not Null And [DateMovedOutof4SPIIncoming] Is Not Null,DateDiff("d",[DateArrivedatSPIUK],[DateMovedOutof4SPIIncoming]),IIf([DateMovedOutofTransit] Is Not Null And [DateMovedOutof4SPIIncoming] Is Not Null,DateDiff("d",[DateMovedOutofTransit],[DateMovedOutof4SPIIncoming]),Null))) AS [Section 4 pre], IIf([Section 4 pre]=0,1,Abs([Section 4 pre])) AS [Section 4 calc], IIf([DateMovedIntoPreliminary] Is Not Null And [DateMovedOutOfPreliminary] Is Not Null,DateDiff("d",[DateMovedIntoPreliminary],[DateMovedOutOfPreliminary]),IIf([DateMovedOutof4SPIIncoming] Is Not Null And [DateMovedOutOfPreliminary] Is Not Null,DateDiff("d",[DateMovedOutof4SPIIncoming],[DateMovedOutOfPreliminary]),Null)) AS [Section 5 pre], IIf([Section 5 pre]=0,1,Abs([Section 5 pre])) AS [Section 5 calc], IIf([DateMovedIntoEngInv] Is Not Null And [DateMovedOutOfEngInv] Is Not Null,DateDiff("d",[DateMovedIntoEngInv],[DateMovedOutOfEngInv]),IIf([DateMovedOutOfPreliminary] Is Not Null And [DateMovedOutOfEngInv] Is Not Null,DateDiff("d",[DateMovedOutOfPreliminary],[DateMovedOutOfEngInv]),Null)) AS [Section 6a pre], IIf([Section 6a pre]=0,1,Abs([Section 6a pre])) AS [Section 6a calc], IIf([DateMovedInto6bCommRevReplace] Is Not Null And [DateMovedOutof6bCommRev] Is Not Null,DateDiff("d",[DateMovedInto6bCommRevReplace],[DateMovedOutof6bCommRev]),IIf([DateMovedOutOfEngInv] Is Not Null And [DateMovedOutof6bCommRev] Is Not Null,DateDiff("d",[DateMovedOutOfEngInv],[DateMovedOutof6bCommRev]),Null)) AS [Section 6b pre], IIf([Section 6b pre]=0,1,Abs([Section 6b pre])) AS [Section 6b calc], IIf([DateMovedOutof6bCommRev] Is Not Null And [DateMovedOutof7Rep] Is Not Null,DateDiff("d",[DateMovedOutof6bCommRev],[DateMovedOutof7Rep]),IIf([DateMovedOutOfEngInv] Is Not Null And [DateMovedOutof7Rep] Is Not Null,DateDiff("d",[DateMovedOutOfEngInv],[DateMovedOutof7Rep]),Null)) AS [Section 7 pre], IIf([Section 7 pre]=0,1,IIf([Section 7 pre]<0,Null,[Section 7 pre])) AS [Section 7 calc], IIf([DateMovedIntoShip] Is Not Null And [DateMovedOutofShip] Is Not Null,DateDiff("d",[DateMovedIntoShip],[DateMovedOutofShip]),IIf([DateMovedOutof7Rep] Is Not Null And [DateMovedOutofShip] Is Not Null,DateDiff("d",[DateMovedOutof7Rep],[DateMovedOutofShip]),IIf([DateMovedOutof6bCommRev] Is Not Null And [DateMovedOutofShip] Is Not Null,DateDiff("d",[DateMovedOutof6bCommRev],[DateMovedOutofShip]),Null))) AS [Section 8 pre], IIf([Section 8 pre]=0,1,[Section 8 pre]) AS [Section 8 calc], IIf([DateClosed] Is Not Null,[DateClosed],IIf([DateMovedOutofShip] Is Not Null,[DateMovedOutofShip],IIf([DateMovedIntoQualClosure] Is Not Null,[DateMovedIntoQualClosure],[Date Entered]))) AS [Date closed], tblProductMatrix.power, tblFitExtractMain.[Warranty Status] FROM tblFitExtractMain INNER JOIN tblProductMatrix ON tblFitExtractMain.[Serial Number(1)] = tblProductMatrix.serial_number WHERE (((Left([Status],1))>="9")); 

非常感谢

我有一个类似的问题,但使用MS SQL后端与Excel。 将临时新工作表添加到其工作簿中,并创build一些快速查询,将更新的连接中的数据拖入临时工作表中。 如果数据不通过这个方法,尝试添加具有相同的属性/string的新连接,看看数据是否通过临时表。 这至less会隔离问题,希望您不必手动将每个受影响的用户更新为新的连接对象。

如果你有很多用户,这可能是麻烦的。 我的情况是,用户没有个性化的工作簿,所以我能够让员工简单地开始使用新的XLS文件。