Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите прицепиться к SQL серверу из VBA for Excel / 3 сообщений из 3, страница 1 из 1
05.02.2004, 09:58
    #32398863
Shcegolev Anton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите прицепиться к SQL серверу из VBA for Excel
Подсказали мне тут на форуме по SQL процедуру, но она выдает ошибку. А я в VBA не силен. Помогите чем сможете...


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Public Sub GetSQLData(stSQL As String, stBooksName As String, stSheetName As String, stRangeName As String, stCellName As String, stQueryName As String)
Dim RS1 As New ADODB.Recordset

OpenConnection (Null)
Set COM = New ADODB.Command
COM.ActiveConnection = CON
COM.CommandText = stSQL
Set RS = COM.Execute

Workbooks(stBooksName).Sheets(stSheetName).Range(stRangeName).ClearContents
With Workbooks(stBooksName).Sheets(stSheetName).QueryTables.Add(RS, Sheets(stSheetName).Range(stCellName))
.Name = stQueryName
.RefreshStyle = xlInsertEntireRows
.BackgroundQuery = True
.Refresh
End With
RS.Close


Ошибка "Sub or Function not defined" на строке
Код: plaintext
OpenConnection (Null)

Что не так ?
...
Рейтинг: 0 / 0
05.02.2004, 09:59
    #32398865
Shcegolev Anton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите прицепиться к SQL серверу из VBA for Excel
Прошу прощения: во второй строке текста вместо "RS1" -- "RS"
...
Рейтинг: 0 / 0
05.02.2004, 10:57
    #32398964
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите прицепиться к SQL серверу из VBA for Excel
OPenConnection(null) - это вызов процедуры которая открвает CON для доступа у БД у вас такой процедуры нет так что :(
могу предложить свою
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
public CON  as ADODB.Connection
Public Sub OpenConnection   
  Set CON = Nothing
  Set CON = New ADODB.Connection
  On Error GoTo errH:
  With CON 
    .Provider =  "SQLOLEDB" 
    .ConnectionTimeout =  20 
    .CommandTimeout =  20 
    .Properties( "Data Source" ).Value = "(local)"  ' SQL сервер
    .Properties("Initial Catalog").Value = "DB" ' база данных
    .Properties( "User ID" ).Value =  "user"  ' ваш логин
    .Properties("Password").Value = "password" ' ваш пароль
    .Open
  End With
  Exit Function
errH:
MsgBox  "Error"  & Err.Description
end sub

и не забудьте что вышеуказанный код сработает только для смешанной аутентификации.
В своем коде меняете вызов OPenConnection(null) на CALL OPenConnection.
Не забудьте вставить определение public CON as ADODB.Connection
в самое начало модуля ( или листа или формы).
Удачи

...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите прицепиться к SQL серверу из VBA for Excel / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]