Добрый вечер! НЕ могу решить следующую проблему? подключение к базе данных SQL через макрос. надо просто из таблицы выевсти данные в excel/ [vba]
Код
Option Explicit Private Sub testADO() Dim oConn As Object, oRS As Object, fld As Object Dim nRow As Integer, nCol As Integer
Set oConn = CreateObject("ADODB.Connection") Set oRS = CreateObject("ADODB.Recordset") oConn.Open "Provider=MSDASQL;SERVER=ЮЛЯ-ПК;DATABASE=test;"
oRS.Open "SELECT * FROM tst", oConn
nCol = 1 For Each fld In oRS.Fields Cells(1, nCol).Value = fld.Name nCol = nCol + 1 Next
oRS.MoveFirst nRow = 2 Do Until oRS.EOF nCol = 1 For Each fld In oRS.Fields Cells(nRow, nCol).Value = fld.Value nCol = nCol + 1 Next oRS.MoveNext nRow = nRow + 1 Loop oRS.Close End Sub
А у меня подключение к базе через аутентификацию виндовс. видимо я не так прописываю. что нужно изменить?
[/vba]
Добрый вечер! НЕ могу решить следующую проблему? подключение к базе данных SQL через макрос. надо просто из таблицы выевсти данные в excel/ [vba]
Код
Option Explicit Private Sub testADO() Dim oConn As Object, oRS As Object, fld As Object Dim nRow As Integer, nCol As Integer
Set oConn = CreateObject("ADODB.Connection") Set oRS = CreateObject("ADODB.Recordset") oConn.Open "Provider=MSDASQL;SERVER=ЮЛЯ-ПК;DATABASE=test;"
oRS.Open "SELECT * FROM tst", oConn
nCol = 1 For Each fld In oRS.Fields Cells(1, nCol).Value = fld.Name nCol = nCol + 1 Next
oRS.MoveFirst nRow = 2 Do Until oRS.EOF nCol = 1 For Each fld In oRS.Fields Cells(nRow, nCol).Value = fld.Value nCol = nCol + 1 Next oRS.MoveNext nRow = nRow + 1 Loop oRS.Close End Sub
А у меня подключение к базе через аутентификацию виндовс. видимо я не так прописываю. что нужно изменить?
_Boroda_ прав. У вас строка подключения не правильная. ЮЛЯ-ПК вы с него заходите на сервер? Если работаете по сети,то подключайтесь через аутентификацию Sql сервера Строка подключения будет такая [vba]
_Boroda_ прав. У вас строка подключения не правильная. ЮЛЯ-ПК вы с него заходите на сервер? Если работаете по сети,то подключайтесь через аутентификацию Sql сервера Строка подключения будет такая [vba]
У меня локальное соединение. получается только сервер пишу и все. нет логина и пароля. что мне в данном случае указывать. локальное соединение на домашнем компе. И что вот это Data Source=111.194.94.52,1433???? я так понимаю сервер
У меня локальное соединение. получается только сервер пишу и все. нет логина и пароля. что мне в данном случае указывать. локальное соединение на домашнем компе. И что вот это Data Source=111.194.94.52,1433???? я так понимаю серверspunch
doober, все равно не подключает. не понимаю в чем проблема(((
прописываю так:
[vba]
Код
Option Explicit Private Sub test() Dim oConn As Object, oRS As Object, fld As Object Dim nRow As Integer, nCol As Integer
Set oConn = CreateObject("ADODB.Connection") Set oRS = CreateObject("ADODB.Recordset") oConn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Initial Catalog=bazadn;Data Source=localhost\SQLEXPRESS;"
oRS.Open "SELECT * FROM bazadn", oConn
nCol = 1 For Each fld In oRS.Fields Cells(1, nCol).Value = fld.Name nCol = nCol + 1 Next
oRS.MoveFirst nRow = 2 Do Until oRS.EOF nCol = 1 For Each fld In oRS.Fields Cells(nRow, nCol).Value = fld.Value nCol = nCol + 1 Next oRS.MoveNext nRow = nRow + 1 Loop oRS.Close End Sub
[/vba] и вот такая ошибка выходит(( что это почему не подключает вродле все верно((((
doober, все равно не подключает. не понимаю в чем проблема(((
прописываю так:
[vba]
Код
Option Explicit Private Sub test() Dim oConn As Object, oRS As Object, fld As Object Dim nRow As Integer, nCol As Integer
Set oConn = CreateObject("ADODB.Connection") Set oRS = CreateObject("ADODB.Recordset") oConn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Initial Catalog=bazadn;Data Source=localhost\SQLEXPRESS;"
oRS.Open "SELECT * FROM bazadn", oConn
nCol = 1 For Each fld In oRS.Fields Cells(1, nCol).Value = fld.Name nCol = nCol + 1 Next
oRS.MoveFirst nRow = 2 Do Until oRS.EOF nCol = 1 For Each fld In oRS.Fields Cells(nRow, nCol).Value = fld.Value nCol = nCol + 1 Next oRS.MoveNext nRow = nRow + 1 Loop oRS.Close End Sub
[/vba] и вот такая ошибка выходит(( что это почему не подключает вродле все верно((((spunch