2013-04-02 59 views
1

我無法從Access中的表達式構建器中的數字字段中提取整個數字。在Access表達式中從小數點提取整數

這裏就是我想會的工作:

Left([NumField],InStr(1,[NumField],".")-1) 

這是行不通的。一旦運行我的查詢,我得到一個消息框彈出提示「無效的呼叫過程」的表述之前

場=表達後1.4

場= 1

因此取整數並提取。整個數字可以是3,30或300.長度在任何時候都會有所不同,因此您不能使用修剪左邊的長度爲1.

建議?

回答

2

您似乎將您的數值視爲字符串以提取整個數字部分。建議您考慮使用Int()函數。

Int([NumField]) 

還有一個相關功能,Fix()。從訪問幫助主題:

Int和Fix之間的區別是,如果number是負數,則Int返回小於或等於number的第一個負整數,而Fix則返回大於或等於number的第一個負整數。例如,Int將-8.4轉換爲-9,Fix將-8.4轉換爲-8。

我以爲你想要一個號碼由查詢返回。如果你真的想把這個數字作爲一個字符串,你可以使用CStr(Int([NumField]))Format(Int([NumField]), "#")

+0

這工作!謝謝。起初我並沒有意識到我的領域確實是一個數字領域。出於某種原因,我認爲這是一個字符串字段,這就是爲什麼它不工作。使用'Int [NumField]'將返回我需要的結果。 – Muhnamana

相關問題