[英]VBA: ADODB recordset - SQL query return value - convert to number returned in a function
我的 SQL 查詢是:
SELECT fieldAge FROM tbl1 WHERE fieldName = 'Aaron'
它總是只返回 1 個數字。
我希望該數字成為函數中的返回值 - 在該行出現錯誤。
謝謝!
Function getAge(thisName as String) As Double
Dim cn as ADODB.Connection
Dim rs as ADODB.Recordset
Dim strSQL as string
Dim strSomething as string
strSQL = "SELECT fieldAge FROM tbl1 WHERE fieldName = 'Aaron'"
Set cn = New ADODB.Connetion
cn.ConnectionString = {connection string here}
cn.open
rs.open strSQL, cn
While Not rs.EOF
strSomething = rs!fieldAge
Wend
'rs.Close
cn.Close
'Set rs = Nothing
Set cn = Nothing
getAge = rs.Field(0).Value // Doesn't work
End Function
不,您已經關閉了記錄集,這就是該行失敗的原因..
除了返回其作用域通過 RS 打開/關閉並存儲 SQL 結果的變量之外,您已經完成了所有其他操作。
getAge = strSomething
另請注意rs.Field(0).Value
和rs!fieldAge
是相同的,因為 fieldAge 是您選擇的唯一列,並且它在 fields 數組中的索引為 0。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.