Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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
Excel MS Access链接工作簿赢得';在数据库拆分后刷新_Excel_Ms Access_Frontend - Fatal编程技术网

Excel MS Access链接工作簿赢得';在数据库拆分后刷新

Excel MS Access链接工作簿赢得';在数据库拆分后刷新,excel,ms-access,frontend,Excel,Ms Access,Frontend,我有许多工作簿链接到Access数据库,并通过查询绘制数据。我最近将数据库拆分为fe/be,并将前端分发给不同的用户 某些用户,但并非所有用户,无法刷新某些工作簿中的数据。他们收到错误消息:“查询未运行或无法打开表。请检查数据库服务器或与数据库管理员联系。确保外部数据库可用且未移动或重新组织,然后重试该操作” 我尝试将本地计算机上Excel连接属性中的连接文件更改为个人前端,也更改为我的副本,但收到相同的错误消息 下面是一个有问题的查询中的sql,以帮助识别问题: SELECT tblFitEx

我有许多工作簿链接到Access数据库,并通过查询绘制数据。我最近将数据库拆分为fe/be,并将前端分发给不同的用户

某些用户,但并非所有用户,无法刷新某些工作簿中的数据。他们收到错误消息:“查询未运行或无法打开表。请检查数据库服务器或与数据库管理员联系。确保外部数据库可用且未移动或重新组织,然后重试该操作”

我尝试将本地计算机上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"));
选择tblFitExtractMain。[问题ID],tblFitExtractMain。[输入日期],IIf([DateClosed]不为空,年([DateClosed]),IIf([DateMoveDoutShip]不为空,年([DateMoveDintOqualClosed]),年([DateMoveDintOqualClosel]))作为[Year],IIf([DateClosed]不为空,月([DateClosed])),IIf([DateMovedToShip]不为空,Month([DateMovedToShip]),IIf([DateMovedToQualClosure]不为空,Month([DateMovedToQualClosure]),Month([DateMovedToQualClosure]),Month([DateMovedToQualClosure]),Month([Date Entered]))为[Month],tblFitExtractMain.Status,tblProductMatrix.product变量,IIf([product变量]=“G4”或[product变量]=“G3或[product变量]=“G3或[product变量]=“CLM”,“[Product line]、IIf([DateArrivedatSPIUK]不为空且[DateMovedOutof4SPIIncoming]不为空、DateDiff(“d”)、[DateArrivedatSPIUK]、[DateMovedOutof4SPIIncoming])、IIf([DateArriveDateDatSpi]不为空且[DateMovedOutof4SPIIncoming]不为空、DateDiff(“d”、[DateArriveDateDateDateDateDateDateDoutOf4SpiIncoming])、IIf([DateMoveDout不为Null且[DateMovedOutof4SPIIncoming]不为Null,DateDiff(“d”,“DateMovedOutofTransit”,“DateMovedOutof4SPIIncoming]),Null)为[Section 4 pre],IIf([Section 4 pre]=0,1,Abs([Section 4 pre])为[Section 4 calc],IIf([DateMovedIntoPreliminary]不为Null且[DateMoveDoutOfPremiinary]不为Null,DateDiff(“d”,“DateMovedIntoPreliminary],[DateMoveDoutOfPremious]、IIf([DateMovedOutof4SPIIncoming]不为空且[DateMoveDoutOfPremious]不为空、DateDiff(“d”、[DateMovedOutof4SPIIncoming]、[DateMoveDoutOfPremiousing])、Null为[Section 5 pre、IIf([Section 5 pre]=0,1、Abs([Section 5 pre pre)为[Section 5 calc]、IIf([DateMoveDoutOfToenginenGenv]不为空且[DateMoveDout不为Null,DateDiff(“d”,“DateMovedToEnginv”,“DateMovedToFEnginv]),IIf([DateMovedToFpremium]不为Null,[DateMovedToFEnginv]不为Null,DateDiff(“d”,“DateMovedToFpremium”,“DateMovedToFEnginv]),Null为[Section 6a pre],IIf([Section 6a pre]=0,1,Abs([Section 6a pre]),为[Section 6a calc],IIf([DateMovedInTo6bcomrevReplace]不为Null且[DateMovedOutOf6bcomrev]不为Null,DateDiff(“d”、[DateMovedInTo6bcomrevReplace]、[DateMovedOutOf6bcomrev])、IIf([DateMovedOutOfEngInv]不为Null且[DateMovedOutOf6bcomrev]不为Null,DateDiff(“d”、[DateMovedOutOfTof6bcomrev])、Null)为[Section 6bcomrev])、IIf([Section 6bcompre]=0,1,Abs([Section 6b pre])作为[Section 6b calc],IIf([DateMoveDoutoF6CommRev]不为空,[DateMovedOutof7Rep]不为空,DateDiff(“d”),[DateMoveDoutoF6CommRev],[DateMovedOutof7Rep]),IIf([DateMovedOutOfEngInv]不为空,[DateMovedOutof7Rep]不为空),DateDiff([DateMovedOutof7Rep]作为[Section 7 pre],IIf([第7节前]=0,1,IIf([第7节前]=9”);

非常感谢

我遇到了类似的问题,但使用MS SQL后端和Excel。向他们的工作簿中添加一个临时新工作表,并创建一些快速查询,将数据从更新的连接拉入临时工作表。如果数据没有通过此方法,请尝试添加具有相同属性/字符串的新连接,然后查看e数据将被拉到临时工作表中。这将至少隔离问题,希望您不必手动将每个受影响的用户更新到新的连接对象


如果您有许多用户,这可能会很麻烦。在我的情况下,用户没有个性化的工作簿,因此我可以让员工直接开始使用新的XLS文件。

我也遇到过类似的问题,但使用MS SQL后端和Excel。将临时新工作表添加到他们的工作簿中,并创建一些快速查询,从中提取数据将更新的连接添加到临时工作表中。如果数据没有通过此方法,请尝试添加具有相同属性/字符串的新连接,并查看数据是否通过临时工作表。这至少可以隔离问题,希望您不必手动将每个受影响的用户更新到新的连接对象


如果您有很多用户,这可能会很麻烦。在我的情况下,用户没有个性化的工作簿,因此我可以让员工直接开始使用新的XLS文件。

我会尝试将工作表链接到后端而不是前端。我会尝试将工作表链接到后端而不是前端。谢谢。尝试了此操作并获得了puzzling消息“数据库不包含表”选择前端作为数据源时&无法继续。当然,它不包含表,它是前端!为什么要将工作簿指向没有表的Access前端?我很困惑。为什么要在将表拆分为单独的文件后指向它,是因为您无法清理旧版吗?我不确定w您的问题。我使用前端,因为我是通过查询绘制数据的,而不是直接从表中绘制数据。为了便于维护,我更愿意在Access中使用查询,而不是在用户工作簿中指定连接级别的SQL。我不认为这是不寻常的。这是有意义的。我同意,这对于维护来说更容易