Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 922

Access 2019 и параметрические запросы

07.10.2023, 12:30. Показов 4134. Ответов 86

Студворк — интернет-сервис помощи студентам
По указанию начальства организацию переводят на Office 2019
Пару недель работали нормально. Но подошло время писать отчёты. А там у меня всё на хранимых параметрических запросах.
Для тех, кто не знает. Это такие запросы, в которые передаются параметры при вызове (запуске) запроса.
В Access 2010 всё работало нормально, а сейчас отказывается

Пример хранимого параметрического запроса
SQL
1
2
3
4
5
6
PARAMETERS [cYear] Long, [cPeriod] Long;
INSERT INTO tbl_Temp12b ( КодСубъект, НаимСубъект, КодОбл )
SELECT Тб304РеСубъект.КодСубъект, Тб304РеСубъект.НаимСубъект, Тб304РеСубъект.КодОбл
FROM Тб304РеСубъект INNER JOIN Тб321КлПериод ON Тб304РеСубъект.[Код период] = Тб321КлПериод.КодПериод
WHERE (((Тб321КлПериод.pYear)=[cYear]) AND ((Тб321КлПериод.IdCodPeriod)=[cPeriod]))
WITH OWNERACCESS OPTION;
Вызов в программе выглядит так
Visual Basic
1
2
3
                strParameters = " " & intCurYear & ", " & 16 ' " 2023, 16"
' заполнение временной таблицы tbl_Temp12b начальными данными
        CurrentProject.Connection.Execute "qry_Tab12f" & strParameters
Если запрос запускается из программы то выдаётся сообщение - смотри рисунок

Но если запрос запустить из оболочки Access дважды щелкнув по нему То запрашиваются параметры и он нормально отрабатывает.

Первый рисунок - запрос запускается кодом из программы, второй и третий - из оболочки Access.

Что делать?!
Миниатюры
Access 2019 и параметрические запросы   Access 2019 и параметрические запросы   Access 2019 и параметрические запросы  

0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.10.2023, 12:30
Ответы с готовыми решениями:

Какие отзывы об Access 2019? Что лучше Access 2016 или Access 2019?
Здравствуйте! Подскажите, стоит ли использовать Access 2019 или лучше '16?

Не работают параметрические запросы
Создал БД, сделал запрос такой , но когда запускаю запрос, получаю и ничего он не спрашивает, так же не подсвечиваются подсказки вроде...

Параметрические запросы не работают
Вечер добрый. Не пойму в чем дело: параметрический запрос создан, но все запросы работают лишь раз. Даже если открываешь заново БД, то все...

86
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 922
09.10.2023, 09:30  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от alecko5 Посмотреть сообщение
считал стандартным
Visual Basic
1
currentdb.execute strsql
Это стандартно для DAO
0
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 922
09.10.2023, 10:09  [ТС]
Цитата Сообщение от Eugene-LS Посмотреть сообщение
- Приложение компиляцию проходит?
- С библиотечными ссылками всё нормально?
- Импорт в пустой файл не помогает?
...
- Код из пост #15 работает?
приложение компиляцию проходит.
библиотечные ссылки на рисунке.
Импорт в пустой файл не помогает

Пост №15 не проверял. Пытался дома восстановить нормальную работу Access

У моего компа накрылась плата. Запускается и через 5-10 минут выключается
Там всё работало.
Пробую сейчас на свободном компьютере восстановить рабочую конфигурацию.
Пробовал ставить последние сборки Windows XT и Офис 2010 - не работает.
Какое-то из обновлений гробит программу
Но если Windows XT SP3 у меня есть ещё 2015 года, даже где-то лежит SP1, то старый диск с MSO 2010 не читается. Он у меня был двухслойный на 8ГБ.За субботу-воскресенье скачал несколько сборок и вроде есть и без обновлений. Но все не успел испытать.
По верх ставить бесполезно. Надо устанавливать систему заново и потом ставить Офис.

Сейчас сижу на работе. Здесь у меня доступ к двум серверам. К старому, гле программа работает и к новому, где программа не работает. Пытаюсь разобраться, но пока не получается.
Миниатюры
Access 2019 и параметрические запросы  
0
Эксперт MS Access
 Аватар для Eugene-LS
13262 / 5940 / 1528
Регистрация: 05.10.2016
Сообщений: 16,619
09.10.2023, 10:42
Цитата Сообщение от Silur Посмотреть сообщение
Пытаюсь разобраться, но пока не получается.
DAO 3.6 + ADO 2.8 помню у меня глючили когда вместе под MSA 2010 - то ли 2016 - не помню.
А тут ещё и ADOX 2.8 "до кучи".
Метод Execute есть и там и там - ADO свежее, но в списке (библиотечных ссылок) стоит после DAO - возможно имеет смысл поменять их местами.
Менее используемое я бы вообще на "позднее связывание" перевёл, а ещё лучше всё на ADO ...
0
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 922
09.10.2023, 11:00  [ТС]
Цитата Сообщение от Eugene-LS Посмотреть сообщение
DAO 3.6 + ADO 2.8 помню у меня глючили когда вместе под MSA 2010 - то ли 2016 - не помню.
А тут ещё и ADOX 2.8 "до кучи".
Метод Execute есть и там и там - ADO свежее, но в списке (библиотечных ссылок) стоит после DAO - возможно имеет смысл поменять их местами.
Менее используемое я бы вообще на "позднее связывание" перевёл, а ещё лучше всё на ADO ...
У меня не глючило.
Местами менял - не помогло.
Было у меня несколько запросов на добавление данных в таблицу. Почему-то упрямо отказывались работать на ADO из кода. Переписал на DAO - заработали.
Причём, если запускать из оболочки Access - отрабатывали нормально
0
Эксперт MS Access
 Аватар для Eugene-LS
13262 / 5940 / 1528
Регистрация: 05.10.2016
Сообщений: 16,619
09.10.2023, 11:08
Цитата Сообщение от Silur Посмотреть сообщение
Местами менял - не помогло.
Тогда у меня идеи закончились (на пока).
Успехов!

Добавлено через 3 минуты
Цитата Сообщение от Silur Посмотреть сообщение
Почему-то упрямо отказывались работать на ADO из кода.
Даже методом ADODB.Command.Execute?
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
10.10.2023, 09:35
Цитата Сообщение от Silur Посмотреть сообщение
Попытка поставить русский интерфейс натолкнулась на то, что в выборе языка русский оказался не активным. Санкции?
Во-первых поставьте русский, его навалом. Во-вторых, если ваша организация соблюдает санкции, то позвоните в местное отделение ФСБ.
Миниатюры
Access 2019 и параметрические запросы  
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
10.10.2023, 09:42
и референсы вот на одной из бд
Миниатюры
Access 2019 и параметрические запросы   Access 2019 и параметрические запросы  
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
10.10.2023, 09:45
Уберите DAO из референсов, он там встроенный походу
0
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 922
10.10.2023, 10:08  [ТС]
Цитата Сообщение от alvk Посмотреть сообщение
Во-первых поставьте русский, его навалом.
Русская версия у меня есть, но хотелось бы с последними обновлениями

Вот эта версия у меня работала нормально.
Миниатюры
Access 2019 и параметрические запросы  
0
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 922
10.10.2023, 10:12  [ТС]
Но дело скорее всего не в версии Офиса, а в каком-то обновлении системы. Я не разобрался в этом.
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
10.10.2023, 10:46
я со всеми обновлениями системы работаю, не понимаю что вы там придумали
0
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 922
10.10.2023, 11:32  [ТС]
Цитата Сообщение от alvk Посмотреть сообщение
я со всеми обновлениями системы работаю, не понимаю что вы там придумали
У меня - после замены Windows 7 на Windows 10 и Офиса 2010 на Офис 2019 перестали работать параметрические запросы.
Из кода при запуске через ADO. У меня их довольно много. Почти полсотни. Переписывать долго и нет времени. Пытаюсь разобраться, что на это повлияло. Если не выйдет, хочу попытаться перейти в этом случае с ADO на DAO
Но работы в этом случае много.

Добавлено через 7 минут
У клиентов был зимой случай, когда после перехода с Windows 7 на Windows 10 программы отказывались вводить даты. У одних был Офис 2019, у других - 2010. Оба на 32 разряда. Вышли из положения при помощи Portable Office 2003.
А вчера никак не мог сбросить защиту от макросов в Офисе 2013. Делал всё. Убирал через меню, запускал reg файл. Смотрел через редактор реестра. Всё равно макросы блокировались. Выручил опять Portable Office 2003
0
 Аватар для Пытливый
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
10.10.2023, 11:41
А локаль у вас в новой версии ОС не изменилась случаем? Посмотрите все настройки чисел и дат, возможно у вас просто строка параметров из за этого неправильно получается. Вы не пробовали в пустой БД сделать табличку и выполнить такой запрос с параметрами?
0
Эксперт MS Access
 Аватар для Eugene-LS
13262 / 5940 / 1528
Регистрация: 05.10.2016
Сообщений: 16,619
10.10.2023, 11:51
Silur, вот нашлось решение почти аналогичное вашему, думаю можно адаптировать и ...
Simple parameterized queries using ADO in VBA
0
Мы один, давай на "ты"
3858 / 1400 / 348
Регистрация: 16.06.2016
Сообщений: 3,300
10.10.2023, 12:37
Цитата Сообщение от Silur Посмотреть сообщение
У меня - после замены Windows 7 на Windows 10 и Офиса 2010 на Офис 2019 перестали работать параметрические запросы. Из кода при запуске через ADO. ... Пытаюсь разобраться, что на это повлияло.
чаще всего в этом виноваты кривые руки разработчика - в 99.9% случаев.
Ты так и не ответил на вопрос (тынц, тынц, тынц), что будет если сделать классически через ADODB.Command, а не используя лайфхаки (т.е. черезж#пу)
1
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 922
10.10.2023, 12:37  [ТС]
Пытливый,

Для Пытливый

Нет. В первом же запросе, когда выдаётся ошибка, в качестве параметров используются целые числа И тогда бы сообщение об ошибке было бы другим, а не таким, как в первом посте.

Базу сжимал, переписывал в пустую. Декомпилировал. Ошибка не уходила.
0
Эксперт MS Access
 Аватар для Eugene-LS
13262 / 5940 / 1528
Регистрация: 05.10.2016
Сообщений: 16,619
10.10.2023, 13:38
Цитата Сообщение от Панург Посмотреть сообщение
сделать классически через ADODB.Command, а не используя лайфхаки (т.е. черезж#пу)
Согласен!

Silur, используя не документированный способ передачи значений параметров, вы с самого начала пошли неверным путём и уже почти неделю пытаетесь заставить работать то, что работать не должно.
IMHO только время зря теряете.

Ну сколько у вас запусков запросов с параметрами и их значениями поле точки с запятой - 20? - 50? -200?!
За это время можно было 10 раз всё переделать как положено.

Почти готовое решение по ссылке в пост# 34
Научите функцию принимать ВАШУ строку вместо команды и массива значений и ... - Останется только заменить все вхождения: "CurrentProject.Connection.Execute ..." на "ExecuteParameters ..."

Фсё!
0
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 922
10.10.2023, 23:27  [ТС]
И всё равно чуда не получилось. Та же ошибка. Проверил в нескольких местах.

Теперь попробую взять чистую базу, скопировать туда таблицу и запрос и попробую там его выполнить

Пользовался вот этой статьёй Simple parameterized queries using ADO in VBA
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
11.10.2023, 02:11
Цитата Сообщение от Silur Посмотреть сообщение
А вчера никак не мог сбросить защиту от макросов в Офисе 2013
Забудьте вы уже про 2013 офис, он никогда никому не нужен был. Зачем вы по всем версиям ходите? Был у вас 2010-й, а сейчас 2019-й. На нём и остановитесь. Почему у вас запросы ADO? У вас sql сервер? Какой?
Цитата Сообщение от Silur Посмотреть сообщение
Почти полсотни.
День потратите возможно и что? На форуме уже 4 сутки пошли обсуждения.
0
Эксперт MS Access
 Аватар для Eugene-LS
13262 / 5940 / 1528
Регистрация: 05.10.2016
Сообщений: 16,619
11.10.2023, 02:18
Цитата Сообщение от alvk Посмотреть сообщение
Почему у вас запросы ADO?
Поддерживаю вопрос.

Смысл и "заточка" ADO = Работа с удалённым сервером (через драйвер ODBC), у вас (подозреваю) всё локально и подключение по "файл-сервер" наверняка - тут DAO пользовать в самый раз + там всё проще, а значит и надёжнее.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.10.2023, 02:18

Как запускать из PHP кода параметрические запросы Access...
Как запускать из PHP кода параметрические запросы Access?... Или это невозможно...

Параметрические запросы
Здравствуйте! Задание такое : Клиент вводит запрос , в котором указывает требуемый ему пункт назначения и интервал возможного времени...

Параметрические запросы в TADODataSet
Доброе время суток. Пару-тройку лет назад, когда я плотно занимался Interbase и обращался к нему с помощью компонент прямого доступа,...

Как в Access объединить запросы в один или вывести эти запросы в одном отчете и рассчитать по ним коэффициент?
Добрый день! Помогите разобраться. Есть у меня 5 запросов access, которые через долгие манипуляции все же вывели мне суммы, которые...

Проблема с отчетом MS Access 2019
Задача по базе печать договоров, в отчет скопировал 2 листа из вордового договора- больше не лезет (там 4 листа). Как мне сделать отчет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru