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

Как упростить и настроить фильтрацию подчиненной формы

17.11.2025, 09:32. Показов 1648. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые форумчане, подскажите пожалуйста:
1. Как сделать чтобы при выборе запроса в подчиненной форме отображался запрос отфильтрованный по двум полям?
Нужно чтобы пользователь (технолог) открыв свою форму кликнул переключатель «Запросы» и выбрав необходимый запрос из выпадающего списка, видел только те строки где он указан, а так же не отображать строки в которых поле СтатусТП имеет значение Готово.
Я нашел один из примеров и сделал фильтрацию, но хотелось бы по возможности упростить.
2. Как сделать так, чтобы в таблице Номенклатура при вводе новой детали в поле №ТП автоматически подтягивалось значение из таблицы ТТП, если такая деталь есть в таблице ТТП, аналогично функции ВПР в Excel.
В Таблицу ТТП вносятся детали и необходимые поля из всех таблиц Номенклатура. Таблиц с номенклатурами много и детали часто повторяются. У меня получилось собрать данные, но опять не совсем удобно, приходится каждый раз очистить таблицу и потом формировать новую.
Раньше работать в Access не приходилось и работал в Excel, но таблиц стало много и с каждой работает несколько пользователей одновременно, файлы с общим доступом постоянно глючат и тормозят. Решил попробовать перенести таблицы в Access и сделать небольшую разделенную БД, но знаний пока не хватает.
Вложения
Тип файла: rar ПримерТБ.rar (48.1 Кб, 24 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.11.2025, 09:32
Ответы с готовыми решениями:

Обновление поля подчиненной формы по обновлению поля другой подчиненной формы
Доброго времени суток. Прошу помощи, запутался. Существует главная форма (допустим frmMain) На...

Выборка в подчиненной форме 2 из формы 2 по выбранному значению в подчиненной форме 1 из формы 1
Добрый день! Есть 2 формы(на первой форме находится "подчиненная форма 1", на второй "подчиненная...

Обновление подчиненной формы из подчиненной формы
Есть форма Прибора Учета на ней размещены две подформы Показания (то есть две формы одной и той же...

22
Модератор
Эксперт MS Access
 Аватар для shanemac51
12215 / 5058 / 812
Регистрация: 07.08.2010
Сообщений: 14,917
Записей в блоге: 4
17.11.2025, 10:39
Цитата Сообщение от parhomka Посмотреть сообщение
но знаний пока не хватает.
Посмотрите пример моем блоге, чтобы фильтровать любому сочетанию ваших полей, даже по части значения
https://www.cyberforum.ru/blogs/110723/4433.html
и не поняла,зачем нужны формы для каждого пользователя
Visual Basic
1
2
3
4
5
6
7
8
9
   Select Case selectedValue
        Case "Ильина Ольга":
            DoCmd.OpenForm "Ильина Ольга", WhereCondition:="ИмяПользователя='" & userName & "'"
        
        Case "Гладких Анастасия":
            DoCmd.OpenForm "Гладких Анастасия", WhereCondition:="ИмяПользователя='" & userName & "'"
        
        Case "Сергиенко Кристина":
            DoCmd.OpenForm "Сергиенко Кристина", WhereCondition:="ИмяПользователя='" & userName & "'"
Добавлено через 18 минут
Цитата Сообщение от parhomka Посмотреть сообщение
Как сделать так, чтобы в таблице Номенклатура при вводе новой детали в поле №ТП автоматически подтягивалось значение из таблицы ТТП, если такая деталь есть в таблице ТТП, аналогично функции ВПР в Excel.
в аксесс немного иная структура таблиц - обычно их несколько, в простейшем случае
----СПРАВОЧНИКИ-----
- таблица изделие - кодИ, наименованиеИ,статус изделия, возможно план
- таблица детали -кодД, гравировкаД, наименованиеД
- таблица изделие_деталь - кодИД, кодИ, кодД,комплектация
- т. материалы
- т. цеха
.....
-----ОПЕРАТИВНАЯ ИНФОРМАЦИЯ--
- таблица заказы ....
- таблица заказы_состав
2
0 / 0 / 0
Регистрация: 09.01.2021
Сообщений: 10
17.11.2025, 11:15  [ТС]
Цитата Сообщение от shanemac51 Посмотреть сообщение
и не поняла,зачем нужны формы для каждого пользователя
Пытался разными путями решить проблему с фильтрацией и экспериментировал с привязкой запроса к названию формы и полю на нем, но вышло не удобно. Я решил отказаться от этого варианта, а код еще не исправил.
0
ᴁ ©
Эксперт MS Access
 Аватар для АЕ
4136 / 2430 / 503
Регистрация: 13.12.2016
Сообщений: 8,268
Записей в блоге: 5
17.11.2025, 11:38
parhomka, сначала вам надо определится со схемой данных базы. Иными словами нормализовать ее. У вас в номенклатуре живут заказы, а это разные сущности. Определитесь что чему принадлежит. Это так-же не верно, как и на каждое изделие делать свою таблицу номенклатуры. И т.п.
0
0 / 0 / 0
Регистрация: 09.01.2021
Сообщений: 10
17.11.2025, 12:48  [ТС]
Цитата Сообщение от АЕ Посмотреть сообщение
Иными словами нормализовать ее.
Тему нормализации я начал уже изучать и схему связей прорабатываю. В данном примере использованы таблицы, с которыми пользователи работают в Excel как есть, их в будущем я переработаю. Сейчас пока экспериментирую, чтобы понять смогу ли реализовать самостоятельно то что мне нужно.
0
ᴁ ©
Эксперт MS Access
 Аватар для АЕ
4136 / 2430 / 503
Регистрация: 13.12.2016
Сообщений: 8,268
Записей в блоге: 5
17.11.2025, 14:37
Цитата Сообщение от parhomka Посмотреть сообщение
смогу ли реализовать самостоятельно то что мне нужно.
Ну вы сделали много не нужных нагромождений, значит после изучения сможете все реализовать. Нагромождения показывают с другой стороны, что вы владеете VBA, а это главное. Теперь об упрощении...
Например: Для выбора фамилии из списка вам надо получить код сотрудника для дальнейшей фильтрации. Для этого список делается из 2-х столбцов и первый с кодом нулевой ширины. Для открытия формы с сотрудником достаточно передать форме открытый аргумент с этим кодом. Его же можно использовать в запросе для отфильтровывания нужного.
0
0 / 0 / 0
Регистрация: 09.01.2021
Сообщений: 10
17.11.2025, 15:03  [ТС]
Цитата Сообщение от АЕ Посмотреть сообщение
Нагромождения показывают с другой стороны, что вы владеете VBA, а это главное
В том то и проблема, что я VBA не совсем владею. В Excel записывал не сложные макросы или в инете находил нужное и старался адаптировать под свои нужды. В данной БД тоже вынужден идти тем же путём, брал код с примера, попытался в нем разобраться и получить то, что мне нужно. Поэтому код такой корявый местами. Пока что изучаю литературу и методом научного тыка пытаюсь разобраться как оно работает. Буду рад если подскажите толковую литературу для новичка.
0
ᴁ ©
Эксперт MS Access
 Аватар для АЕ
4136 / 2430 / 503
Регистрация: 13.12.2016
Сообщений: 8,268
Записей в блоге: 5
17.11.2025, 15:26
Цитата Сообщение от parhomka Посмотреть сообщение
Буду рад если подскажите толковую литературу для новичка.
просто внимательней раздел посмотрите
0
0 / 0 / 0
Регистрация: 09.01.2021
Сообщений: 10
17.11.2025, 15:38  [ТС]
Цитата Сообщение от АЕ Посмотреть сообщение
просто внимательней раздел посмотрите
Спасибо. Я с этого раздела и начал знакомство с Access, пока изучаю MS Access 2010. Разработка приложений 2010.
0
Эксперт MS Access
 Аватар для Eugene-LS
11756 / 5818 / 1490
Регистрация: 05.10.2016
Сообщений: 16,390
21.11.2025, 08:48
Цитата Сообщение от parhomka Посмотреть сообщение
Как упростить и настроить фильтрацию
Для начала неплохо упростить схему данных.
У вас две одинаковых таблицы: "Номенклатура(изд317)" и "Номенклатура(изд372)", их следует слить в одну, и назвать ее незатейливо: "Номенклатура"
... И жить станет проще.
У вас там есть поле "Изд_№" - по нему можно отбирать необходимое 317, 372, ...
...
Я бы ещё добавил справочник изделий, с названием "Изделия", но если одна и та же номенклатура может относится к разным изделиям (как обычно и бывает) то потребуется ещё дополнительная таблица для организации связи M:M.
...
Когда схема данных будет продумана и оптимизирована - можно приступать к созданию красивого и удобного интерфейса, но не раньше, ибо замучаетесь переделывать.
А впрочем, вам на эту тему уже подсказали в пост №2
Миниатюры
Как упростить и настроить фильтрацию подчиненной формы  
0
0 / 0 / 0
Регистрация: 09.01.2021
Сообщений: 10
25.11.2025, 16:33  [ТС]
Набросал схему и примерно составил перечень таблиц, насколько я понял нужна ещё таблица для соединения Комплектовочной ведомости и Изделия. и дополнительные поля в имеющихся таблицах, верно?

Изделие
ID_изделия
Изделие
Заказ

Деталь
ID_Деталь
Деталь
Наименование

Материал
ID_Материал
Марка
Размер

Комплектовочная ведомость
ID_КВ
Комплектовочная ведомость
Основание запуска КВ
Количество
Цех потребитель
Плановый срок ПДУ
Отчёт ПДУ

Накладная
ID_Накладная
Накладная
Уникальный номер накладной
Дата выдачи

Требование
ID_Требование
Дата оформления требования
Вес по требованию
материал факт по требованию
Наличие документов
Статус требования
*Уникальный номер накладной

Склад
ID_Склад
Склад №
Дата передачи на склад
Дата получения со склада

Участок
ID_Участок
Участок
Дата Выдачи на участок
Срок участка
Примечание

Цех потребитель
ID_цех
Цех потребитель

Техбюро
ID_ТП
Трудоемкость
№тп
ТТП
Технолог
Статус ТП
T-Flex

БТЗ
ID_Трудоемкость
Трудоемкость
№тп
T-Flex(БТЗ)
Миниатюры
Как упростить и настроить фильтрацию подчиненной формы  
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12215 / 5058 / 812
Регистрация: 07.08.2010
Сообщений: 14,917
Записей в блоге: 4
25.11.2025, 17:00
Цитата Сообщение от parhomka Посмотреть сообщение
Набросал схему и примерно составил перечень таблиц
мне что-то не очень нравится структура таблиц
1
0 / 0 / 0
Регистрация: 09.01.2021
Сообщений: 10
25.11.2025, 17:37  [ТС]
Сейчас цепочка действий с таблицами эксель выглядит следующим образом:
- В подразделение поступает Комплектовочная ведомость (КВ), инженер вносит в номенклатуру состав КВ: Заказ, Изделие, Номер КВ, Деталь, Наименование детали, Марку материала, Размеры и Количество деталей.
- Далее выписывает и присваивает каждой детали номер накладной и передает накладную другому человеку, который выписывает требование (дублируя в свой журнал информацию с накладной) на получение материала со склада.
- После выписки требования на накладной ставится номер требования и возвращается инженеру.
- Инженер передает накладную на участок и отслеживает ее.
- Если в процессе оформления требования выясняется, что в снабжении нет данного материала накладная передается технологу, который выписывает материальную спецификацию на приобретение материала и инженер фиксирует номер спецификации в номенклатуре и отслеживает ее оформление.
- При внесении данных в номенклатуру инженер дублирует информацию из нее в таблицу технолога и технолог просматривает разрабатывался ли технологический процесс на данную деталь, если деталь новая, то разрабатывается технологический процесс, если ТП есть, то проставляется соответствующий номер.
- После того как технолог выявил новые детали и написал технологический процесс, передает ТП и распечатанную таблицу с номенклатурой в БТЗ на нормирование.
- БТЗ нормирует и отдает таблицу инженеру, который вносит трудоемкость в номенклатуру.

Пока номенклатур немного, но их станет больше и будет кошмар, поэтому хочу попробовать облегчить рабочий процесс. Пришла мысль присвоить накладной уникальный номер, чтобы в журнал требований подтягивалась информация, так как номера накладных могут пересекаться с разными изделиями и порой случается накладная может совпасть на разные детали в рамках одного изделия.
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12215 / 5058 / 812
Регистрация: 07.08.2010
Сообщений: 14,917
Записей в блоге: 4
25.11.2025, 19:56
Цитата Сообщение от parhomka Посмотреть сообщение
Таблиц с номенклатурами много и детали часто повторяются
сколько примерно деталей в изделии
сколько изделий - порядок
есть ли изделия, которые почти идентичны
0
Эксперт MS Access
 Аватар для Eugene-LS
11756 / 5818 / 1490
Регистрация: 05.10.2016
Сообщений: 16,390
25.11.2025, 20:02
Цитата Сообщение от shanemac51 Посмотреть сообщение
сколько примерно деталей в изделии
Странный вопрос!
ТС же не с Луны свалился, а значит "как обычно" = от 1 до прибл . 100 000
... иди знай что там за "изделия", у АПЛ, например, очень много деталей.

Но вроде как таблицы "узлы" не видно, так что может попроще.
А обычно: Изделие -> Узлы по назначению (ходовая, корпус) -> Узлы по сборке (кор. передач, подвеска, кузов) -> Детали неделимые (гайки, втулки ...)
0
0 / 0 / 0
Регистрация: 09.01.2021
Сообщений: 10
25.11.2025, 21:10  [ТС]
В моем случае изделие это самолёт, количество деталей в каждой номенклатуре до 7000. Комплектовочная ведомость может иметь один и тот же номер, но быть разной по составу или на одну и ту же деталь могут указать в разных комплектовках за разными цехами.

Добавлено через 9 минут
Цитата Сообщение от shanemac51 Посмотреть сообщение
есть ли изделия, которые почти идентичны
Есть изделия которые совпадают на 90%. Теоретически изделия должны полностью совпадать, но на практике состав меняется каждый месяц. Появляются новые детали или исключаются те которые были ранее.
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12215 / 5058 / 812
Регистрация: 07.08.2010
Сообщений: 14,917
Записей в блоге: 4
25.11.2025, 21:14
Цитата Сообщение от parhomka Посмотреть сообщение
Комплектовочная ведомость может иметь один и тот же номер, но быть разной по составу
значит номер не может быть ключом, нужен служебный ключ типа счетчик
и вся дальнейшая привязка по этому счетчику
0
Эксперт MS Access
 Аватар для Eugene-LS
11756 / 5818 / 1490
Регистрация: 05.10.2016
Сообщений: 16,390
25.11.2025, 21:20
Цитата Сообщение от parhomka Посмотреть сообщение
В моем случае изделие это самолёт
Ну я же писал! (пост #15) ...

Тогда у вас всё сложнее: Узлы по назначению (крылья, двигатель, фюзеляж, салон) -> Узлы по сборке (Топливный насос, Пер. Шасси ...) -> Детали неделимые (гайки, втулки ...)

Документ ("Накладная"), но я настаиваю на понятии "Документ".
"Документ" имеет прохождение по завершенности и исполнение по частям или полностью, и тут масса развилок.
Я, к сожалению, в строительстве самолётов не участвовал ни разу (пока).

Добавлено через 4 минуты
Цитата Сообщение от parhomka Посмотреть сообщение
Есть изделия которые совпадают на 90%
Это называется "Замены" - деталь аналогичная оригинальной, и (как минимум) не уступающая ей по характеристикам.
...
Причём, в одном узле гайку ГО19867НГ19 - можно заменить на гайку ГО12157ПУ19, а в другом нет (высота гайки и металл).
0
0 / 0 / 0
Регистрация: 09.01.2021
Сообщений: 10
25.11.2025, 21:44  [ТС]
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Тогда у вас всё сложнее: Узлы по назначению (крылья, двигатель, фюзеляж, салон) -> Узлы по сборке (Топливный насос, Пер. Шасси ...) -> Детали неделимые (гайки, втулки ...)
В моём случае разделение на агрегаты не требуется, У меня есть общая номенклатура и служба планирования ставит срок и очередность деталей. Мне необходимо отдать заготовку в цех потребитель, который в свою очередь изготовит саму деталь и будет собирать узлы согласно своего плана.
Документ который я назвал "Накладная" выписывается на основании документа, который в производстве называется "Маршрутная карта".
0
Эксперт MS Access
 Аватар для Eugene-LS
11756 / 5818 / 1490
Регистрация: 05.10.2016
Сообщений: 16,390
25.11.2025, 21:56
Цитата Сообщение от parhomka Посмотреть сообщение
У меня есть общая номенклатура и служба планирования ставит срок и очередность деталей.
Тогда фсё немного иначе, но понятие "Маршрутная карта" - нужно нудно обсуждать (станиц этак 80 - 450), как по процессам, так и по формированию на уровне схемы данных.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.11.2025, 21:56
Помогаю со студенческими работами здесь

Запрет на создание записи в подчиненной форме при отсутствии значения в поле главной формы( или в этой же подчиненной форме) Аксесс 2003
Доброго времени суток ! Помогите , пожалуйста, решить проблему! шаг 1. В форме "frmТОиР_2"...

Сумма из подчиненной формы, отмена записей в подчиненной форме
Нужна сразу помощь по четырем пунктам, форма КвитанцияСкупкиОбмена надо: 1. Суммирование поля...

Подсчет количества записей в подчиненной форме из другой подчиненной формы
Форумчане, всем привет. На форме 2 подчиненной формы. При переходе по одной отображаются данные...

Фильтрация данных в подчиненной форме через главную/в самой подчиненной
Доброго времени суток! Столкнулся с проблемой - нужно отфильтровать публикации по типу и дате в...

Дублирование записи главной формы вместе со всеми записями подчиненной формы
есть таблица: билет поля: идбилет; идклиент; идзалог подчиненная таблица: залог поля: идбилет;...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru