Доброго времени суток. При использовании SQL запроса выдает ошибку"общая ошибка ODBC". Использую запрос к базе данных Access и вывод на лист Excel
Доброго времени суток. При использовании SQL запроса выдает ошибку"общая ошибка ODBC". Использую запрос к базе данных Access и вывод на лист Excel parovoznik
У меня вот так работает (с полным путем и с куском DSN=MS Access Database) [vba]
Код
Sub SQLQuery_1() Dim varConn As String Dim varSQL As String
Range("A1").CurrentRegion.ClearContents
varConn = "ODBC;DSN=MS Access Database;DBQ=D:\Стереть\пример\База данных7.accdb;Driver={Driver do Microsoft Access (*.accdb)}"
varSQL = "SELECT Имя, Фамилия, Должность FROM Таблица1"
With ActiveSheet.QueryTables.Add(Connection:=varConn, Destination:=Range("A1")) .CommandText = varSQL .Name = "Query-39008" .Refresh BackgroundQuery:=False End With
End Sub
[/vba]
У меня вот так работает (с полным путем и с куском DSN=MS Access Database) [vba]
Код
Sub SQLQuery_1() Dim varConn As String Dim varSQL As String
Range("A1").CurrentRegion.ClearContents
varConn = "ODBC;DSN=MS Access Database;DBQ=D:\Стереть\пример\База данных7.accdb;Driver={Driver do Microsoft Access (*.accdb)}"
varSQL = "SELECT Имя, Фамилия, Должность FROM Таблица1"
With ActiveSheet.QueryTables.Add(Connection:=varConn, Destination:=Range("A1")) .CommandText = varSQL .Name = "Query-39008" .Refresh BackgroundQuery:=False End With
немного опоздал добавлю, что диапазон нужно не просто очищать, а удалять, ибо остаются подключения добавил еще 1 вариант на Лист2 [vba]
Код
Sub SQLQuery_1() Dim varConn As String Dim varSQL As String
Range("A1").CurrentRegion.Delete xlUp
varConn = "ODBC;DSN=MS Access Database;DriverId=25;DBQ=База данных7.accdb_;DefaultDir=" & ThisWorkbook.Path varSQL = "SELECT Имя, Фамилия, Должность FROM Таблица1"
With ActiveSheet.QueryTables.Add(Connection:=varConn, Destination:=Range("A1")) .CommandText = varSQL .Name = "Query-39008" .Refresh BackgroundQuery:=False End With End Sub
[/vba]
немного опоздал добавлю, что диапазон нужно не просто очищать, а удалять, ибо остаются подключения добавил еще 1 вариант на Лист2 [vba]
Код
Sub SQLQuery_1() Dim varConn As String Dim varSQL As String
Range("A1").CurrentRegion.Delete xlUp
varConn = "ODBC;DSN=MS Access Database;DriverId=25;DBQ=База данных7.accdb_;DefaultDir=" & ThisWorkbook.Path varSQL = "SELECT Имя, Фамилия, Должность FROM Таблица1"
With ActiveSheet.QueryTables.Add(Connection:=varConn, Destination:=Range("A1")) .CommandText = varSQL .Name = "Query-39008" .Refresh BackgroundQuery:=False End With End Sub