3

レポートのいくつかのアドレスフィールドを1つのテキストボックスに統合しようとしています。

=[City]+", "+[County]+", "+[Post Code]

ただし、すべてのレコードの[County]列にエントリがあるわけではありません。つまり、これらのレコードのテキストボックスには何も表示されません。だから私はIifステートメントを試しました:

=IIf([County],[City]+", "+[County]+", "+[Post Code],[City]+", "+[Post Code])

これは機能しませんでした。テキストボックスに、存在するフィールドを表示させるにはどうすればよいですか?

4

5 に答える 5

6

最も簡単なソリューションIMO:Nzを使用します。

=[City]+", "+Nz([County]+", ")+[Post Code]

&の代わりに使用したい場合もありますが+。アクセス+では、合計を&意味しますが、連結を意味します。

于 2012-12-18T15:40:06.147 に答える
3

あなたはとても近かった!

=[City]+", "+[County]+", "+[Post Code]

する必要があります:

=[City]&", "&[County]&", "&[Post Code]

NULLは数学のすべてに勝るので、plus演算子を使用すると、フィールドが空白になるたびにNULLの結果が得られることを忘れないでください。

于 2012-12-18T15:36:45.840 に答える
1

あなたはあなたのIIf声明に近かった。

2つの可能なテストのうちの1つが欠落しています

nullのみが表示される場合は、

=IIf(IsNull([County]),[City]+", "+[County]+", "+[Post Code],[City]+", "+[Post Code])

空("")またはnullの場合

=IIf(len(""&[County]),[City]+", "+[County]+", "+[Post Code],[City]+", "+[Post Code])
于 2012-12-18T15:38:22.193 に答える
1

+2つの連結演算子(および&)がNullを異なる方法で処理 するという事実を利用できます。

? "A" + Null
Null
? "A" & Null
A

だからあなたはこれを行うことができます...

? "A" & ", " & "B" & ", " & "C"
A, B, C
? "A" & ", " & Null & ", " & "C"
A, , C

...ただし、2番目の文字列値の代わりにNullがあるときに2つのコンマが必要ない場合は、代わりに次のようにします。

? "A" & (", " + Null) & ", " & "C"
A, C

それがすべて理にかなっている場合は、同じパターンをテキストボックスのコントロールソースに適用します。

=[City] & (", " + [County]) & ", " & [Post Code]

ここで必要なものを取得するために、関数( IIf、、、、および/または)は必要ありません。 IsNullLenNz

于 2012-12-18T16:11:07.167 に答える
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])
于 2012-12-18T15:45:03.690 に答える