所以我在Access以下代碼:訪問VBA - 如何將記錄集中的值從文本轉換爲數字?
Dim db As DAO.Database
Dim qdEPH As DAO.QueryDef
Dim rsEPH As DAO.Recordset
Set qdEPH = DBEngine(0)(0).QueryDefs("MyQuery")
qdEPH.Parameters(0) = Text10.Value
Set db = CurrentDb
Set rsEPH = qdEPH.OpenRecordset
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
Set oSheet = oBook.Worksheets("Sheet1")
oSheet.Activate
Dim Count as Long
Count = 1
Do While Not rsEPH.EOF
oSheet.Range("A" & Count).Value = rsEPH("Value1")
Count = Count + 1
rsEPH.MoveNext
Loop
用戶將一個值在文本框Text10
窗體上並點擊按鈕來運行上述代碼。它運行查詢MyQuery
並將結果轉儲到名爲rsEPH
的記錄集中。其中一個字段Value1
作爲正在查詢的表中的文本值存儲。但是,它實際上是一個數字。如何將rsEPH("Value1")
轉換爲一個數字(返回Null或失敗的東西),然後將它除以100?
嘗試'= CDbl(rsEPH( 「值1」)) '如果你需要小數精度,或'= CLng(rsEPH(「Value1」))'如果你只需要整數? –
因此,我得到'運行時錯誤:94 - 無效使用空值'。 「Value1」中的一個或多個記錄可能沒有任何內容。有沒有辦法處理空值?在C#中,我會做'TryParse'或類似的東西。 –
看起來像Access有一個內置函數來轉換空值,請參閱@ HansUp的答案:) –