Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.26;
Скачать: CL | DM;

Вниз

Группировка в отчете   Найти похожие ветки 

 
Jey   (2004-08-31 09:17) [0]

Всем привет!!! Такая трабла! В отчете нужно выводить меню (ну, которое висит в столовой). В этом меню нужно выводить:
"Первые блюда"
   блюдо1
   блюдо2
   блюдоN
"Вторые блюда"
   блюдо1
   блюдо2
   блюдоN
"Гарниры" и т.д
Группировку делаю по первым 2-м буквам индекса блюда - полю IND_BL. Структура поля такая: первые 2 буквы означают класс блюда, остальные 5 цифр его номер по справочнику. В свойстве Expression компонента QRExpr пробовал писать IF (COPY(Query1.IND_BL),1,2)="СУ","Первые блюда",IF (COPY(Query1.IND_BL),1,2)="МИ","Вторые блюда")). Пробовал также писать каждое условие с новой строки типа
IF (COPY(Query1.IND_BL),1,2)="СУ","Первые блюда","")
IF (COPY(Query1.IND_BL),1,2)="МИ","Вторые блюда","")

и с с ипользованием OR,... но в ответ одни маты.
Короче, в IF вместо второго аргумента подставляю новое условие, но он начинает ругаться. Как можно в Expression задать сразу несколько условий выбора?


 
dolmat   (2004-08-31 09:24) [1]

Трудновато для этих баз такое. Не мучайтесь и разделите на два поля и если нужно потом их соединить намного легче и проблемы решаться.


 
KSergey ©   (2004-08-31 09:29) [2]

Там, наверное, IF писать не надо всяко...
Да и сильно сомневаюсь, что он там ф-ции воспринимать умеет.
Наверное, надо взять и сделать в выдорке еще одно поле, которое бы содержало результат COPY(Query1.IND_BL),1,2) (к стати, я со скобками что-то не понял ничего)
По нему и рисовать условие


 
Sergey13 ©   (2004-08-31 09:30) [3]

> Структура поля такая: первые 2 буквы означают класс блюда, остальные 5 цифр его номер по справочнику
Узнаю себя в клипперной юности. 8-)
А почему бы не сделать 2 поля? И многие извраты можно будет обойти стандартным путем - в данном случае мастер-детальный отчет. И без всяких анализов.


 
KSergey ©   (2004-08-31 09:33) [4]

> [3] Sergey13 ©   (31.08.04 09:30)
> А почему бы не сделать 2 поля?

А вот и ответ:

> Узнаю себя в клипперной юности. 8-)

;)


 
Deniz ©   (2004-08-31 10:03) [5]

Вот так нада:

IF(COPY(Query1.IND_BL),1,2)="СУ","Первые блюда",
IF(COPY(Query1.IND_BL),1,2)="МИ","Вторые блюда","")

получается вариант типа
if ... then ... elseif ... then ... elseif ...кстати, список можно продолжить.Тоже самое положить в Group.Expression и тогда QReport еще и сгруппирует про такому выражению, есть правда некоторые подводные камни


 
Deniz ©   (2004-08-31 10:06) [6]

Что-то со скобками я намудрил

IF((COPY(Query1.IND_BL),1,2)="СУ","Первые блюда",
IF(COPY(Query1.IND_BL),1,2)="МИ","Вторые блюда","")


 
Jey   (2004-08-31 11:31) [7]

[5] Так пробовал так, не получается, начинает ругаться



Страницы: 1 вся ветка

Текущий архив: 2004.09.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
14-1094283240
Stany
2004-09-04 11:34
2004.09.26
биллингова система


4-1092583943
фантазер
2004-08-15 19:32
2004.09.26
hBitmap


4-1092910057
JJJ
2004-08-19 14:07
2004.09.26
WinAPI: Изменение шрифта и стиля Edita


1-1094558683
shc
2004-09-07 16:04
2004.09.26
Как отследить утечки памяти


14-1094399846
Igorek
2004-09-05 19:57
2004.09.26
Сможем ли мы когда-нибуть увидеть Большой Взрыв и другие космосы?