|
|
|
| Подскажите в чем проблема:
есть БД, в ней таблицы - "объект", "проверки объекта", "арендатор", "проверки арендатора", таблицы связаны между собой;
ПОЧЕМУ в отчете при группировке (как написано выше) происходит дублирование записей, хотя запись на самом деле одна (и для объекта и для арендатора) или одна запись для объекта и несколько записей для арендатора или наоборот
Может ге какие свойства в запросах или в отчете? | |
|
| |
|
|
|
| Как связаны таблицы?
На каком запросе строится отчет?
Что означает фраза "в отчете при группировке (как написано выше)"? И где "выше"?
Судя по описанию у вас связь между таблицами многие-к-многим. Поэтому в запросе, построенном на двух таблицах записи и дублируются. | |
|
| |
|
|
|
| 1. таблицы "Объект и "проверки объекта" связаны по ID объекта, соответственно "Арендатор" и "проверки арендатора" иакже связаны по ID арендатора, в свою очередь "Объект" и "Арендатор" связаны по ID объекта
2. отчет строится на запросе включающем 2 таблицы - "объект" и "Проверки объекта", связь: один-ко-многим. Также в отчет встроен подОтчет, который аналогичен первому запросу, но уже построен на основе таблиц "Арендатор" и "проверки арендатора".
3. в отчете основные поля связаны с полями подОтчета по ID объекта
под "группировкой" понимаю - объект-проверки объекта-арендатор-провекри арендатора | |
|
| |
|
|
|
| Тогда объясните, что понимать под фразой "происходит дублирование записей".
Например, если у объекта было 5 проверок, а запрос возвращает имя объекта и дату проверки, то имя объекта повторится в пяти записях. Если вы об этом, то есть 2 варианта:
1. В свойстве поля "Не выводить повторы" указать ДА;
2. Создать в отчете группировку по имени объекта и перенести поля с описанием объекта в заголовок группы.
Если имеется ввиду другое, то выложите здесь пример БД. | |
|
| |
|
|
|
| поясняю:
например: есть объект (запись в тбл.), у него есть проверка (запись в др.тбл.), причем запись об объекте ОДНА, а проверок (записей) может быть НЕСКОЛЬКО. С арендатором тоже самое : запись об арендаторе одна (в соотв.тбл.) проверок у арендатора может быть несколько (т.е. несколько записей также в соотв.тбл).
Кроме того 1 объект может быть "связан" с несколькими арендаторами.
ПРИ выполнении запроса ЯВНО ВИДНО что количество записей (что об объекте, что об арендаторе) - соответствует данным, хранящимся в таблицах, ОДНАКО в отчете появляется (чаще всего) ОДНА запись об объекте и несколько одинаковых записей об одном и том же арендаторе и его тех же самых проверках, что совсем не нужно.
Группировка именно такая, как вы предлагаете
В свойствах "не выводить повторы" уже юзал" - не помогает, в запросе - DISTINCT ROW - не помогает | |
|
| |
|
|
|
|
| Пример БД - здесь:
http://depositfiles.com/files/6qxxi9z1h
slil.ru - у меня почему-то не работает | |
|
| |
|
|
|
| Доброго времени суток.
Помогите, подскажите... уже сломал голову, не могу понять в чем дело... | |
|
| |
|
|
|
| Ваш отчет строится на запросе "Объект"-"Проверки объекта" с группировкой по объекту.
В таком отчете область данных должна отражать данные о проверках и повторяется столько раз, сколько их было. Вместо этого вы в заголовке группы выводите данные о первой проверке, а в область данных вставили подчиненный отчет, который старательно повторяется, когда у объекта 2 и более проверки. | |
|
| |
|
|
|
| СПАСИБО! Уже исправил этот косяк, сгруппировал как предложено и вынес в область данных сведения о проверках объекта.
Объекты показываются четко (причем я пока удалил из отчета подотчет по арендаторам).
КАК можно теперь впихнуть арендаторов? Может для начала создать сложный запрос на основе 4-х таблиц: объект & проверки + арендатор & проверки и потом в отчете по образу и подобию что есть сейчас сгруппировать объекты, их проверки и арендаторов с их проверками? Получится ли что нибудь?
Буду пробовать | |
|
| |
|
|
|
| Подчиненный отчет с арендаторами нужно перенести из области данных в примечание группы.
Не надо делать "сложный запрос на основе 4-х таблиц". Получится "Мухи-Котлеты", и толку не будет. | |
|
| |
|
|
|
|
| Теперь возникла новая загвоздка (ну чтоб уж совсем было красиво и корректно в отчете):
Как можно скрыть НЕКОТОРЫЕ повторяющиеся ПОЛЯ записей об объекте и об арендаторах, в случае если проверок несколько, например: нужно видеть что это за объект, его адрес и фио 1 раз, а проверки - сколько существует записей в подчиненной таблице, но тогда, естественно повторяются и другие поля.
Допустим поля "Объект", "Адрес" я через свойство "повторяющиеся записи" скрыл, но по другим полям - не вариант, потому что тогда не отображаются ФИО и др. нужные поля дальше по всей ГРУППЕ (НАПОМНЮ группировка происходит по ФИО, ID_Объект)
Может через функцию IIF(), например по полю ID объекта: вот так IIF(Count(ID)>1;[ФИО];"") , однако так не работает | |
|
| |