Поиск:

Ответ в темуСоздание новой темы Создание опроса
> FastReporte и заданная таблица 
:(
    Опции темы
Salaman
Дата 21.10.2006, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 7.4.2006

Репутация: нет
Всего: нет



Привет всем помогите очень нужна
 
Можно ли FastReporte сделать такую таблицу заранее благодарен

user posted image

Данные берутся из двух таблиц  структуры такова

Table1               Table2 Тоже такая структура но для конденсата                                                          
КодЦеха                                                                       
Год                                                                               
Месяць
дата
п2 эти поля для ввода двухчасовой информации
п4
п6
п8
п10
п12
п14
п16
п18
п20
п22
п24 


  

Это сообщение отредактировал(а) Salaman - 21.10.2006, 12:09
PM MAIL   Вверх
Aleksej
Дата 21.10.2006, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 5.10.2006
Где: Киев

Репутация: нет
Всего: нет



если так, то придется динамически создавать колонки. это сложнее. а нельзя ли перевернуть таблицу? т.е. чтоб врядках были месяцы, а в столбцах значения?
PM MAIL ICQ   Вверх
Salaman
Дата 24.10.2006, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 7.4.2006

Репутация: нет
Всего: нет



Aleksey spasibo za vnimaniye 

Podrobneye obyasni pojaluysta kak delayetsy dinamicheskie kolonki 
PM MAIL   Вверх
Vas
Дата 24.10.2006, 08:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: 23
Всего: 28



Cross отчет.


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
Salaman
Дата 24.10.2006, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 7.4.2006

Репутация: нет
Всего: нет



Vas nu pomogi plz

Kak FastReport  delat takuyu tablicu ili narisovat chtoli

obyasni podrobneye ya documentaciyu prochital no ne nashel tam otvet 

 

PM MAIL   Вверх
Vas
Дата 24.10.2006, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: 23
Всего: 28



Цитата
Cross-tab отчет

Этот вид отчета предназначен для печати таблицы, число столбцов которой на этапе построения отчета неизвестно. При формировании отчета столбцы, не поместившиеся на странице, будут перенесены на следующую. Для построения этого отчета разместите на странице бэнд "master data" и бэнд "cross data". Бэнды crossXXX размещаются на странице вертикально. На пересечении бэндов поместите объект, который будет отображаться в качестве ячейки таблицы. Необходимо поместить объект таким образом, чтобы он полностью помещался в границы области пересечения бэндов. 


Это все, что нужно для построения базового отчета. Осталось назначить источники данных для "master data" и "cross data". Если бэнд "cross data" пересекает несколько обычных бэндов, то необходимо назначить источники данных для каждого из бэндов. Как видно, для построения cross-tab отчета необходимо как минимум два набора данных, связанных между собой отношением master-detail. 

Если заглянуть в демо (отчет Cross-tab), то видно назначение бэндов "cross header", "cross footer": footer печатается последним столбцом (например, если нужно отпечатать сумму по строке), а header - первым. Кроме того, если в опциях бэнда "cross header" включен флажок "Выводить на всех страницах", то при переносе широкой таблицы на смежный лист header будет продублирован.

Отчет этого типа может иметь переменную высоту строки данных. Для этого надо включить опцию "растягиваемый" у бэнда "master data". При этом формирование кросс-таблицы будет происходить в два прохода: на первом проходе определяется максимальная высота строки, на втором выполняется вывод данных.



Выдержка из хелпа к FR2.4.  
Только вот структура таблиц не очень понятна, отношение Master-Detail не понятно как придется делать по месяцам. А цеха придется наверное клепать запросами с UNION. И видимо придется заводить таблицу с номерами и названиями месяцов.

Это сообщение отредактировал(а) Vas - 24.10.2006, 15:00


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
Salaman
Дата 25.10.2006, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 7.4.2006

Репутация: нет
Всего: нет



To VAS

Стараюсь подробно обяснить. Короче есть три таблица два из них для ввода на каждый день двухчасавой информаций и один  справочник  цехов. Структура такова

Таблица ГАЗ                             Таблица Конденсат              Таблица Справочник

КодЦеха                                    КодЦеха                                    КодЦеха
Год                                            Год                                            Названия Цеха
Месяць                                      Месяць  
дата                                          дата
п2                                              п2   
п4                                              п4
п6                                              п6
п8                                              п8
п10                                            п10
п12                                            п12
п14                                            п14 
п16                                            п16
п18                                            п18 
п20                                            п20
п22                                            п22 
п24                                            п24

Вот чтото делал на запросе только для таблиц газа

select sp.названияцеха, месяць, sum ((п2+п4+п6+п8+п10+п12+п14+п16+п18+п20+п22+п24)) as dayly from таблица.ГАЗ as g join таблица.справочник as sp
on g.кодцеха = sp.кодцеха
where год = 2006 and месяць in (1,2,3,4,5,6,7,8,9,10,11,12)
group by kod, mes 

и в итоге получил три поля названияцеха, месяць, dayly
и
Fast reporte dbcrosstab получился так

user posted image

дальше незнаю что делать ну помогите винградцы мне сделать точно такой отчет на первой рисунке

 
PM MAIL   Вверх
Vas
Дата 25.10.2006, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: 23
Всего: 28



Salaman, а можешь эти две таблицы прикрепить, а то без базы тяжело пробовать. В твой запрос надо еще прикрутить таблицу с конденсатом. А собственно БД какая? 


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
Salaman
Дата 25.10.2006, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 7.4.2006

Репутация: нет
Всего: нет



To VAS 
 БД MySQL

Добавлено @ 12:33 
To VAS
если хочешь я отправлю копию мыло дай
PM MAIL   Вверх
Vas
Дата 25.10.2006, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: 23
Всего: 28



Код

select sp.названияцеха, ' ГАЗ' as type, g.kod, mes, sum ((п2+п4+п6+п8+п10+п12+п14+п16+п18+п20+п22+п24)) as dayly from таблица.ГАЗ as g join таблица.справочник as sp
on g.кодцеха = sp.кодцеха
where год = 2006 and mes in (1,2,3,4,5,6,7,8,9,10,11,12)
group by kod, mes 
UNION
select sp.названияцеха, ' КОНДЕНСАТ' as type, g.kod,  mes, sum ((п2+п4+п6+п8+п10+п12+п14+п16+п18+п20+п22+п24)) as dayly from таблица.КОНДЕНСАТ as g join таблица.справочник as sp
on g.кодцеха = sp.кодцеха
where год = 2006 and mes in (1,2,3,4,5,6,7,8,9,10,11,12)
group by kod, mes 
ORDER BY kod, type, mes

Вот попробуй использовать такой запрос, это объединение из двух почти одинаковых, один для газа второй для конденсата. Сортировкой должны добиться вывода цехов по порядку и по типу.  Только вот UNION поддерживается MySQL c 4 версии, а у меня естьтоки 3  smile работу запроса на мускуле не проверял, на оракуле работает.


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
Salaman
Дата 25.10.2006, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 7.4.2006

Репутация: нет
Всего: нет



to VAS

Не получается   
PM MAIL   Вверх
Vas
Дата 25.10.2006, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: 23
Всего: 28



Цитата(Salaman @  25.10.2006,  13:21 Найти цитируемый пост)
Не получается    

Чего пишет то?


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
Salaman
Дата 26.10.2006, 08:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 7.4.2006

Репутация: нет
Всего: нет



 To VAS
 Я писал так
Код
select sp.name,'ГАЗ' as type, g.kod, mes, sum ((p2+p4+p6+p8+p10+p12+p14+p16+p18+p20+p22+p24)) as dayly from gaz as g join spr_ms as sp
on g.kod_ms = sp.kod
where god = 2006 and mes in (1,2,3,4,5,6,7,8,9,10,11,12)
group by kod, mes 
UNION
select sp.name, 'КОНДЕНСАТ' as type, k.kod, mes, sum ((p2+p4+p6+p8+p10+p12+p14+p16+p18+p20+p22+p24)) as dayly from kond as k join spr_ms as sp
on k.kod_ms = sp.kod
where god = 2006 and mes in (1,2,3,4,5,6,7,8,9,10,11,12)
group by kod, mes 
ORDER BY kod, type, mes


Ошибки 
Код
Error Code : 1064
You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near '((p2+p4+p6+p8+p10+p12+p14+p16+p18+p20+p22+p24)) as dayly from g
(16 ms taken)



PM MAIL   Вверх
superVad
Дата 26.10.2006, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

Репутация: 3
Всего: 15



может пробел перед ((p2+p4+p6+p8+p10+p12+p14+p16+p18+p20+p22+p24)) не надо ставить
PM MAIL   Вверх
Salaman
Дата 26.10.2006, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 7.4.2006

Репутация: нет
Всего: нет



Spasibo superVad
 
no chto oznachaet eto

Error Code : 1054
Unknown column 'g.kod' in 'field list'
(328 ms taken)


PM MAIL   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0535 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.