簡體   English   中英

VBA:ADODB 記錄集 - SQL 查詢返回值 - 轉換為函數中返回的數字

[英]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).Valuers!fieldAge是相同的,因為 fieldAge 是您選擇的唯一列,並且它在 fields 數組中的索引為 0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM