2015-01-09 32 views
0

我的系統正在使用,as decimal seperator and .成千上萬。訪問VBA的Dmin和Dmax逗號分隔小數

當我在VBA中使用Dmin和Dmax功能,我得到的錯誤:

run-time error 3075 syntax error (comma) 

雖然運行以下命令: -

UpperPower = DMin("Column2", "t_table", "Column2" & ">=" & RatedPower) 

哪裏RatedPower是宣佈Public RatedPower As Double函數變量。 該函數也被聲明爲double

其他一切正常工作,逗號是小數點分隔符。

我特地到替代函數,但我不知道如何在功能的Dmin使用它......

我能做些什麼?

最好的問候,埃米爾。

+0

什麼是RatedPower?手動輸入?如果是這樣,它聲明什麼? – PaulFrancis

+0

在問題中編輯! –

+0

您是否可以不更改區域設置中的分隔符? – PaulFrancis

回答

2

這將工作:

UpperPower = DMin("Column2", "t_table", "Column2 >= " & Replace(RatedPower, ",", ".")) 

由於第一個參數替換()必須是一個字符串,RatedPower隱式轉換爲使用本地小數點分隔字符串(如非整數),無千位分隔符。

這段代碼很簡單,因爲無論本地小數點分隔符是「。」,它都可以工作。或「,」

+0

我會盡力的! 那麼UpperPower會以字符串形式返回,還是以雙精度? –

+0

@emil它將作爲Column2的數據類型在表中返回,即Double。爲了證明這一點,在調試窗口中輸入以下命令:'?typename(dmin(「Column 2」,「t_table」))' –

+0

這完全奏效了。非常感謝湯姆! –