powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как выполнить "чужой запрос" через ODBC?
6 сообщений из 6, страница 1 из 1
Как выполнить "чужой запрос" через ODBC?
    #32211556
Artiom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ODBC'шный датасорс MySQL, таблицы из которого я вставляю как "связанные" в Аксесовскую базу.

Проблема в том, что я не знаю, как написать запрос к MySQL минуя парсер и все остальные причиндалы Аксеса. Т.е. я не хочу чтобы Аксес делал запросы _вместо_ мускула, ибо как разультат крайне плачевный, особенно по скорости, не говоря уж о различиях в синтаксисе и функционале.

Другими словами, если есть таблицы "A" и "B" в MySQL, которые доступны через ODBC, я хочу уметь писать в Аксесе:

select A.*
from A left join B
on A.id = B.aid and B.b regexp "^параметр_взятый_из_Аксес$"
where B.id is null

Как это сделать?
...
Рейтинг: 0 / 0
Как выполнить "чужой запрос" через ODBC?
    #32211558
IgorM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделать это просто, создав "запрос к серверу". Подробности в хелпе Access.
...
Рейтинг: 0 / 0
Как выполнить "чужой запрос" через ODBC?
    #32211575
Artiom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отлично, то что нужно (я умею в хэлпе искать, но обычно требуется наводка :)

Собсно, осталось лишь выяснить, как этот запрос параметаризовать? Я посмотрел QueryDef.Parameters - вроде похоже на правду. Но разве нельзя сделать не-программистским способом? Например, в этом серверном SQL написать что-то вроде:

select * from A where aa like ":myarg"

или еще как-нибудь? Это для того, чтобы потом в обычном квери сделать:

select * form server_query(myparam)

?
...
Рейтинг: 0 / 0
Как выполнить "чужой запрос" через ODBC?
    #32211645
IgorM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Текст "запроса к серверу", на сколько я знаю, уходит на сервер без каких-либо попыток Access проанализировать его содержание. Поэтому параметры в таком запросе вещь малодостижимая.
...
Рейтинг: 0 / 0
Как выполнить "чужой запрос" через ODBC?
    #32212234
Artiom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таким образом, остается динамически его создавать, как я понимаю.
А ODBCDirect это оно и есть?
Я же могу его в том же Form_Current все время заново создавать (через QueryDef) потом как-то присобачивать к выпадающему списку (это всё таже задача :)), чтобы по Requery он сам его выполнял?
Непонятно только что проставлять в filed_name.RowSource. В данный момент там написан запрос строкой: "select ... ", но согласно хэлпа там можно указывать имя запроса. Но как мне сослаться на QueryDef, который я в коде (в том же Form_Current) создаю?
...
Рейтинг: 0 / 0
Как выполнить "чужой запрос" через ODBC?
    #32212310
IgorM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Таким образом, остается динамически его создавать, как я понимаю.
> А ODBCDirect это оно и есть?

В общем - да.

> Я же могу его в том же Form_Current все время заново создавать
> (через QueryDef) потом как-то присобачивать к выпадающему списку
> (это всё таже задача :)), чтобы по Requery он сам его выполнял?
> Непонятно только что проставлять в filed_name.RowSource.
> В данный момент там написан запрос строкой: "select ... ",
> но согласно хэлпа там можно указывать имя запроса.

Имя и проставляй.

> Но как мне сослаться на QueryDef, который я в коде
> (в том же Form_Current) создаю?

Можешь сделать один такой запрос из среды, подставить его в качестве истоника, а потом из кода только менять у него свойство SQL с последующим Requery.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как выполнить "чужой запрос" через ODBC?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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