2010-07-13 3 views
1

Я пытаюсь получить данные из SQL Server 2005, чтобы преуспеть .. Я написал код в Excel VBAПопытка получить данные из SQL Server 2005 из Excel макро

Ниже мой код

Dim strConnection, conn, rs, strSQL 

strConnection = "Provider=sqloledb;Data Source=LEON7269-G09\SQLEXPRESS;Initial Catalog=test;User Id=sa;[email protected];" 

Set conn = Server.CreateObject("ADODB.Connection") 
conn.Open strConnection 

Set rs = Server.CreateObject("ADODB.recordset") 
strSQL = "SELECT * FROM UserDetails" 
rs.Open strSQL, conn, 3, 3 

rs.MoveFirst 
While Not rs.EOF 
    Response.Write (rs("myField") & "<br/>") 
rs.MoveNext 
Wend 

rs.Close 
Set rs = Nothing 

conn.Close 
Set conn = Nothing 

Но я получаю сообщение об ошибке в строке Set Conn = Server.CreateObject ("ADODB.Connection")

как ошибка времени выполнения 424

я попытался добавить ссылки в VBA -> Инструменты -> ссылки , но ничего не работает ... Пожалуйста, руководство меня

ответ

1

Если это Excel VBA, вы должны избавиться от всех обращений к серверу, то есть:

CreateObject("ADODB.Connection") 

не

Server.CreateObject("ADODB.Connection") 

Это не будет работать, либо:

Response.Write (rs("myField") & "<br/>") 
+0

Спасибо ... теперь его рабочий тон – vinod

0

Вы упомянули вы положили ссылку, то вы должны иметь это

Dim conn as Connection 
Dim rst as Recordset 
Set conn = New Connection 
+0

Не с CreateObject («ADODB.Connection»), то есть поздняя привязка и ссылка не нужна. – Fionnuala

+0

Должна быть причина использовать позднюю привязку. В противном случае вы пропустите Intellisense;) Я не думал, что последнее обязательство было по какой-то причине. –

1

Одной из причин для использования позднего связывания может быть:

Позднее связывание имеет то преимущество, что вы не не должны скомпилировать код

в случае использования в VBA макросов, нет необходимости устанавливать ссылки, которые делают VBA макрос сложнее развернуть

Говорят, что позднее связывание работает медленнее, так как объект-интерфейс позже назначен на объект, следовательно, expr поздняя привязка.

С уважением.

Смежные вопросы