Sql 交叉表查询错误| Ms Access未将成员ID识别为有效的字段或表达式

Sql 交叉表查询错误| Ms Access未将成员ID识别为有效的字段或表达式,sql,ms-access-2007,Sql,Ms Access 2007,这是一场噩梦 我在MS Access 2007中创建了这个交叉表查询;当单独运行时,查询工作得非常好,但是当我将查询添加到其他表时;示例:当我将查询连接到属于其他查询的其他表时,会出现以下错误: Ms Access does not Recognized MEMBER_ID as a Valid filed or expression. 我到处都在搜索,但找不到与我的问题或场景相关的任何内容 如果我单独运行查询,它就会工作 代码如下: TRANSFORM First(MEMBER_PHONE.

这是一场噩梦

我在MS Access 2007中创建了这个交叉表查询;当单独运行时,查询工作得非常好,但是当我将查询添加到其他表时;示例:当我将查询连接到属于其他查询的其他表时,会出现以下错误:

Ms Access does not Recognized MEMBER_ID as a Valid filed or expression.
我到处都在搜索,但找不到与我的问题或场景相关的任何内容

如果我单独运行查询,它就会工作

代码如下:

TRANSFORM First(MEMBER_PHONE.PHONE_NBR) AS FirstOfPhone_NBR
SELECT MEMBER_PHONE.[MEMBER_ID]
FROM MEMBER_PHONE
WHERE (((MEMBER_PHONE.PHONE_TYPE) In ("CELL","HOME","WORK")))
GROUP BY MEMBER_PHONE.[MEMBER_ID]
PIVOT MEMBER_PHONE.[PHONE_TYPE];
我怎样才能解决这个问题


谢谢大家

我认为如果您对交叉表查询采取另一种方法,这可能会奏效。如果您不在Access中使用向导,而是在标准(Access)SQL中构建查询,则会出现如下情况

SELECT 
    MEMBER_ID,
    FIRST(IIF(MEMBER_PHONE.PHONE_TYPE = "CELL",MEMBER_PHONE.PHONE_NBR,"")) As [CELL],
    FIRST(IIF(MEMBER_PHONE.PHONE_TYPE = "HOME",MEMBER_PHONE.PHONE_NBR,"")) As [HOME],
    FIRST(IIF(MEMBER_PHONE.PHONE_TYPE = "WORK",MEMBER_PHONE.PHONE_NBR,"")) As [WORK]
FROM
    MEMBER_PHONE
WHERE 
    MEMBER_PHONE.PHONE_TYPE In ("CELL","HOME","WORK") 
GROUP BY
    MEMBER_ID

然后,您应该能够链接到关于成员ID的其他表/查询。

我认为如果您采用另一种方法进行交叉表查询,这可能会起作用。如果您不在Access中使用向导,而是在标准(Access)SQL中构建查询,则会出现如下情况

SELECT 
    MEMBER_ID,
    FIRST(IIF(MEMBER_PHONE.PHONE_TYPE = "CELL",MEMBER_PHONE.PHONE_NBR,"")) As [CELL],
    FIRST(IIF(MEMBER_PHONE.PHONE_TYPE = "HOME",MEMBER_PHONE.PHONE_NBR,"")) As [HOME],
    FIRST(IIF(MEMBER_PHONE.PHONE_TYPE = "WORK",MEMBER_PHONE.PHONE_NBR,"")) As [WORK]
FROM
    MEMBER_PHONE
WHERE 
    MEMBER_PHONE.PHONE_TYPE In ("CELL","HOME","WORK") 
GROUP BY
    MEMBER_ID

然后,您应该能够链接到关于成员ID的其他表/查询。

感谢您的时间和努力;我收到一条关于错误参数数量的错误消息。不确定原因,但错误是指IIF语句。@UnserageGuy编辑了我的答案-其中有一个额外的参数。非常感谢!根据需要工作。祝你有美好的一天!谢谢你的时间和努力;我收到一条关于错误参数数量的错误消息。不确定原因,但错误是指IIF语句。@UnserageGuy编辑了我的答案-其中有一个额外的参数。非常感谢!根据需要工作。祝你有美好的一天!