2017-06-12 28 views
0

我有使用以下功能鏈接兩個字段與修剪0 - 訪問

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

的z是因爲在第一個表中的一些空值是修剪由兩個獨立的表的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

不會在47613中替換(「00040007613」,「0」,「」)結果? – FamousFrik

+0

是的。根據提供的示例,這兩個值將是等效的。但是,這不是一個基於分析的例子。而且可能不想刪除中間的零,因爲我期望你有一些像00000047613和00000407613等值,因此結果可能是錯誤的,這就是爲什麼我提供格式選項。 11個地方總是夠用嗎? – June7