Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Баг в группировке FASTREPORT / 3 сообщений из 3, страница 1 из 1
17.05.2012, 20:04
    #37799820
Баг в группировке FASTREPORT
Всем привет!

Вот приходится писать для Галактики отчеты на FastReport. Проблема одна - не работает группировка. а точнее не происодит полной группировки по значениям поля. Заголовок одной и той же группы может повторяться сколь угодно много раз (а в нем идёт нормальная детализация), при этом, значения в поле отсортированы.

Пример правильной группировки
1 курс
группа ПМ-111
Стедент Петров
Студент Иванов
2 курс
группа ИМ-110
Студент Силькин
Студент Васькина
3 курс
группа ИМ-112
Студент Крошкин
Студент Брошкин

А у меня:

1 курс
группа ПМ-111
Стедент Петров
Студент Иванов
3 курс
группа ИМ-112
Студент Крошкин
Студент Брошкин
2 курс
группа ИМ-110
Студент Силькин
Студент Васькина
1 курс
группа ПМ-222
Стедент Оськин
Студент Броськин


Ребят. подскажите в чём дело, а?
...
Рейтинг: 0 / 0
18.05.2012, 08:01
    #37800130
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Баг в группировке FASTREPORT
где имя субд, где запрос?
или нам надо гадать?
...
Рейтинг: 0 / 0
18.05.2012, 10:07
    #37800313
Баг в группировке FASTREPORT
СУБД - MSSQLServer 2008R2 лицензионный.
Запрос, получающий из таблиц Галактики информацию о: Форме обучения студента; семестре обучения; факультете обучения; группе. в которой учится студент; курсе, на котором учится студент; ФИО студента; дисциплине, которую сдавал студент; оценке за экзамен (l.F$WTYPE = 2). В предложении
Код: sql
1.
order by

поля указаны в соответствии с порядком группировки в отчете FASTReport.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
select
  case
  when std.F$WFORMED = 0
   then 'Очная'
  when std.F$WFORMED = 1
   then 'Заочная'
  when std.F$WFORMED = 2
   then 'Очно-заочная'
 end form,
 l.F$WSEMESTR as "Семестр",
 fac.F$NAME as "Факультет",
 grp.F$NAME as "Группа",
 convert(varchar(1), grp.F$COURSE) + ' курс' as "Курс",
 std.F$FIO,  
 d.F$NAME as "Дисциплина",                      
 isnull(c.F$NAME, 'Оценка отсутствует') as "Оценка",
from 
 T$U_MARKS m left join T$CATALOGS c on c.F$NREC = m.F$CMARK
 inner join T$U_LIST l on l.F$NREC = m.F$CLIST
 inner join T$U_DISCIPLINE d on d.F$NREC = l.F$CDIS
 inner join T$PERSONS pr on pr.F$NREC = m.F$CPERSONS
 inner join T$U_STUDENT std on std.F$CPERSONS = pr.F$NREC
 inner join T$U_STUDGROUP grp on grp.F$NREC = std.F$CSTGR
 inner join T$CATALOGS fac on fac.F$NREC = std.F$CFACULTY
where 
 l.F$WTYPE = 2
order by
 convert(varchar(1), grp.F$COURSE),
 grp.F$NAME,
 std.F$FIO
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Баг в группировке FASTREPORT / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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