Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/54: Рейтинг темы: голосов - 54, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 01.01.2014
Сообщений: 10

Открыть отчет из отфильтрованной формы

01.01.2014, 22:38. Показов 10999. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте уважаемые форумчани!
Помогите пожалуйста решить следующую дилемму.

Имеется форма в виде таблицы, для этой формы есть фильтры. Для примера "наименование товара, количество, цена" например задан фильтр показать товар который стоит от 5 до 10 рублей. Все отлично, отфильтровано. Теперь стоит задача как сделать кнопку которая открыла бы готовый отчет(в плане, размер шрифта, ширина столбцов и т.д.) Если воспользоваться мастером кнопок "открыть отчет" все хорошо, но появляется не отфильтрованный список который показывает весь список таблицы
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.01.2014, 22:38
Ответы с готовыми решениями:

(MS Access 2003) Открыть отчет из формы, с передачей запроса?
В форме есть поиск по части слова с выводом в поле li, когда выделяешь нужно нажимаешь кнопку кнОтчет_Click() должен открыться отчет...

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

Открыть отчет с параметром
Логика такая: открывается форма, где нужно выбрать фамилию преподавателя, по которому ты хочешь получить отчет, жмешь на фамилию и должен...

12
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
01.01.2014, 23:56
В макросе "Открыть отчет" есть "условие отбора". Там и укажите условие, по которому Вы фильтровали записи формы.
1
0 / 0 / 0
Регистрация: 01.01.2014
Сообщений: 10
02.01.2014, 00:19  [ТС]
А не могли бы показать пример как макрос этот должен выглядеть?
Я хочу научится, но пока не понимаю как это будет сформировано.

[Условие отбора]= (далее мне нужно указать как я понимаю таблицу) [Товар]

И вопрос еще один, с помощью такого макроса получится открытие Отчета уже с заданным фильтром. А нельзя что бы фильтры которые я применял для формы перенеслись в отчет?
0
 Аватар для VinniPuh
9131 / 6138 / 593
Регистрация: 27.03.2013
Сообщений: 19,994
02.01.2014, 01:14
Цитата Сообщение от Nitoko Посмотреть сообщение
...Открыть отчет из отфильтрованной формы...
Очень плохо, что самой формы нет, самому мало кому создавать захотся, тем более угадывать имена полей и табдиц
0
0 / 0 / 0
Регистрация: 01.01.2014
Сообщений: 10
02.01.2014, 01:22  [ТС]
Хорошо, завтра скину таблицу. Просто я для этого и попросил пример как макрос должен выглядеть. что бы посидеть подумать что откуда и куда
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
02.01.2014, 01:45
Если в форме нет полей со списком, таких, что показываемое в них значение не равно значению самого комбобокса, то достаточно в команде вызова отчета, в параметре WhereCondition (4-й параметр OpenReport), написать Me.Filter. Свойство Filter строковое и содержит все выбранные ограничения.
Visual Basic
1
Docmd.Openreport "ИмяОтчета", acViewPreview,,Me.Filter
Если же есть выбор по значениям из полей со списком, то такой метод не подойдет, поскольку Access устанавливает связь между видимым значением и собственно значением поля по хитрой методике с использованием ключевого слова Lookup, которое просто передать в фильтр нельзя и надо расшифровывать.
1
 Аватар для VinniPuh
9131 / 6138 / 593
Регистрация: 27.03.2013
Сообщений: 19,994
02.01.2014, 11:20
Если Вы про условие отбора в макросе то я пишу типа следующее:
[ИмяПоляОтчетаИлиФормыКотороеОткрывается]=[Forms]![ИмяФормы]![ИмяПоляФормыПоЗначениюКоторойОткроетсяФо рма/Отчет]
1
0 / 0 / 0
Регистрация: 01.01.2014
Сообщений: 10
02.01.2014, 18:18  [ТС]
Собственно есть подобная таблица.
KHR.rar

В ней есть форма квартиры. Стоит задача сделать кнопку "Отчет". Но в этой форме часто будут применяться разные фильтры. Те что находятся на "ленте" ну и помимо может для удобства будут добавлены в саму форму (как один уже добавленный фильтр кол-во квартир) Но и будет использоваться без фильтра.

Вышеуказанные советы, (помощь) попробовал, поизучал. За это вам большое спасибо!
Код ВБА хорошо подходит, но если не делать фильтр, таблица пустая. иногда для (товара) в данном случае для квартир нужно делать что то типа прайс лист. И еще исчезает шапка (дата, Цена, Телефоны, и т.д.)

Разбор полетов в макросе здорово помогло для большего понимания что откуда и куда. В принципе можно сделать в самой форме фильтры все необходимые, но столкнулся с тем что если не задать фильтр то таблица пустая.

Ребят может быть можно сделать то что я хочу, может есть какие советы, замечания, буду рад любой помощи.
Я не прошу за меня это сделать просто подскажите где капать?
0
569 / 169 / 22
Регистрация: 18.10.2012
Сообщений: 912
18.05.2015, 15:33
Добрый день.

Возникла трудность с Разделенной формой, а именно на основе фильтрации которая была произведена на форме, вывести отчет.

Вот так выглядит фильтр по умолчанию: (((Lookup_Type.CustomerTypeName="Distrib utor") And (CUSTOMER.Отметка Not In (0))))

Как писал mobile:
Если же есть выбор по значениям из полей со списком, то такой метод не подойдет, поскольку Access устанавливает связь между видимым значением и собственно значением поля по хитрой методике с использованием ключевого слова Lookup, которое просто передать в фильтр нельзя и надо расшифровывать.
я пытался в запрос передать в таком виде: Forms!Customer!Status
пытался RecordSource формы выгрузить в запрос, но все это не привело ни к чему хорошему

пока искал по интернету, наткнулся вот на такое сообщение:
Лучше пройтись по RecordSetClone формы, собрать значения ключевых полей в строку, чтобы в результате получилось: "[Ключ] In (1, 3, 6, 20)". Эту строку и передать при вызове отчета командой DoCmd.OpenReport в аргументе WhereCondition.
Но не знаю, можно ли это применить в моём случае, да и как это вообще сделать?
Миниатюры
Открыть отчет из отфильтрованной формы  
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
18.05.2015, 16:57
duh_si, собрать строку значений многозначного поля в процедуре на подходящем событии. Код типа такого
Visual Basic
1
2
3
4
5
6
7
8
    Dim rst As DAO.Recordset, s
    Set rst = CurrentDb.OpenRecordset("select ShortName.value from Customer where id=" & Me.id)
    Do Until rst.EOF
        s = s & ",'" & rst(0) & "'"
        rst.MoveNext
    Loop
    s = "(" & Mid(s, 2) & ")"
    DoCmd.OpenReport "МойОтчет", acViewPreview, , "ShortName in" & s
Апострофы добавлены поскольку поле текстовое
1
569 / 169 / 22
Регистрация: 18.10.2012
Сообщений: 912
19.05.2015, 14:29
mobile, Спасибо!
Но если смоделировать такую ситуацию: когда в фильтре выбрано несколько условий ( См.рис выше ), на рисунке выбрано WIP2, WIP3 и допустим в поле "Type" в фильтре выбрано "Distributor" ну или еще в каком поле что-то выбрано, тогда как код будет выглядеть?

Добавлено через 3 часа 26 минут
Всё, разобрался.
0
-22 / 1 / 0
Регистрация: 04.03.2017
Сообщений: 234
10.03.2021, 16:05
mobile, Привет! Как открыть отчет по отфильтрованным данным формы?

Добавлено через 1 минуту
mobile, Мне не понятен код выше. Что за что отвечает. Не совсем еще разбираюсь в этих строках запросов.)))
0
Эксперт MS Access
 Аватар для Eugene-LS
12358 / 5865 / 1501
Регистрация: 05.10.2016
Сообщений: 16,477
10.03.2021, 16:45
Цитата Сообщение от BaumEV Посмотреть сообщение
Как открыть отчет по отфильтрованным данным формы?
Скопировать свойство Filter формы (если применён) в четвёртый аргумент команды открытия отчёта.

Добавлено через 53 секунды
Цитата Сообщение от BaumEV Посмотреть сообщение
Мне не понятен код выше
.. это конкатенация
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.03.2021, 16:45
Помогаю со студенческими работами здесь

Открыть отчет в режиме просмотра
Подскажите пожаалуйста, на кнопке стоит код открывающий отчет DoCmd.OpenReport "Выполнение плана", acViewPreview как открыть...

Моржно ли открыть отчет с отчета?
Есть "Отчет1" и "Отчет2", можно ли с открытого отчета "Отчет1" открыть "Отчет2"?

Открыть отчет на конкретной записи
Имеется форма "Составить план питания". Необходимо, чтобы при нажатии кнопки "сформированное меню" открывались меню для...

Открыть отчет на последней записи
подскажите, плз, процедуру открытия отчета на последней записи. Пробовал DoCmd.OpenReport "O_KARTA", acViewPreview, ,...

Из отчета открыть другой отчет, но с условием
Есть код VBA на открытие отчета по клику поля в другом отчете Private Sub Договор_Click() DoCmd.OpenReport "ТП",...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 19.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru