VBA:ADODB记录集-SQL查询返回值-转换为函数中返回的数字
我的SQL查询是:VBA:ADODB记录集-SQL查询返回值-转换为函数中返回的数字,sql,vba,function,adodb,Sql,Vba,Function,Adodb,我的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 strSometh
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。您的记录集已关闭。您好,谢谢回复!抱歉,粘贴错误-已注释掉rs close。但最后一行仍然不起作用。我认为这不是将rs值转换为数字/双精度?取消注释并遵循我的建议。