2017-06-12 3 views
0

私は、最初のテーブルのいくつかのヌルがあるので、Nzはある以下の機能整え0で二つのフィールド上のリンク - アクセス

Replace(LTrim(Replace(Nz([03_Account_Matrix].[PORT_ACCT_DDA]),"0"," "))," ","0") 

を使用して2つの別々のテーブルから0をトリミング二つの別々のクエリを持っています。

Replace(LTrim(Replace(Nz([04_Balance].[Account]),"0"," "))," ","0") 

これは、同じアカウントである可能性がありますが、先行する0の数が異なるためです(ひどいデザイン、私は知っています)。

An example number is 00040007613 and 0040007613 which are the same and get trimmed to be so. 

ただし、この口座番号でトリミングされたクエリをリンクした場合、結果はありません。クエリでは同じ値です。これはなぜ起こるのですか?私の最高の推測は、文字列には異なる数のスペースが含まれている可能性があるからです...?

答えて

0

はい、異なる数のスペースは、異なる数のゼロと同じ問題です。なぜあなたはスペースで置き換えていますか?なぜ単に空の文字列ではないのですか?提供された例に基づいて

Replace("00040007613","0","") = Replace("0040007613","0","")

しかし考えてみます。

Format("00040007613","00000000000") = Format("0040007613","00000000000")

+0

おかげで、私はあなたが推奨される形式のスタイルを使用し、それがすぐに問題をクリア! – FamousFrik

+0

は置換されません( "00040007613"、 "0"、 "")47613になりますか? – FamousFrik

+0

はい、そうです。提供されている例に基づいて、2つの値は同等になります。しかし、それは基礎分析を設定する例の多くではありません。 00000047613や00000407613などの値があると期待しているので、おそらく中間のゼロを削除したくないため、結果が誤っている可能性があります。そのため、[書式]オプションが表示されます。 11カ所でいつも十分でしょうか? – June7