首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MS Access 2010使用更大的记录集抛出“查询太复杂”错误

MS Access 2010使用更大的记录集抛出“查询太复杂”错误
EN

Stack Overflow用户
提问于 2016-08-24 01:04:21
回答 1查看 1K关注 0票数 1

我在Access 2010中遇到过反复但零星的问题,这些问题在查询中抛出了“查询太复杂”的错误,这些查询实际上并不是非常复杂,但涉及到相当多的记录(比如超过5000条)。这总是涉及到使用链接的SharePoint列表。

下面是一个示例(我要插入的表在SharePoint服务器上,其他表在我的驱动器上的Access文件中):

代码语言:javascript
复制
INSERT INTO [NR Info] 


(Title, 
    [NR ID], 
    [Project], 
    [Sub-project], 
    [PD Number], 
    [WBS Number], 
    [Network], 
    [IA PO Activity], 
    [FA PO Activity], 
    [ASP], 
    [status], 
    [MS10],
    [PO Status], 
    [2G/3G HW CPO], 
    [4G HW CPO], 
    [4G SW CPO], 
    [Additional HW CPO], 
    [Antenna HW CPO], 
    [2G/3G/4G HWAC CPO], 
    [Swap Prep CPO], 
    [VOD I&C CPO], 
    [Antenna Refresh CPO], 
    [Additional Services CPO], 
    [Decom CPO], 
    [Variances Build Services CPO], 
    [Unknown Variances CPO], 
    [Other CPO A], 
    [Other CPO B], 
    [Other CPO C], 
    [Other CPO D], 
    [Other CPO E] )
SELECT sh.[NR_Unique_ID], 
    sh.[NR_ID], 
    sh.[Project_lookup], 
    sh.[SubProject_lookup], 
    cn.[project_definition], 
    cn.[wbs_element], 
    cn.[network], 
    cpo.[IAPO_activity], 
    cpo.[FAPO_activity], 
    sh.[ASP_lookup], 
    sh.[Status], 
    cpo.[MS10],
    cpo.[cpo_state], 
    cpo.[2G3G_HW_State], 
    cpo.[4G_HW_State], 
    cpo.[4G_SW_State], 
    cpo.[Addl_HW_State], 
    cpo.[Antenna_HW_State], 
    cpo.[2G3G4G_HWACS_State], 
    cpo.[Swap_Prep_State], 
    cpo.[VOD_IC_State], 
    cpo.[Antenna_Refresh_State], 
    cpo.[Addl_Serv_State], 
    cpo.[Decom_State], 
    cpo.[Var_Build_State], 
    cpo.[Unknown_Var_State], 
    cpo.[Other_POA_State], 
    cpo.[Other_POB_State], 
    cpo.[Other_POC_State], 
    cpo.[Other_POD_State], 
    cpo.[Other_POE_State]
FROM (Staging_SH_keyData AS sh 
    LEFT JOIN Staging_SAP_CN AS cn ON sh.[NR_ID] = cn.[nr_id]) 
    LEFT JOIN staging_SH_cpoStatus AS cpo ON sh.[NR_Unique_ID] = cpo.[NR_Unique_ID]
WHERE sh.[NR_Unique_ID] NOT IN (SELECT [title] FROM [NR Info]);

这将是另一个在处理大型记录集时也会导致问题的问题。我尝试使用它将大约13,000行从我的本地文件插入到Sharepoint服务器。我最终不得不在SELECT上临时使用TOP1000,并运行查询13+次数。即使在那时,我也会定期收到错误,尽管关闭文件并重新打开它可以修复它几次。我有时也会遇到与“系统资源”相关的问题。

代码语言:javascript
复制
INSERT INTO [Order Items]
    ([Title], 
        [Order Item],
        [NR ID],
        [Vfe Material ID], 
        [E/// Material Num], 
        [Material Description], 
        [Item Category], 
        [Quantity Ordered], 
        [Date Requested], 
        [Requester], 
        [Item Request Status], 
        [PO2 Number], 
        [PO2 Line Number], 
        [PO Technical Check], 
        [PO Accepted Date], 
        [SO Number], 
        [SO Line Number], 
        [SO Line Status], 
        [SO Item Quantity], 
        [SO Release Date], 
        [SO Activated Date], 
        [Event Day], 
        [MS10])
SELECT [Order_Item], 
    [Order_Item],
    (SELECT TOP 1 [id] FROM [NR Info] nri WHERE nri.[NR ID]=soi.[NR_ID]),
    [VF_SAP_Material], 
    [Mat_Num], 
    [Mat_Desc], 
    [Mat_Cat], 
    [Order_Quan], 
    [Request_Date], 
    [Requester], 
    [Item_ReqStatus], 
    [PO2_Num], 
    [PO2_LineNum], 
    [PO_TechCheck], 
    [PO_AcceptedDate], 
    [SO_Num], 
    [SO_LineNum], 
    [SO_LineStatus], 
    [SO_Quantity], 
    [SO_RelDate], 
    [SO_ActivatedDate], 
    [EventDay], 
    [MS10]
FROM Staging_OrderItems AS soi
WHERE soi.[Order_Item] NOT IN (SELECT [Title] FROM [Order Items]);

非常感谢您的帮助!

EN

回答 1

Stack Overflow用户

发布于 2016-08-24 01:14:10

根据this article

JET在任何时候都会给出这个通用的消息,它不能准确地指出哪里出了问题。原因可能是分隔符错误、数据类型解释错误、括号不匹配、使用保留字作为表或字段名称或别名、与名称AutoCorrect混淆或其他许多可能性。

解决方案

在大多数情况下,解决方案是找出Access不理解的部分。检查表达式、联接和条件中的数据类型是否匹配。在需要的地方显式类型转换。显式声明参数,因此JET知道它们的类型。

确认您的姓名(表、字段、别名)不在保留字列表中。在任何可疑名称周围添加方括号,并明确指定其源表,例如“从...选择Table1.Name ...”而不是"SELECT Name FROM ...“

确保名称AutoCorrect处于禁用状态。然后压缩/修复数据库。

如有必要,请分解查询以查找问题。删除一半的WHERE子句,省略GROUP BY子句,直到查询生效。然后开始重新添加东西,直到你找到罪魁祸首。

有时,查询实际上太复杂:太多的联合、超过32个表、WHERE子句中的100个AND或超过50层的嵌套查询。有关限制的列表,请打开Access主窗口中的帮助,然后输入规范。在Access 2007中,转至帮助主题HA10030739。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39106995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档