|
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 15
|
|||||||
Из формы открыть SQL запрос сформированный в VBA31.05.2013, 11:23. Показов 4444. Ответов 13
Метки нет (Все метки)
Добрый день, ув.-мые форумчанины
Имеется форма с полем ввода текста и с кнопкой при нажатии на кнопку с поля ввода текста берется текст (извините за тавтологию) и согласно ему создается запрос. который требуется открыть (так скажем вывести на экран) конечно можно было создать подчиненную форму и изменять его запрос, но проблема в том, что запрос формируется всегда разный и кол.-во выводимых столбцов всегда разное Добавлено через 32 минуты Нашел функцию DoCmd.RunSQL но почему-то выводит ошибку, для примера
0
|
|||||||
| 31.05.2013, 11:23 | |
|
Ответы с готовыми решениями:
13
SQL запрос для подчиненной формы черех vba
|
|
Модератор
|
|
| 31.05.2013, 11:27 | |
|
посмотрите вариант
0
|
|
|
2 / 1 / 0
Регистрация: 27.01.2015
Сообщений: 179
|
|
| 28.06.2022, 18:22 | |
|
Не мог глянуть, что уважаемаяshanemac51 поместила в архиве (читаю и пишу с мобилы), обратился к иностранным ресурсам сюда, понял причину. Ее суть в том, что база не принимает, что делать с объектом, который возвращает команда RunSQL.
В указанном мной ресурсе предлагают 2 решения, в зависимости от того, что хочет разработчик: 1 если с результатом надо ещё что-то делать, то загонять в рекордсет через OperRecordset и обрабатывать 2 если показать результат пользователю (как мне надо) ещё 2 варианта: 2.1 поместить на форме listbox, а текст запроса в RowSource Listbox'a 2.2 динамически создать таблицу или сразу запрос и высветить пользователю По мне в каждом из 2 есть недостатки: 2.1 плох, что надо сильно форму увеличивать из-за ещё одного контрола А 2.2, что после закрытия формы ещё событие писать которое бы удаляло временно созданный запрос .... Понимаю, что с момента создания темы 9 лет прошло, вдруг кому ещё кроме меня пригодится А ещё надеюсь, вдруг, кто-то из местных корифеев увидит, предложит ещё более оптимальный вариант
0
|
|
|
Модератор
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
|
|
| 28.06.2022, 18:53 | |
|
А что тут понимать?
Во-первых, нужно использовать не RunSQL, а OpenQuery, предварительно присвоив новое значение свойству SQL служебного запроса. Во-вторых, у ТС вообще не запрос, а его клочок. Даже FROM нету.
1
|
|
|
2 / 1 / 0
Регистрация: 27.01.2015
Сообщений: 179
|
|||
| 28.06.2022, 19:04 | |||
|
Capi,
Насколько я понял, для запроса на выборку из формы команда DoCmd.RunSQL вообще не подходит.
А то уж я городить начал...
0
|
|||
|
598 / 404 / 51
Регистрация: 06.03.2022
Сообщений: 2,129
|
||||||
| 28.06.2022, 19:57 | ||||||
|
Есть такое свойство .SQL и в данном случае,по моему, надо использовать его:
создаете любой "запрос1" и что-то в таком духе:
1
|
||||||
|
Модератор
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
|
||
| 28.06.2022, 20:46 | ||
|
Там про это тоже есть. Не приметили? А то столько слов написали про "решения", а главного, очень коротенького, и нет.
0
|
||
|
2 / 1 / 0
Регистрация: 27.01.2015
Сообщений: 179
|
|||
| 28.06.2022, 21:06 | |||
|
SDKU,
А дальнейшими действиями мы меняем его содержимое. Я в своём случае его во время загрузки формы создаю, а при выгрузке убиваю. Capi,
![]() Читал по диагонали, искал ответ на вопрос, что у ТС А многословие - результат осмысления собственной ошибки. Кстати, не зря огород городил: прежде чем DoCmd.OpenQuery применять, нужно Currentdb.CreateQuery (команду про памяти пишу) применить. Или, как SDKU сказал, сначала создать вручную.
0
|
|||
|
Модератор
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
|
|
| 28.06.2022, 21:51 | |
|
OrestBerserker,
Оказывается, Вы и моё сообщение по диагонали читали. Хотя там всего пара фраз. Про смену значения свойства SQL у запроса там есть. Стиль такой? Много слов продуцировать, мало слов поглощать? ))) Не обижайтесь, шутка.
0
|
|
|
2 / 1 / 0
Регистрация: 27.01.2015
Сообщений: 179
|
|
| 29.06.2022, 09:01 | |
|
Capi, в каждой шутке своя доля правды. Это профдеформация. Привык, что студенты как правило чушь говорят/пишут и сам многословить, чтобы, понять/объяснить. Вот и бывают такие проколы в нормальных сообществах.
Реально у Вас это пропустил, хотя без сообщения SDKU не понял бы. Я все надеялся, что можно обойтись без создания запроса в базе. Ведь на обновление/добавление/удаление нормально работает с кода vba.
0
|
|
|
598 / 404 / 51
Регистрация: 06.03.2022
Сообщений: 2,129
|
||
| 29.06.2022, 10:58 | ||
|
2
|
||
|
12058 / 5843 / 1492
Регистрация: 05.10.2016
Сообщений: 16,432
|
||
| 29.06.2022, 11:11 | ||
0
|
||
|
598 / 404 / 51
Регистрация: 06.03.2022
Сообщений: 2,129
|
|
| 29.06.2022, 11:21 | |
|
Точно-еще один плюс за создание запроса-на 1 сроку кода меньше (а по хорошему еще и Resume надо добавить) и еще: Eugene-LS про код который удаляет забыл ....
0
|
|
|
2 / 1 / 0
Регистрация: 27.01.2015
Сообщений: 179
|
|
| 29.06.2022, 11:50 | |
|
SDKU, благодаря Вам переосмысливаю методику работы. Я-то и впрямь каждый раз сдавал/удалял.
А теперь склоняюсь к тому, чтобы действительно создать один на все случаи жизни qwrTemp, скрыть его для полного счастья и обновлять SQL содержимое по мере надобности.
0
|
|
| 29.06.2022, 11:50 | |
|
Помогаю со студенческими работами здесь
14
Запрос SQL в VBA
Как в VBA Из одной DB открыть вторую DB и выполнить в ней запрос
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|