Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Office Новый топик    Ответить
 Проблема с запросом  [new]
BlackeAngel
Member

Откуда:
Сообщений: 572
Помогите правильно подключиться к таблице в Access файле. Пишет всё время, что непонятная конструкция.
Что ему надо что б понять, что это файл, это таблица и надо взять данные из неё?

Sub Macros4()
    Set conn = CreateObject("ADODB.Connection")
    conn.ConnectionString = "Provider=SQLOLEDB.1;Password=123456789;Persist Security Info=True;User ID=Admin;Initial Catalog=db_production;Data Source=RTVSMSQL-01"
    conn.Open
    Set rst = CreateObject("ADODB.Recordset")
    rst.ActiveConnection = conn
    rst.CursorType = adOpenStatic
    'Asked = "SELECT * FROM [OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\123.accdb].[otchet]"
    'Asked = "SELECT * FROM [ODBC;Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\123.accdb].[otchet]"
    'Asked = "SELECT * FROM [ODBC;Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=D:\123.accdb].[otchet]"
    Asked = "SELECT * FROM [OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\123.accdb].[otchet]"
    rst.Open Asked, conn
    Stop
End Sub
13 окт 21, 19:15    [22383309]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с запросом  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 21456
BlackeAngel
Пишет всё время, что непонятная конструкция.
Не надо рассказов по мотивам. Воспроизведите сообщение об ошибке - полностью, без купюр и изменений.
13 окт 21, 19:16    [22383310]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с запросом  [new]
BlackeAngel
Member

Откуда:
Сообщений: 572
Akina,

Если подключиться к БД Access и выполнять запрос с сервера, то рабочий код такой:
Sub Macros5()
	Set cnt = CreateObject("ADODB.Connection")
	cnt.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\123.accdb;"
	cnt.Open
	Set rs = CreateObject("ADODB.Recordset")
	rs.ActiveConnection = cnt
	rs.CursorType = adOpenStatic
	ask = "SELECT [blank] INTO base FROM [ODBC;Driver=SQL Server; SERVER=RTVSMSQL-01;UID=Admin; DATABASE=db_production; PWD=123456789].[dbo.example_table]"
	rs.Open Asked, cnt
	Stop
End Sub

Но мне надо наоборот. А как это выглядит не пойму никак.

К сообщению приложен файл. Размер - 5Kb
14 окт 21, 08:11    [22383438]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с запросом  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 21456
Ну он как бы говорит, что ему строка подключения не нравится.

А вообще если надо из одной БД дёргать за таблицы в другой БД,Ю есть стандартный синтаксис
... FROM table IN database ...
14 окт 21, 08:22    [22383443]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с запросом  [new]
BlackeAngel
Member

Откуда:
Сообщений: 572
Akina,
То что ему строка подключения не нравится, я как бы понял. Не могу понять как так, что б ему зашло.
Akina
А вообще если надо из одной БД дёргать за таблицы в другой БД,Ю есть стандартный синтаксис
... FROM table IN database ...

Так, а подробнее? Примеры? Где почитать?
14 окт 21, 08:26    [22383446]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с запросом  [new]
Serg197311
Member

Откуда: Жуковский
Сообщений: 1082
Гмм.... я бы попробовал в стринге соединения указывать провайдер для Access, а в Asked - обычный SELECT без упоминания драйверов... У меня работает так.
14 окт 21, 08:27    [22383447]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с запросом  [new]
BlackeAngel
Member

Откуда:
Сообщений: 572
Serg197311,
Мне надо конектиться к серверу, а не к БД акцеса, и работать наоборот.

Akina, шинковать таблицы не предлагать - прав на запись на сервак нетю
14 окт 21, 08:30    [22383449]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с запросом  [new]
Serg197311
Member

Откуда: Жуковский
Сообщений: 1082
BlackeAngel
Помогите правильно подключиться к таблице в Access файле.

Ну я только сюда глянул, а дальше невнимательно... Сорян
14 окт 21, 09:07    [22383454]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с запросом  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 21456
BlackeAngel
Так, а подробнее? Примеры? Где почитать?
Встроенная справка MS Access по SQL.

Access XXXX Developer Reference > Microsoft Access SQL Reference > Data Manipulation Language > SELECT Statement (Microsoft Access SQL)

Или: Создание - Запрос - Режим SQL - Поставить курсор в слово SELECT - F1 - SELECT Statement.

Сообщение было отредактировано: 14 окт 21, 09:42
14 окт 21, 09:50    [22383471]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с запросом  [new]
BlackeAngel
Member

Откуда:
Сообщений: 572
Akina,

Это здорово, НО надо сначала подключиться.
Например, если этот код выполняется из, скажем Excel или Outlook то данным Макаром не выйдет, ТК нет даже открытой базы, кроме подключения к серверу.
14 окт 21, 10:19    [22383485]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с запросом  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 21456
Вот код, который у меня в Excel в common-модуле прекрасно берёт данные из базы MS Access:

Sub get_data_from_db(DBFullName As String)
' DBFullName = "C:\Users\Akina\Documents\Мои источники данных\test.mdb"
' или 
' DBFullName = "C:\Users\Akina\Documents\Мои источники данных\test.accdb"

Dim cn As Object, rs As Object

On Error GoTo ErrorHandler

Set cn = CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & DBFullName & ";"

Set rs = CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM Kommutator", cn, , , adCmdText

' Делаем с данными из rs всё, что нам надо

rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing

On Error GoTo 0
Exit Sub

ErrorHandler:
    MsgBox "Error Description :" & Err.Description & vbNewLine & _
           "Error at line     :" & Erl & vbNewLine & _
           "Error Number      :" & Err.Number
End Sub


MS Windows 10 x64 все обновления, MS Office 2010 x86 Prof Rus

Сообщение было отредактировано: 14 окт 21, 12:42
14 окт 21, 12:52    [22383589]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Office Ответить