|
|
|
Как выполнить "чужой запрос" через ODBC?
|
|||
|---|---|---|---|
|
#18+
Есть 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 Как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 22:35 |
|
||
|
Как выполнить "чужой запрос" через ODBC?
|
|||
|---|---|---|---|
|
#18+
Сделать это просто, создав "запрос к серверу". Подробности в хелпе Access. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 22:41 |
|
||
|
Как выполнить "чужой запрос" через ODBC?
|
|||
|---|---|---|---|
|
#18+
Отлично, то что нужно (я умею в хэлпе искать, но обычно требуется наводка :) Собсно, осталось лишь выяснить, как этот запрос параметаризовать? Я посмотрел QueryDef.Parameters - вроде похоже на правду. Но разве нельзя сделать не-программистским способом? Например, в этом серверном SQL написать что-то вроде: select * from A where aa like ":myarg" или еще как-нибудь? Это для того, чтобы потом в обычном квери сделать: select * form server_query(myparam) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 00:22 |
|
||
|
Как выполнить "чужой запрос" через ODBC?
|
|||
|---|---|---|---|
|
#18+
Текст "запроса к серверу", на сколько я знаю, уходит на сервер без каких-либо попыток Access проанализировать его содержание. Поэтому параметры в таком запросе вещь малодостижимая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 08:15 |
|
||
|
Как выполнить "чужой запрос" через ODBC?
|
|||
|---|---|---|---|
|
#18+
Таким образом, остается динамически его создавать, как я понимаю. А ODBCDirect это оно и есть? Я же могу его в том же Form_Current все время заново создавать (через QueryDef) потом как-то присобачивать к выпадающему списку (это всё таже задача :)), чтобы по Requery он сам его выполнял? Непонятно только что проставлять в filed_name.RowSource. В данный момент там написан запрос строкой: "select ... ", но согласно хэлпа там можно указывать имя запроса. Но как мне сослаться на QueryDef, который я в коде (в том же Form_Current) создаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 15:07 |
|
||
|
Как выполнить "чужой запрос" через ODBC?
|
|||
|---|---|---|---|
|
#18+
> Таким образом, остается динамически его создавать, как я понимаю. > А ODBCDirect это оно и есть? В общем - да. > Я же могу его в том же Form_Current все время заново создавать > (через QueryDef) потом как-то присобачивать к выпадающему списку > (это всё таже задача :)), чтобы по Requery он сам его выполнял? > Непонятно только что проставлять в filed_name.RowSource. > В данный момент там написан запрос строкой: "select ... ", > но согласно хэлпа там можно указывать имя запроса. Имя и проставляй. > Но как мне сослаться на QueryDef, который я в коде > (в том же Form_Current) создаю? Можешь сделать один такой запрос из среды, подставить его в качестве истоника, а потом из кода только менять у него свойство SQL с последующим Requery. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 15:46 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32211558&tid=1680445]: |
0ms |
get settings: |
4ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
53ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 186ms |
| total: | 299ms |

| 0 / 0 |
