Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

6 Декабрь 2020, 00:40 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Ошибка группировки в отчете.  (Прочитано 3068 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Nat_V
Новичок
*
Offline Offline

Сообщений: 3


« Стартовое сообщение: 9 Июнь 2016, 12:02 »

В таблице две колонки - ФИО жителя и номер квартиры (Адрес).
По таблице создан отчет. Строки сгруппированы по квартире (Адресу).
При этом записи. которые должны попадать в одну группу, разделяются на несколько групп с одинаковым названием.
Различного написания квартир быть не может - заполнение осуществлялось выбором значения из выпадающего списка.
Кто-нибудь сталкивался с такой фигней?


* таблица.jpg (99.61 Кб, 587x754 - просмотрено 34 раз.)

* отчет.jpg (72.92 Кб, 778x806 - просмотрено 32 раз.)
« Последнее редактирование: 9 Июнь 2016, 12:05 от Nat_V » Записан
economist
Форумчанин
***
Offline Offline

Сообщений: 1 316


« Ответ #1: 9 Июнь 2016, 14:33 »

Немного поумничаю :-)

1) Отчет, по ходу, не сгруппировал строки по квартирам так, как это было задумано пользователем. А именно 13-х квартир - несколько

2) Нельзя доверять верхней картинке - вид таблицы могли переупорядочить/отсортировать, создастся иллюзия упорядоченности.

3) Если таблица изначально неотсортирована - то "группировка" даст как раз вторую картинку

4) Имхо, правильнее делать Отчет по Запросу, а не по Таблице (особенно если из нее нужно не всё). Если в Таблицу добавят столбец - 99% шансов того, что Отчет невосстановимо умрет. Запрос писать несложно: SELECT Квартира, ФИО, ГодРождения 'Год рождения', Телефон FROM Жильцы ORDER BY Квартира

5) Просто получить красивый и простой, экологичный список за 5 секунд проще так:
Жмем в Calc Ctrl+Shift+F4 (в старых - F4), перетаскиваем мышью имя Таблицы/Запроса в Лист, ПКМ, Автоформат (или ручками добавляем рамки). Получаем тот же автообновляемый Отчет (свойства диапазона Импорт1 гибко настраиваются)

И еще - поимев много глюков я стараюсь не использовать "Мастеры" таблиц, запросов, отчетов - лучше создавать их альтернативными методами (жмем на "Угольник").
 
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
Nat_V
Новичок
*
Offline Offline

Сообщений: 3


« Ответ #2: 9 Июнь 2016, 15:12 »

Cпасибо, не помогло.
Запрос по таблице формируется прекрасно.
Отчет, сформированный по запросу выдает такой же кривой результат.
Причем, если менять окончания фамилий, то строки начинают группироваться по-другому. Фигня какая-то.

Про то, что в calc можно таблицу отформатировать - знаю, но задача разобраться в отчете, а не выкрутиться из ситуации.
За F4 спасибо, не знал.
Записан
economist
Форумчанин
***
Offline Offline

Сообщений: 1 316


« Ответ #3: 9 Июнь 2016, 15:34 »

Задача, я так полагаю, все-таки просто сделать удобный "отчет" - список контактов, который берет данные из БД. 

Calc здесь будет в 10 раз правильнее хотя бы потому, что форматировать Отчет в BASE - намного дольше и трудней, много "молока" в данных, по умолчанию 2-я и след страницы имеют формат Letter, а не A4, сам макет отчета - образец уродства и отрицательной эргономики.

Но самое главное - Отчет в BASE легко "сломать", присутствует масса глюков. Лично для себя решил что буду изучать Oracle Report Builder (расширение для BASE, работает в OpenOffice и LibreOffice. но не без глюков) - как более прогрессивную систему отчетов, поскольку она со встроенной несовместима.


И да, покажите SELECT - запрос и назовите движок СУБД.

Если это HSQL - то вот мой его список багов, после которых я ушел на SQLite/FireBird. Итак, глюки и грабельки HSQL под Windows:

- функции SUM, GROUP, Upper итд. - не работают с кириллицей в полях условий WHERE

- функции перед выражением FROM - не поддерживаются. Что за...

- диагностические сообщения HSQLDB могут поставить в тупик кого угодно

- ошибки при выполнении запроса выдаются "кракозяблами", приходится их раскодировать

- HSQLDB очень требователен к явной группировке для всех агрегирующих функций - нужно упомянуть все(!) столбцы.

- SELECT-запросы в нем очень "многословны"

Одним, словом, что угодно, но только не HSQL...
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
Nat_V
Новичок
*
Offline Offline

Сообщений: 3


« Ответ #4: 9 Июнь 2016, 17:51 »

И да, покажите SELECT - запрос и назовите движок СУБД.
SELECT "Адрес" AS "Квартира", "ФИО" AS "ФИО", "Год рождения" AS "Год рождения", "Телефон осн" AS "Телефон осн", "Телефон доп" AS "Телефон доп", "E-mail" AS "E-mail" FROM "Контакт" WHERE "Статус" = 'Проживает' ORDER BY "Квартира" ASC

как движок СУБД опознать - не представляю
Записан
economist
Форумчанин
***
Offline Offline

Сообщений: 1 316


« Ответ #5: 10 Июнь 2016, 08:13 »

Движок отображается слева внизу в статус-баре (может быть HSQL, ODBC, SDBC итп)

Ваш запрос ничего не "группирует" (это делает GROUP BY), но таблицу упорядочивает верно.
Проверьте тип поля Квартира, открыв таблицу КОнтакты на изменение - ему надо быть INTEGER (целым числом).

Надо попробовать создать новый Отчет в режиме Мастера, но кроме Добавить все поля и кнопки Далее на каждом шаге ничего дополнительно не нажимать и не задавать.

Если ошибка повторится - забить на механизм Отчетов до лучших времен и использовать F4 в Calc.

Еще раз повторюсь - любая серьезная правка работающего Отчета может его внезапно погубить (спасет только бэкап ODB, если он есть). А вот Запрос или тем боле Представление испортить почти невозможно.
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!