【发布时间】:2014-03-18 03:28:26
【问题描述】:
vb代码如下:
Function GetDCF(vari As String)
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
Dim strConn As String
Dim sql As String
strConn = "PROVIDER=SQLOLEDB;DATA SOURCE=xxxxxx;INITIAL CATALOG=xxxxx;INTEGRATED SECURITY=sspi;"
cn.Open strConn
sql = "select '" & vari & "' from TBLmontecarlodcf where COMPANY = '" & Range("A2").Value & "' "
rs.Open sql, cn, adOpenDynamic, adLockOptimistic
GetDCF = rs.Fields(vari)
cn.Close
Set rs = Nothing
Set cn = Nothing
End Function
但它不会在 excel 中返回值。相反,如果我用 sql server 中的真实字段替换 '" & vari & "' 并输入 GetDCF=rs!fieldname,我确实得到了值。请问GetDCF = rs.Fields(vari)哪里出了问题?
【问题讨论】: