powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Группировка в запросе поля типа "многие-ко-многим"
7 сообщений из 7, страница 1 из 1
Группировка в запросе поля типа "многие-ко-многим"
    #39302962
alg0r1tm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаю базу данных для реестра документации на работе. История следующая:
Есть основная таблица (в которую заносятся записи о каждом документе) и несколько таблиц-справочников (подключаются к основной таблице связями). Один из справочников - список объектов (здания там всякие и земельные участки). Так как каждому документу может соответствовать несколько объектов (например, документ - письмо, в котором идет речь сразу о нескольких объектах), а каждому объекту, соответственно, несколько документов (по одному и тому же объекту могут быть разные документы), то их взаимосвязь реализована через промежуточную табличку (многие ко многим).
Сделал я запрос и на его основе сделал форму (приложенная к сообщению картинка) с фильтрами. Логика такая - без фильтров запрос выводит просто все документы, которые сейчас есть в базе, а если в фильтре выбрать, напрмер, какой-либо объект, то запрос выводит все документы по этому объекту. Вроде, все понятно, но есть кое-какая мелочь, которая мне не дает покоя.
Если в базу добавлять документ, к которому привязано несколько объектов, то этот запрос выдаст не одну строчку с этим документом, а столько, сколько объектов было привязано к этому документу, что логично. Но, конечного пользователя это будет вводить в заблуждение, когда один и тотже документ несколько раз подряд в табличке записан. Для устранения этой логичной неизбежности я решил попробовать сгруппировать повторяющиеся строки в запросе в одну. Группировал с параметром "First", так как более логичных вариантов в списке нет. И теперь возникает следующая незадача. В выпадающий список фильтра по объектам в этом поле подгружаются только те объекты, документы по которым в данный момент отображает запрос. Но, ввиду вышеупомянутой группировки, все группируемые значения, кроме первого (помните параметр "First"?) "съедаются" и в список для фильтрации не попадают.
Вот и задача - как так сгруппировать в запросе записи по полю, которое связано отношением типа многие ко многим, чтобы "съеденные" в результате группировки значения этого поля визуально видны не были, но к ним можно было обратиться фильтром?
Надеюсь, не чересчур запутанно я рассказал. Кто дочитал текст до конца и осознал смысл, прошу Вас порекомендовать как решить данную проблему. Возможно, я неправильный подход выбрал изначально и подобное можно реализовать как-то по-другому? Или нужны макросы или VBA для решения вопроса? Любые идеи и предложения в студию)
...
Рейтинг: 0 / 0
Группировка в запросе поля типа "многие-ко-многим"
    #39302963
alg0r1tm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чет картинка не прикрепилась, пробую еще раз:
...
Рейтинг: 0 / 0
Группировка в запросе поля типа "многие-ко-многим"
    #39303108
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alg0r1tm,

- фильтр работает не правильно или не в том месте.
- группировать не нужно (сортировать по объектам или ещё по чём - да).
- Если условие отбора стоит под ID объекта в таблице объект - то и будут выбраны все строки из промежуточной таблицы.
- Если условие отбора стоит под ID объекта в связующей таблице - то будут выбраны строки только этого объекта из промежуточной таблицы.

А вообще-то нужно посмотреть еще на ваш кусок схемы: Объект ---> Промежуточная таблица <--- Документ
...
Рейтинг: 0 / 0
Группировка в запросе поля типа "многие-ко-многим"
    #39303137
alg0r1tm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmag,
вот схема:
...
Рейтинг: 0 / 0
Группировка в запросе поля типа "многие-ко-многим"
    #39303218
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alg0r1tm,

Делайте запрос на три таблицы, а условие отбора по объекту ставьте на ОБЪЕКТЫДОКУМЕНТА.КодОбъекта
...
Рейтинг: 0 / 0
Группировка в запросе поля типа "многие-ко-многим"
    #39303219
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag,

хотя и так должно всё работать (по самому объекту), разницы нет
...
Рейтинг: 0 / 0
Группировка в запросе поля типа "многие-ко-многим"
    #39306909
alg0r1tm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmag,

непонятно только, какое условие отбора ставить, чтобы выводилить столько уникальные значения
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Группировка в запросе поля типа "многие-ко-многим"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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