首页 > 解决方案 > 如何解决访问查询中的运行时错误 3075

问题描述

我有一个使用艾伦布朗的连接方法的函数

http://allenbrowne.com/func-concat.html

该代码有效,并且在我的查询中运行良好。

但是,当我尝试将 Concatenate 查询与我的联合查询进行左连接时,我会20弹出一个提示错误的消息,然后查询会打开并显示信息……非常奇怪。目前,我已经通过Dlookup在我的连续表单上使用 a 来解决它。

我尝试修改整数和字符串之间的语法,但发生了同样的错误。

我尝试将 concat 函数组合到一个查询中,然后加入该查询,同样的问题。

查询我想加入主查询。

SELECT 
   tblCUSTOMERREF.aglgrnID, 
   tblCUSTOMERREF.CustomerRef, 
   ConcatRelated("CustomerRef", "tblCUSTOMERREF", "[aglgrnID] = " & [aglgrnID]) AS 
   CustomerRefs
FROM 
   tblCUSTOMERREF;

主要查询 - 只是从任何地方提取信息......

SELECT 
   AGLGRNextended.*, 
   ([tblPRODUCT].[productSUPPLIERSKU]&" - "&[tblPRODUCT].[productDESCRIPTION])AS Description, 
   tblPRODUCT.[productSUPPLIERNAME], tblAGLGRN.[aglgrnCREATED], 
   tblSCANIN.[scaninUSER], tblSCANIN.[scaninUSERTIME], tblUser.[UserName], 
   tblUser.[UserFIRSTNAME], Val(AGLGRNextended.[PROD]) AS PROD1, 
   Format(tblAGLGRN.aglgrnDATEEXPECTED,'Short Date') AS DateExpected,  
   tblAGLGRN.aglgrnUSER AS AGLGRNUSER,
   tblUser.UserFIRSTNAME AS AGLGRNFIRSTNAMEUSER
FROM 
   (((((AGLGRNextended LEFT JOIN tblPRODUCT ON [tblPRODUCT].[productGS1SKU]=[AGLGRNextended].[GS1SKU]) 
   LEFT JOIN tblAGLGRN ON [AGLGRNextended].[AGLGRN]=Format(tblAGLGRN.AGLGRN,'00000')) 
      LEFT JOIN tblSCANIN ON [tblSCANIN].[ID]=[AGLGRNextended].[SCANINID]) 
         LEFT JOIN tblUser ON [tblUser].[UserLogin]=[tblAGLGRN].[aglgrnUSER])) 
            LEFT JOIN CustomerRefqry ON Format([CustomerRefqry].[aglgrnID],'00000') = Format(tblAGLGRN.AGLGRN,'00000')


UNION SELECT 
   Null AS Field2, 
   tblCOMPANYDIRECTORY.companyCODE AS Field3,  
   Format(tblAGLGRN.AGLGRN,'00000') AS AGLGRN,  
   Null AS Field4, Null AS Field5,  
   Null AS Field6, Null AS Field7,  
   tblAGLGRN.aglgrnCUSTOMERREF, 
   tblAGLGRN.aglgrnSUPPLIERREF, 
   tblAGLGRN.companyID,  
   Null AS Field9,  
   PackageCountqry.PackageQty AS Packages,  
   Null AS Field10,  
   Null AS Field11, Null AS Field12,  
   Null AS Field13, Null AS Field14,  
   Null AS Field15, Null AS Field16,  
   Null AS Field17, Null AS Field18,  
   tblAGLGRN.aglgrnSUPPLIER AS Field19,  
   tblAGLGRN.aglgrnCREATED AS Field20,  
   Null AS Field21,  
   Null AS Field22,  
   Null AS Field23,  
   Null AS Field24,  
   Null AS Field25,  
   tblAGLGRN.aglgrnDATEEXPECTED AS DateExpected,  
   tblAGLGRN.aglgrnUSER AS Field26,  
   tblUser.UserFIRSTNAME AS AGLGRNFIRSTNAMEUSER
FROM  
   (((((tblAGLGRN LEFT JOIN GS1DECODEextended ON Format(tblAGLGRN.AGLGRN,'00000') = Format(GS1DECODEextended.[AGL GRN],'00000'))  
    LEFT JOIN tblPACKAGES ON Format(tblAGLGRN.AGLGRN,'00000') = Format(tblPACKAGES.aglgrnID,'00000'))  
    LEFT JOIN PackageCountqry ON Format(tblAGLGRN.AGLGRN,'00000') = Format(PackageCountqry.AGLGRNPACKAGE,'00000'))  
    LEFT JOIN tblUser ON tblUser.UserLogin = tblAGLGRN.aglgrnUSER) 
    LEFT JOIN tblCOMPANYDIRECTORY ON tblAGLGRN.companyID = tblCOMPANYDIRECTORY.ID)  
   LEFT JOIN CustomerRefqry ON Format([CustomerRefqry].[aglgrnID],'00000') = Format(tblAGLGRN.AGLGRN,'00000')
WHERE  
   Format(tblAGLGRN.AGLGRN,'00000') <> Format(GS1DECODEextended.[AGL GRN],'00000')
ORDER BY  
   AGLGRNextended.[AGLGRN] DESC;

[aglgrnID] =出现语法问题。tblCUSTOMERREF没有给我这个,只有当我离开时才加入它。

所以我不知道我错过了什么......

标签: vbams-access

解决方案


推荐阅读