0

このカスタム関数に 2 つ目の Address フィールドを追加したいと考えています (つまり、Apt. #101)。必要に応じて、Case(not IsEmpty がどのように機能するかを説明できます。私は喜んで自分で 2 番目のアドレス フィールドを追加しようとします...

Let(
[
    x1 = Name;
    x2 = x1 & Case(not IsEmpty(Address); Case(not IsEmpty(x1); "¶") & Address);
    x3 = Case(not IsEmpty(City); City & ", ") & Case(not IsEmpty(State); Upper ( State ) & " ") & Zip;
    x4 = x2 & Case(not IsEmpty(x3); "¶") & x3;
    x5 = x4 & Case(not IsEmpty(Country); Case( not IsEmpty(x4); "¶") & Country)
];

    x5

)
4

3 に答える 3

1
Let( [

   x1 = Customer::FullName;
   x2 = x1 & Case(not IsEmpty(Address1); Case(not IsEmpty(x1); "¶") & Address1);
   x3 = x2 & Case(not IsEmpty(Address2); Case(not IsEmpty(x2); "¶") & Address2);
   x4 = Case(not IsEmpty(City); City & ", ") & Case(not IsEmpty(State); Upper ( State ) & " ") & ZipCode;
   x5 = x3 & Case(not IsEmpty(x4); "¶") & x4 ];

x5

)
于 2009-12-16T02:38:48.747 に答える
0

let ステートメントを廃止することをお勧めします。混乱を招くようです。最終的な目標は、一連のアドレス値を連結することです。住所の値が空でない場合は、問題の要素の後に改行 (または市区町村の場合はコンマ + スペース) を挿入します。このようなもの:

LeftWords (
    Case (not IsEmpty(Customer::FullName) ; Customer::FullName & "¶" ) &
    Case (not IsEmpty(Address1) ; Address1 & "¶" ) &
    Case (not IsEmpty(Address2) ; Address2 & "¶" ) &
    Case (not IsEmpty(City) ; City & ", " ) &
    Case (not IsEmpty(State) ; Upper (State ) & " " ) &
    ZipCode
; 9999 )

arg が 9999 (またはその他の適切に大きな値) の LeftWords 関数は、都市、州、および郵便番号がすべて空の場合に発生する可能性のある末尾の改行または空白を削除します。

于 2009-12-21T07:10:55.480 に答える