powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как в отчет(запрос) передать параметры из формы?
25 сообщений из 28, страница 1 из 2
Как в отчет(запрос) передать параметры из формы?
    #32559222
Vv333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть запрос в нем два параметра BedDate и EndDate. По нему построен отчет "Ф_Исх_ВОфис". Есть форма на которой с помощью календарика выбирается интервал дат "НачДата", "КонДата". При нажатии кнопки срабатывает процедура

StrParam = "BegDate = Forms!Отчет_Ф_Исх_ВОфис!НачДата, EndDate = Forms!Отчет_Ф_Исх_ВОфис!КонДата"
DoCmd.OpenReport "Ф_Исх_ВОфис", acPreview, , , , StrParam

но всеравно выскакивают окошки "Введите значение параметра BegDate" и "Введите значение параметра EndDate"
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559229
N_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо BedDate вставь в запросе Forms!Отчет_Ф_Исх_ВОфис!НачДата прямо в условие отбора. С EndDate сооответственно также.
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559233
Vv333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не работает, говорит

Недопустимое использование скобок с именем '[Forms!Отчет_Ф_Исх_ВОфис!НачДата]'

Я убрал скобки [ ]

После этого пишет

Введите значение параметра Forms!Отчет_Ф_Исх_ВОфис!НачДата
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559241
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[Forms]![Отчет_Ф_Исх_ВОфис]![НачДата]
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559243
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Либо
Код: plaintext
StrParam = "BegDate = " & Forms!Отчет_Ф_Исх_ВОфис!НачДата & " and EndDate = " & Forms!Отчет_Ф_Исх_ВОфис!КонДата
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559245
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) с запятыми не понятно их перебор
2) это кусок Where условия надо сцеплять AND или OR а не ,
в Acc97/mdb получилось
Код: plaintext
1.
2.
3.
    Dim stDocName As String
    stDocName = "TCorp"
    DoCmd.OpenReport stDocName, acPreview, , "Corp_Id = Forms![FTest]![P_1] or Corp_Id > Forms![FTest]![P_1] "
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559247
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во втором варианте мог налажать с кавычами/скобками. Лучше посмотреть в хелпе
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559253
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я вечно маюсь разницей строк для RowSource списков и строк для OpenRecordSetов
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559254
N_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если уж передавать условия через DoCmd.OpenReport, то явно не в 6- ом аргументе как тут
авторDoCmd.OpenReport "Ф_Исх_ВОфис", acPreview, , , , StrParam
а в 4-ом
как тут
автор DoCmd.OpenReport stDocName, acPreview, , "Corp_Id = Forms![FTest]![P_1] or Corp_Id > Forms![FTest]![P_1] "
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559257
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Жизнь - очень сложная штука, но это не хначит что никому нельзя верить.
А Сереже надо оторвать яйца!"
(с) Не помню кто... Чья-то песня.
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559259
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
во во
автор
1) с запятыми не понятно их перебор
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559270
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Есть запрос в нем два параметра BedDate и EndDate

если Where стоит в запросе зачем дублировать его в открытии отчета
все предложения относятся к варианту запроса не содержащему where
по полям BedDate и EndDate
иначе будет запрашивать до посинения(оторванных Темным предметов)
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559283
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Краткое резюме:
способов - до жопы. Какой больше нравится, тот пусть автор и выбирает.
Самый простой (ИМХО) для понимания и юзания - засунуть сразу в запрос этот Where. И в коде о нем забыть.
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559510
Vv333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В том то и проблема, что мне не нужно еще одно условие (Where). Т.к. все условия были придуманы при разработке запроса.
Все что мне было нужно это сказать чертовому Аксцессу, что значения НачДата и КонДата из формы нужно понимать как BegDate и EndDate в тексте запроса после PARAMETERS.

Но скорее всего такое в Аксцессе не предусмотрено.
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559515
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vv333В том то и проблема, что мне не нужно еще одно условие (Where). Т.к. все условия были придуманы при разработке запроса.
Все что мне было нужно это сказать чертовому Аксцессу, что значения НачДата и КонДата из формы нужно понимать как BegDate и EndDate в тексте запроса после PARAMETERS.

Но скорее всего такое в Аксцессе не предусмотрено.

запрос покажи если Where BedDate=forms![имя_формы]![НачДата]
то всё и так работает

если стоит Where BedDate=[Введите значение параметра BegDate]
то запрос придется переделывать
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559528
Vv333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот один из запросов

SELECT RID, SUM(Cost) AS Стоимость
FROM Call_TXT_NEW
WHERE (Date Between BegDate And EndDate) And (TypeP Like '*Вызов к роумеру*') Or (Date Between BegDate And EndDate) And (Direction Like '*Роуминг*')
GROUP BY RID;

Таких разных рапросов 6. Все они вызываются из одного общего запроса "Статистика звонков". Я во всех вместо BegDate заменил [Forms]![Отчет_Ф_Исх_ВОфис]![НачДата]. Все заработало. Но думал что както можно оюойтись без замены :(
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559531
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vv333Все заработало. Но думал что както можно оюойтись без замены :(
увы семейство PARAMETRS доступно только QueryDef при вызове отчета он обращается напрямую к запросу
Итого я других решений не вижу
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559711
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Маленький FAQ на эту тему:

Способы передачи параметров и хранения настроек:

Глобальные переменные

Пользовательские свойства Базы данных

Настройки, сохраненные в реестре

Настройки, сохраненные в таблицах

Прередача через OpenArgs

Подробное описание способов:
http://kozin1.narod.ru/newsite/index.html?publicvariables.htm
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559715
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что бы не мучаться с передаваемыми параметрами и чтобы не получать пустой отчет, я применяю такой способ:
Правлю запрос, на котором сидит отчет, всавляя в него все необходимые критерии, затем этот запрос открываю в рекордсете как SELECT TOP 1 * FROM ...
Если запрос пустой - даю сообщение и не открываю отчет.
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559759
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Rivkin Dmitry

есть стадартное решение от микрософт

Код: plaintext
1.
2.
3.
Private Sub Report_NoData(Cancel As Integer)
MsgBox "Нет проектов по выбранному условию"
Cancel = True
End Sub
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559765
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага есть даже в 97
Код: plaintext
1.
2.
Событие Отсутствие данных (NoData) возникает после форматирования отчета для печати, если отчет не содержит данных
(присоединен к пустому набору записей), но до вывода отчета на печать. Это событие используют для отмены печати пустого отчета..
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559811
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен, но оно наступает только после того, как полностью загрузится весь рекордсет и если он большой, то сообщение можно будет получить только после долгого ожидания. В моем варианте я получаю результат несколько быстрее из-за TOP 1.

Но в общем-то я представлял свой метод безпараметерной загрузки отчета...
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32559862
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rivkin Dmitry только после долгого ожидания

я предпочитаю делать отчеты так чтоб он считался от долей секунды до 2-3 секунд. скажу сразу - у меня ADP.
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32560450
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторя предпочитаю делать отчеты так чтоб он считался от долей секунды до 2-3 секунд

И как это удается? Как вывести отчет, содержащий сложный запрос и несколько тысяч страниц за 2-3 сек?

Может быть начать новый топик с вопросом кто как оптимизирует отчеты?
...
Рейтинг: 0 / 0
Как в отчет(запрос) передать параметры из формы?
    #32560465
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rivkin Dmitry авторя предпочитаю делать отчеты так чтоб он считался от долей секунды до 2-3 секунд

И как это удается? Как вывести отчет, содержащий сложный запрос и несколько тысяч страниц за 2-3 сек?

Может быть начать новый топик с вопросом кто как оптимизирует отчеты?

205 страниц - отраслевой телефонный справочник ~ 10000 персон
сложный Union с заполнением для каждого №страницы для оглавления
10 сек на открытие/6 переход на последнюю
несколько тысяч страниц - не прочитать /не сброшюровать
что за зверь не Талмуд часом ?
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как в отчет(запрос) передать параметры из формы?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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