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

Вниз

Кросс-отчет в FastReport   Найти похожие ветки 

 
kirat ©   (2010-09-09 16:15) [0]

Извините если не в тему. Столкнулся с проблемой. Есть 3 таблички
CREATE TABLE CLIENT (
   ID      INTEGER,
   NAME_S  VARCHAR(30),
   MEMO    VARCHAR(50)
);
ID NAME_S MEMO

1 Klient1
2 Klient2
3 Klient3
4 Klient4
5 Klient5

CREATE TABLE TOVAR (
   ID      INTEGER,
   NAME_S  VARCHAR(30)
);

ID NAME_S

1 Tovar1
2 Tovar2
3 Tovar3
4 Tovar4
5 Tovar5

CREATE TABLE PRICE (
   ID        INTEGER,
   IDCLIENT  INTEGER,
   IDTOVAR   INTEGER,
   CENA      INTEGER,
   KOL       NUMERIC(15,2)
);

ID IDCLIENT IDTOVAR CENA           KOL
   
1   1             1        12,00          1,00
2   1             4         13,00          2,00
3   2              5        14,00          3,00
4   3             2       151,00          4,00
5   3             3        16,00          5,00
6   4             2        17,00          6,00
7   4             1       178,00          7,00
8   5             2        8,00          8,00
9   5             3        7,00          9,00
10   5             4        6,00         10,00

Как мне построить отчет чтобы показывало какой клиент сколько товара заказал.
Примерно в виде
[img]http://www.tarik.nm.ru/rep.JPG[/img]

Громадное спасибо!


 
kirat ©   (2010-09-09 16:19) [1]

http://www.tarik.nm.ru/rep.JPG


 
kirat ©   (2010-09-10 13:21) [2]

Ну кто нибудь ПОДСКАЖИТЕ ПОЖАЛУЙСТА!


 
George ©   (2010-09-10 13:24) [3]

В Microsoft SQL"ах есть инструкция TRANSFORM..PIVOT для таких целей. Вроде бы.


 
George ©   (2010-09-10 13:28) [4]


> George ©   (10.09.10 13:24) [3]

Вру немножко, нужен просто оператор PIVOT, который есть в MS SQL Server не ниже 2005ой версии. В остальных видимо курсором бегать и преобразовывать. Я не знаю, я бы так как-то делал. Ваще че за СУБД то?


 
Inovet ©   (2010-09-10 13:46) [5]

Ну а чем кроссотчёт из ФР не устроил. Где, кстати, сколько заказали клиенты, это что ли TABLE PRICE?
Делай запрос модно и прямо в ФР чтобы получилось
Клиент, наименование, количество
потом в кросс ФР его и подсовывай.


 
Inovet ©   (2010-09-10 13:47) [6]

> [5] Inovet ©   (10.09.10 13:46)
> модно

можно


 
kirat ©   (2010-09-10 16:33) [7]

firebird 1.5 делаю я из ФР, но все накидал накидал а выдает чепуху.


 
Inovet ©   (2010-09-10 16:58) [8]

> [7] kirat ©   (10.09.10 16:33)
> firebird 1.5 делаю я из ФР, но все накидал накидал а выдает чепуху.

Что возвращает запрос проверял? И ФР-то какой версии?


 
Kirat ©   (2010-09-10 18:38) [9]

С кросс отчетами сталкиваюсь впервые.
Ну смотрите, если я правильно понял. Я делаю
на Query1
select client.name_s from price, client where client.id=price.idclient order by client.id
на Query2
select  * from price order by idclient
В ФР ложу MasterData источник Query1, потом горизонтальный MasterData источник Query2 на пересечение ставлю Query2.Kol
Выводит мне вот такое

http://tarik.nm.ru/rep2.JPG

Что и где я не прав? Как мне его построить?
Громадное спасибо.


 
kirat ©   (2010-09-10 18:40) [10]

ФР Free или ФР3.24


 
Inovet ©   (2010-09-10 18:50) [11]

> [10] kirat ©   (10.09.10 18:40)
> ФР Free или ФР3.24

В FR Free не знаю, но вроде тоже есть новый кросс. В FR 3.x, 4.x есть специальный "компонент" на палитре. Вот его и пользуй. Он работает с одним набором, как я выше показал.
Имя_клиента, Имя_товара, Количество
Или больше полей, которые можно группировать по разному.


 
boriskb ©   (2010-09-10 19:02) [12]

Кросс отчет во ФР штука мощная и удобная.
Тем не менее пару раз мне приходилось для создания нужного отчета создавать временную таблицу.
Благо объем был удобоваримый.
То есть из нескольких таблиц выдергивал нужные поля (в том числе и вычислимые) а потом уже отчет по новой таблице делал.


 
PEAKTOP ©   (2010-09-11 13:20) [13]

http://sql.ru/forum/actualthread.aspx?tid=787898&pg=-1


 
Inovet ©   (2010-09-11 14:04) [14]

> [13] PEAKTOP ©   (11.09.10 13:20)

Хм.
Короче, автор, в запросе таблицу PRICE свяжи с помощью LEFT JOIN со справочными CLIENT и TOVAR, заодно и сгруппируй как надо SUM() и GROUP BY, чтобы не напрягать ФР.


 
kirat ©   (2010-09-13 10:43) [15]

Всем большое спасибо за помощь! Разобрался что к чему.



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

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

Наверх




Память: 0.5 MB
Время: 0.008 c
4-1242970329
kioki
2009-05-22 09:32
2010.12.19
Диалог выбора папки из скрытых ресурсов(c$,d$) на пк в сети


2-1285169075
Женя
2010-09-22 19:24
2010.12.19
Работа с файлами


15-1283874133
И. Павел
2010-09-07 19:42
2010.12.19
В честь чего такой гугл сегодня?


15-1283891373
Юрий
2010-09-08 00:29
2010.12.19
С днем рождения ! 8 сентября 2010 среда


15-1283925708
sniknik
2010-09-08 10:01
2010.12.19
Что за проблема с кнопками?