我正试图将一些地址字段合并到报告的一个文本框中:
=[City]+", "+[County]+", "+[Post Code]
然而,并非所有记录在[县]列中都有一个条目,这意味着文本框中根本没有任何内容显示这些记录。所以我尝试了一个Iif声明:
=IIf([County],[City]+", "+[County]+", "+[Post Code],[City]+", "+[Post Code])
这不起作用,如何让文本框显示任何字段?
答案 0 :(得分:6)
答案 1 :(得分:3)
你太近了!
=[City]+", "+[County]+", "+[Post Code]
应该是:
=[City]&", "&[County]&", "&[Post Code]
请记住,NULL会胜过数学中的所有内容,因此每当任何字段为空时,使用plus运算符会给出NULL结果。
答案 2 :(得分:1)
你接近IIf
声明。
您缺少两种可能的测试之一
如果只能显示空值,
=IIf(IsNull([County]),[City]+", "+[County]+", "+[Post Code],[City]+", "+[Post Code])
如果它可以为空(""
)或为空
=IIf(len(""&[County]),[City]+", "+[County]+", "+[Post Code],[City]+", "+[Post Code])
答案 3 :(得分:1)
您可以利用两个并置运算符(+
和&
)以不同方式处理Null的事实。
? "A" + Null
Null
? "A" & Null
A
所以你可以这样做......
? "A" & ", " & "B" & ", " & "C"
A, B, C
? "A" & ", " & Null & ", " & "C"
A, , C
...但如果您在Null而不是第二个字符串值时不想要两个逗号,请改为:
? "A" & (", " + Null) & ", " & "C"
A, C
如果这一切都有意义,请将相同的模式应用于文本框控件源:
=[City] & (", " + [County]) & ", " & [Post Code]
您不需要功能(IIf
,IsNull
,Len
和/或Nz
)来获取您想要的内容。
答案 4 :(得分:0)
请试试这个:相当超级丑陋的想法......当Chr(13)和Chr(10)在那里它永远不会是空的。
IIf(Isnull([County]),
IIf(Isnull([Post Code]),
IIf(IsNull[Post Code]), "No Address", [Post Code]),
[City] + Chr(13) & Chr(10) +[Post Code]),
[Country] + Chr(13) & Chr(10) + [City] + Chr(13) & Chr(10) +[Post Code])