0
我正在準備VBA中的函數來創建一個查詢來搜索數據庫。其中一個參數「Value」可以是一個字符串(例如:「ON」)或一個數字(例如:123),如果它是一個字符串,我必須選擇與它不同的值(例如:「OFF」)和如果它是一個數字,我必須選擇大於它的值(例如:234)。vba VarType區分字符串和整數
我已經準備好下面彙總的函數,傳遞值作爲Variant比較「valueParam」,然後嘗試檢測「valueParam」是一個String還是Integer。問題是函數VarType將每次「valueParam」視爲一個字符串。
Function prepareQuery(ByVal valueParam As Variant) as String
Dim STR_Query as String
STR_Query = "Select * FROM tablename"
If VarType(valueParam) = vbInteger Then
STR_Query = STR_Query & " WHERE Value>" & valueParam
ElseIf VarType(valueParam) = vbString Then
STR_Query = STR_Query & " WHERE Value<>'" & valueParam & "'"
End If
prepareQuery = STR_Query
End Function
有沒有人有一個想法,爲什麼VarType不識別Integer或有另一個想法來區分數字和字符串?
非常感謝您
好,它的工作原理,謝謝! –