|
Вопрос по запросам
|
|||
---|---|---|---|
#18+
Здравствуйте! В Access есть запросы-объекты. В одном запросе-объекте есть параметр. Значение параметра вставляется программно. Есть код, который запускает эти запросы, в том числе запрос с параметрами. Не получается запустить программно запрос с параметрами. Подскажите, что не так и как надо написать в коде правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 07:23 |
|
Вопрос по запросам
|
|||
---|---|---|---|
#18+
ferzmikk, Код: sql 1. 2. 3.
Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 07:47 |
|
Вопрос по запросам
|
|||
---|---|---|---|
#18+
MrShin, Ок, спасибо! А если через ADO? Через ADO вроде быстрее работает ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 08:50 |
|
Вопрос по запросам
|
|||
---|---|---|---|
#18+
ferzmikkА если через ADO? Изучайте объект Command. ferzmikkЧерез ADO вроде быстрее работает Спорное утверждение. ИМХО, по скорости одинаково, но возни больше. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 09:09 |
|
Вопрос по запросам
|
|||
---|---|---|---|
#18+
Рассматриваю вариант с Command Есть код Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Когда запускаю первый раз, то на этом шаге как в скриншоте (или выделено в коде) появляется ошибка ("После Execute ожидается имя запроса"). В Parameters есть один элемент. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 10:32 |
|
Вопрос по запросам
|
|||
---|---|---|---|
#18+
Почему так происходит с параметрами? И по поводу ошибки "После Execute ожидается имя запроса", то зачем ожидает имя запроса, если в ccmd прописан запрос? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 10:33 |
|
Вопрос по запросам
|
|||
---|---|---|---|
#18+
Когда запускаю этот же код второй раз, то на предыдущем шаге как в скриншоте (или выделено в коде) появляется такая же ошибка. Но в Parameters нет ни одного элемента. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 10:35 |
|
Вопрос по запросам
|
|||
---|---|---|---|
#18+
Код: plaintext 1.
Хотя в вашем примере весь этот огород не нужен, достаточно: Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 11:58 |
|
Вопрос по запросам
|
|||
---|---|---|---|
#18+
Анатолий ( Киев ), Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 12:06 |
|
Вопрос по запросам
|
|||
---|---|---|---|
#18+
В рабочем файле есть несколько длинных запросов, которые содержат еще вложенные запросы, Join. Есть запросы, которые берутся из других запросов. Есть запросы без параметров и есть с параметрами. Результат запроса с параметрами записываются сразу в таблицу. Все запускается программно, поэтапно. Промежуточные таблицы в конце будут удаляться. Если учесть данные особенности, то запускать запрос как access-ий объект-запрос (как было в примере в начале) или все таки лучше так CurrentProject.Connection.Execute ТекстЗапроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 12:40 |
|
Вопрос по запросам
|
|||
---|---|---|---|
#18+
Я обычно запросы с коротким текстом запускаю напрямую, а сложные сохраняю как объект, ибо в тексте их сложно поддерживать и тестировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 13:18 |
|
Вопрос по запросам
|
|||
---|---|---|---|
#18+
Все тексты запросов сохраняю в отдельной таблице access. Перед запуском запроса текст запроса выгружается из этой таблицы. Если с параметром, то вставляет значение. Тут важно учесть чтобы было удобно тестировать и дорабатывать запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 13:26 |
|
Вопрос по запросам
|
|||
---|---|---|---|
#18+
Если Access база данных как файл лежит на сервере и там есть макросы в модуле, которые поочередно запускают запросы, сначала из внешних данных, потом запросы к access-им таблицам, то как можно сделать так, чтобы запускались макросы каждый день в определенное время? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 14:06 |
|
Вопрос по запросам
|
|||
---|---|---|---|
#18+
Понятное дело, что "громоздкие" запросы лучше хранить как объекты, хотя бы потому, что сохраненный запрос скомпилирован и выполняется быстрее, а также то, что в режиме конструктора его удобно просматривать и редактировать. Использование многострочных SQL выражений в процедуре делает "громоздкой" саму процедуру и затруднительным редактирование текста запроса. Возможно гибридное решение - сохраненный запрос на множестве таблиц без параметров, а в процедуре выполнение SELECT Запрос WHERE... ferzmikkРезультат запроса с параметрами записываются сразу в таблицу. Промежуточные таблицы в конце будут удаляться. Это не лучшее решение. Конечно бывают случаи, когда это единственное решение, но многое можно решить иначе. И еще о DAO vs ADO. Имейте ввиду, что в DAO все запросы входят в QueryDefs, а в ADO запросы на выборку без параметров, это Views, а остальные - Commands. А также сравните, сколько строк кода требует одна и та же задача в разных вариантах. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 14:59 |
|
Вопрос по запросам
|
|||
---|---|---|---|
#18+
Анатолий ( Киев )Понятное дело, что "громоздкие" запросы лучше хранить как объекты, хотя бы потому, что сохраненный запрос скомпилирован и выполняется быстрее, A MDX-запросы для OLAP как обращение к внешним данным куда толкать? а также то, что в режиме конструктора его удобно просматривать и редактировать. Длинные запросы написаны, они работают как надо, но если из режима SQL перейти в режим Конструктор, то пишет, что не удается представить выражение объединения в режиме конструктора, а для других запросов зависает и перезагружается Access. Почему так? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 15:31 |
|
Вопрос по запросам
|
|||
---|---|---|---|
#18+
Анатолий ( Киев )ferzmikkРезультат запроса с параметрами записываются сразу в таблицу. Промежуточные таблицы в конце будут удаляться. Это не лучшее решение. Конечно бывают случаи, когда это единственное решение, но многое можно решить иначе.А как это иначе? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 15:32 |
|
|
start [/forum/topic.php?fid=45&msg=39513513&tid=1612137]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 157ms |
0 / 0 |