Я делаю макрос и беру дату и db от пользователя. и на этой основе я получаю данные из db. вот мой код, пожалуйста, взгляните и поделитесь, если у вас есть какое-нибудь решение.копирование данных из Sql Db в excel на основе даты и db, взятых у пользователя
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Function GetConnectionString() As String
Dim strCn As String
strCn = "Provider=sqloledb;"
strCn = strCn & "Data Source=" & Range("Server") & ";"
strCn = strCn & "Initial Catalog=" & Range("Database") & ";"
If (Range("UserID") <> "") Then
strCn = strCn & "User ID=" & Range("UserID") & ";"
strCn = strCn & "password=" & Range("Pass")
Else
strCn = strCn & "Integrated Security = SSPI"
End If
GetConnectionString = strCn
End Function
Sub Test()
ActiveWorkbook.Sheets("Sheet1").Activate
Dim ws As Worksheet
Dim Sql As String
Dim d As String
d = Range("A2").Value
d = Format(d, "yyyy-mm-dd")
cn.ConnectionTimeout = 100
cn.Open GetConnectionString()
Sql = "select * from config where convert(date,logadate,103)='"& d &"'"
ExecInsert (Sql)
Set rs.ActiveConnection = cn
rs.Open Sql
ActiveWorkbook.Sheets("Sheet2").Activate
Dim ws1 As Worksheet
**Range("A2").CopyFromRecordset (rs)**
cn.Close
End Sub
Sub ExecInsert(selectquery As String)
'End Sub
Dim cmd As New ADODB.Command
cmd.CommandText = selectquery
cmd.CommandType = adCmdText
cmd.ActiveConnection = cn
cmd.Execute
End Sub
Range ("A2"). CopyFromRecordset (RS) это где я получаю ошибку
'430' Класс ошибки Тип запуска не поддерживает автоматизацию или не поддерживает ожидаемый интерфейс У меня есть все DLL и зарегистрировано. и даже никакой ссылки не хватает с моего конца.
, если какой-либо орган имеют лицу этот вопрос, пожалуйста, помогите ...
это синтаксическая ошибка? проверьте свои белые пробелы, потому что кажется, что слишком много – 2013-04-04 11:26:35
следуют за этим: «SELECT * FROM [tblName] WHERE [Field] = Format (#" & dealdate & "#,'yyyy \/mm \/dd ');" – 2013-04-04 11:31:56
спасибо за реагирование, – honey