Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создать отчет master-detail, firebird-fastreport 3.10-master-detail 
V
    Опции темы
sergey_85
Дата 10.12.2008, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Привет всем!
Использую FireBrid 2.1 + FIBPlus 6.5 + FastREport 3.10
Нужно построить отчет типа master-detail, но в мануале приведен тольк пример с Table, а в FIBPlus нет их только TQuery и Dataset.
Как можно выкрутитсья из данного полжения, может есть альтернатива?
(юзать надо только Dataset) 

Вот как должен выглядеть отчет:

Страна1
    Город1
    Город2
    ...
Страна2
    Город1
    Город2
    ...
...


--------------------
A good design always pays off.
PM MAIL   Вверх
Akella
Дата 10.12.2008, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Прикрути frxDBDataset к pFibDataSet
PM MAIL   Вверх
sergey_85
Дата 10.12.2008, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



блин так и делаю но суть в том что выводятся к примеру все города независимо от страны
т.е. так

Старна1
  город1
  город2
  город3
  город4

Страна2
  город1
  город2
  город3
  город4

а должно например быть так

Старна1
  город4

Страна2
  город1
  город3
  город4




--------------------
A good design always pays off.
PM MAIL   Вверх
Akella
Дата 10.12.2008, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



а при чём здесь отчёт и SQL запрос? Что тебе выдаёт запрос, то и в отчёт лезет, так что FastReport тут не причём. Сооруди сначала запросы.
PM MAIL   Вверх
Deniz
Дата 11.12.2008, 06:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

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



sergey_85, покажи sql-запрос.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
sergey_85
Дата 11.12.2008, 07:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



ну и трудно с вами.

Есть запрос 
select * from country 
и 
select * from city where city.countryId = :countryId

Есть 2 датасета
есть шаблон отчета содержащий банды MasterData и DetailData

MasterData настроен на датасет с  запросом select * from country
(туда кидаю лейбл с полем например countryId)

DetailData настроен на датасет с  запросом select * from city where city.countryId = :countryId
(туда кидаю лейбл с полем например cityId)

Отчет генерируется, данные выводятся НО  когда идет разделение то для каждой страны выводятся
ВСЕ города а не те которые есть у данной страны т.е.

Старна1
  город1
  город2
  город3
  город4

Страна2
  город1
  город2
  город3
  город4

а должно например быть так

Старна1
  город4

Страна2
  город1
  город3
  город4


--------------------
A good design always pays off.
PM MAIL   Вверх
Deniz
Дата 11.12.2008, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

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



Цитата(sergey_85 @  11.12.2008,  10:17 Найти цитируемый пост)
ну и трудно с вами.
жизнь несправедливая штука.
В отчете свяжи 2 набора данных


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Akella
Дата 11.12.2008, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(sergey_85 @  11.12.2008,  07:17 Найти цитируемый пост)
MasterData настроен на датасет с  запросом select * from country
(туда кидаю лейбл с полем например countryId)

DetailData настроен на датасет с  запросом select * from city where city.countryId = :countryId
(туда кидаю лейбл с полем например cityId)

да в любом примере для новичков тебе описывают, что мастер и деталь связаны с помощью TDataSource
PM MAIL   Вверх
Akella
Дата 11.12.2008, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



sergey_85, и ВОТ ещё
PM MAIL   Вверх
jsa
Дата 11.12.2008, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(sergey_85 @  11.12.2008,  12:17 Найти цитируемый пост)
Отчет генерируется, данные выводятся НО

а не проще ли так сделать:
1 поправить завпрос на 
Код

select * 
from city a, country b
where a.countryId = b.id
order by b.country_name, a.city_name

2 в FastReport добавить GroupHeader и указать ему поле countryID + Выводить на нем Country_Name


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
sergey_85
Дата 11.12.2008, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

все-таки хотелось бы сделать master_detail или нахрена он вобще нужен??????


--------------------
A good design always pays off.
PM MAIL   Вверх
Akella
Дата 11.12.2008, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



ТАК КТО ТЕБЕ МЕШАЕТ? ПОГУГЛИ!! В РУНЕТЕ ВАЛОМ!!!!


Цитата(Akella @  11.12.2008,  09:32 Найти цитируемый пост)
мастер и деталь связаны с помощью TDataSource

я смотрю, что новичкам уже нужно по 2 раза повторять
PM MAIL   Вверх
sergey_85
Дата 11.12.2008, 12:55 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



хорошо, Akella, свяжи мне через TDataSource два TpFIBDataSet ну?
запрсы я писал выше.


--------------------
A good design always pays off.
PM MAIL   Вверх
Akella
Дата 11.12.2008, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



кошмар  smile 
....народ пошёл...
разжевали, в рот положили, а проглотить не может

Добавлено @ 13:00
кинь на форму TDataSource, у него будет имя dsMaster (не запутайся)
tMaster - мастер НД
tDetail - деталь НД
dsMaster - TDataSource

dsMaster.dataset := tMaster;
tDetail.datasource := dsMaster;

теперь tDetail знает, что такое :countryId

а раньше ОТКУДА ЕМУ БЫЛО ЗНАТЬ?


Цитата(sergey_85 @  11.12.2008,  07:17 Найти цитируемый пост)
select * from city where city.countryId = :countryId


Добавлено @ 13:02
РАЗБЕРЁШЬСЯ? ИЛИ ТЕБЕ СНИМОК ЭКРАНА СДЕЛАТЬ?

кстати, в фибах есть примеры и описание, как сделать мастер-деталь, я в шоке, уже на русском и не прочитать и примеры не посмотреть...

Добавлено @ 13:04
Вот ещё тебе для фибов, если в доками не пользуешься

Главные - подчиненные наборы данных
В дополнение к стандартному для TDataSet механизму Master-Detail, FIBPlus имеет
дополнительную группу опций – DetailCondition, описанную следующим образом:
TDetailCondition=(dcForceOpen,dcIgnoreMasterClose,dcForceMasterRefresh,
dcWaitEndMasterScroll);
TDetailConditions= set of TDetailCondition;
dcForceOpen если включена эта опция, то детальные TpFIBDatSet будет
открываться автоматически при открытии мастера;
dcIgnoreMasterClose если включена эта опция, то детальный TpFIBDataSet не будет
закрываться в случае закрытия мастера;
dcForceMasterRefresh если включена эта опция, то при обновлении детального
TpFIBDataSet будет производиться обновление текущей записи
мастера;
dcWaitEndMasterScroll если включена эта опция, то TpFIBDataSet будет «ждать» некоторое
время при прокрутке мастера, и лишь потом переоткрывать деталь.
Опция позволяет избежать лишней работы при простой навигации по
мастеру.




FIBPlus: Особенности механизма master-detail ЧАСТЬ1
внизу странички даже есть полный рабочий код!
Вот прямая ссылка, а ещё не найдёшь smile 


FIBPlus: Особенности механизма master-detail ЧАСТЬ2

Вот ещё читать!!

Это сообщение отредактировал(а) Akella - 11.12.2008, 13:14
PM MAIL   Вверх
sergey_85
Дата 11.12.2008, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Давай снимок экрана если такой умник!

1 - не бойся за меня Я не запутаюсь.

2 - если НЕ ХОЧЕШЬ не отвечай, никто не заставляет тебя это делать!
3 - не все носят манулы с собой в кармане ко всем компонентам  как ты! и не помнят чо и где на какой странице!

//
4 - форум и для того чтобы отвечать на подобные вопросы, иначе в гугле ты х*й бы чо нашел!
//

5 - если не нравяться слишком простые вопросы найди другой форум, например для таких умников как  ты или игнорь.



6 - спасибо за ответ!  smile 



--------------------
A good design always pays off.
PM MAIL   Вверх
Akella
Дата 11.12.2008, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(sergey_85 @  11.12.2008,  13:22 Найти цитируемый пост)
Давай снимок экрана если такой умник!

я тебе дал примеры с сайта devrace, кстати я не умник, знаешь почему? я даже сам не знал, что у них на сайте есть подобная инфа, зато у ни есть поиск по сайту, прикинь, даже такое бывает smile , я ввёл Master Detail и через пару минут дат ТЕБЕ ссылки smile 


Цитата(sergey_85 @  11.12.2008,  13:22 Найти цитируемый пост)
1 - не бойся за меня Я не запутаюсь.

Цитата(sergey_85 @  11.12.2008,  13:22 Найти цитируемый пост)
Давай снимок экрана

а по-моему уже  smile 


Цитата(sergey_85 @  11.12.2008,  13:22 Найти цитируемый пост)
2 - если НЕ ХОЧЕШЬ не отвечай, никто не заставляет тебя это делать!

я хочу, чтобы такие как ты сначала хоть чуть чуть подумали и поискали, а потом уже лезли вопросы задавать.
Цитата(sergey_85 @  11.12.2008,  13:22 Найти цитируемый пост)
4 - форум и для того чтобы отвечать на подобные вопросы, иначе в гугле ты х*й бы чо нашел!

Уважаемый, есть документация (которую тебе дали сами разработчики с примерами и снимками экрана), голова и руки (/me задумался...), если нет ни того, ни другого, ни третьего, то вам, уважаемый, на стройку - бетон мешать, т.к. соединение двух таблиц в мастер-деталь - это начальный курс по базам данных, такой информации было валом ещё лет 5 назад, а сейчас и того больше, т.к. лентяи, например, перед поиском сначала вопрос задают на форуме

Это сообщение отредактировал(а) Akella - 11.12.2008, 13:48
PM MAIL   Вверх
sergey_85
Дата 11.12.2008, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Хорошо! Но сам посмотрите на форумах подобных вопросов 99,9%

И если ты знаешь не обязательно все знают!
 
форум затем и есть: задал вопрос  ответили или не ответили

если так то в инете сейчас на ВСЕ есть ответы может и форум не нужен?

а теперь набери мой вопрос в гугле! ну что есть еще один ответ? вот так вот!

да и 5 и 10 лет назад все было просто 5 лет назад мне не до этого было - мне надо сейчас и с min затратами времени на поиск.

по стройке уж если такие вопросы задаю, 100% и руки и голова и все остальное присутствуют и вполне хорошо работают!!!!!

а на стройку джамшутов отпрвляй, ок!

ВСЕ! ВОПРОС РЕШЕН, ТЕМА ЗАКРЫТА! 


--------------------
A good design always pays off.
PM MAIL   Вверх
Akella
Дата 11.12.2008, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(sergey_85 @  11.12.2008,  14:10 Найти цитируемый пост)
И если ты знаешь не обязательно все знают!

я ж тебе написал, что, например, не знал о наличии той инфы на сайте разработчика, но... пару телодвижений и ..... вуаля  smile

Добавлено через 26 секунд
Цитата(sergey_85 @  11.12.2008,  14:10 Найти цитируемый пост)
Хорошо! Но сам посмотрите на форумах подобных вопросов 99,9%

отож бо и воно smile

Добавлено через 4 минуты и 33 секунды
Цитата(sergey_85 @  11.12.2008,  14:10 Найти цитируемый пост)
а теперь набери мой вопрос в гугле! ну что есть еще один ответ? вот так вот!

слова ключевые для поиск придумать нужно тебе

Добавлено через 5 минут и 21 секунду
Цитата(sergey_85 @  11.12.2008,  14:10 Найти цитируемый пост)
да и 5 и 10 лет назад все было просто 5 лет назад мне не до этого было - мне надо сейчас и с min затратами времени на поиск.

ух вы все какие умные и быстрые, всем надо....

Добавлено через 10 минут и 18 секунд
Цитата(sergey_85 @  11.12.2008,  14:10 Найти цитируемый пост)
с min затратами времени на поиск.

поиск на сайте devrace у тебя занял бы около 2х минут... хотя для тебя спорно smile 
задал ты вопрос
10.12.2008, 14:31

дали тебе ответ
11.12.2008, 12:58
прошло чуть меньше суток  smile это с минимальными?

Добавлено через 11 минут и 2 секунды
Цитата(sergey_85 @  11.12.2008,  14:10 Найти цитируемый пост)
а на стройку джамшутов отпрвляй, ок!

ну...пытаюсь  smile

Добавлено через 11 минут и 42 секунды
Цитата(sergey_85 @  [B)
11.12.2008,  14:10[/B], post1723208]ВСЕ! ВОПРОС РЕШЕН, ТЕМА ЗАКРЫТА!  

сутки без нескольких минут smile 
PM MAIL   Вверх
sergey_85
Дата 11.12.2008, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



 smile 


--------------------
A good design always pays off.
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0628 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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