Ms access 正在尝试将IIF合并到Select语句中
试图在从MS Access SQL语句中选择数据时合并IIF 如果一个数据库中每个人都有两个地址,并且有一个键指示要使用哪个地址,那么如何告诉SQL语句基于该键使用地址1或地址2?这是为了创建可在报表中使用的查询 我已经试过了,但它在第一个IIF时抛出了一个错误:Ms access 正在尝试将IIF合并到Select语句中,ms-access,iif,Ms Access,Iif,试图在从MS Access SQL语句中选择数据时合并IIF 如果一个数据库中每个人都有两个地址,并且有一个键指示要使用哪个地址,那么如何告诉SQL语句基于该键使用地址1或地址2?这是为了创建可在报表中使用的查询 我已经试过了,但它在第一个IIF时抛出了一个错误: SELECT MAILINGTABLE.MailAutoNumber, MAILINGTABLE.MailLastName, MAILINGTABLE.MailFirstName, IIF(MailNewsletter1or2=
SELECT MAILINGTABLE.MailAutoNumber, MAILINGTABLE.MailLastName, MAILINGTABLE.MailFirstName,
IIF(MailNewsletter1or2=1) MAILINGTABLE.MailAddr1 as AD1,
IIF(MailNewsletter1or2=1) MAILINGTABLE.MailAddr2 as AD2,
IIF(MailNewsletter1or2=1) MAILINGTABLE.MailCity as city,
IIF(MailNewsletter1or2=1) MAILINGTABLE.MailState as State,
IIF(MailNewsletter1or2=1 MAILINGTABLE.MailZip as Zip,
IIF(MailNewsletter1or2=2) MAILINGTABLE.Addr2Addr1 as AD1,
IIF(MailNewsletter1or2=2) MAILINGTABLE.Addr2Addr2 as AD2,
IIF(MailNewsletter1or2=2) MAILINGTABLE.Addr2City as City,
IIF(MailNewsletter1or2=2) MAILINGTABLE.Addr2State as State,
IIF(MailNewsletter1or2=2) MAILINGTABLE.Addr2Zip as Zip,
MAILINGTABLE.MailSalutation, MAILINGTABLE.[232HelpFundraiser],
MAILINGTABLE.InformalSalutation, MAILINGTABLE.[232HelpFundraiser1or2]
FROM MAILINGTABLE
WHERE (((MAILINGTABLE.[232HelpFundraiser])=Yes))
ORDER BY MAILINGTABLE.MailLastName, MAILINGTABLE.MailFirstName;
IIf()语法完全错误。应该是这样的:IIf(此条件为真,使用此字段,否则使用其他字段)
如果要单独确定每个地址行,则需要其中5个表达式 否则,建议使用单个IIf()
这似乎不起作用。第一个IIF出现语法错误:选择MAILINGTABLE.MailAutoNumber、MAILINGTABLE.MailLastName、MAILINGTABLE.MailFirstName、IIF(MailNewslette1OR2=1 MAILINGTABLE.MailAddr1、MAILINGTABLE.Addr2Addr1)作为Ad1、IIF(MailNewslette1OR2=1 MAILINGTABLE.MailAddr2、MAILINGTABLE.AddR2)作为Ad2,等等。我发现了语法错误。它看起来确实有效,谢谢。
IIf(MailNewsletter1or2 = 1, MailAddr1 & Chr(13) & Chr(10) & MailAddr2 & Chr(13) & Chr(10) & MailCity & ", " & MailState & " " & MailZip,
Addr2Addr1 & Chr(13) & Chr(10) & Addr2Addr2 & Chr(13) & Chr(10) Addr2City & ", " & Addr2State & " " & Addr2Zip) AS Address