DB trusted_connection无法正常工作
Sub INTL() Dim conn As ADODB.Connection Dim rec1 As ADODB.Recordset Dim thisSql As String Set conn = New ADODB.Connection Dim sConn As String sConn = "Provider=SQLOLEDB;Trusted_Connection=Yes;Server=mydb;trusted_connection=yes" conn.Open sConn 'Set and Excecute SQL Command' thisSql = "select top 5 * from useraccount" 'Open Rcordset' Set rec1 = New ADODB.Recordset rec1.Open thisSql, conn 'Copy Data to Excel' ActiveSheet.Range("A1").CopyFromRecordset (objMyRecordset) End Sub
该代码不在Excel中编译,错误:Sub或函数未定义
如果这是在你的IDE完全是这样的:
Dim sConn As String sConn = "Provider=SQLOLEDB;Trusted_Connection=Yes;Server=mydb;trusted_connection=yes" conn.Open sConn
那么你错过了指令分隔符,或者更好的,单独的行:
Dim sConn As String sConn = "Provider=SQLOLEDB;Trusted_Connection=Yes;Server=mydb;trusted_connection=yes" conn.Open sConn
另外,在这一行上:
ActiveSheet.Range("A1").CopyFromRecordset (objMyRecordset)
这些括号是强制传递objMyRecordset
值(即对象指针的副本)到CopyFromRecordset
方法。 这将是一个更典型的呼吁:
ActiveSheet.Range("A1").CopyFromRecordset objMyRecordset
如果CopyFromRecordset
正在使用logging集ByVal
,那么它是按值传递的。 如果它采用ByRef
,那么它通过引用传递。 通常不需要强制ByVal
。