|
FastReport и работа с несколькими таблицами одновременно
|
|||
---|---|---|---|
#18+
Доброго времени суток. Имеется 2 таблицы ну пусть предположим такой структуры table1 ------------ id name summa и table 2 ------------ id t1_id name summa , в первой таблице содержаться основные улсуги по заявке, во второй дополнительные и не обязательные услуги, необхдимо вывести в общий чек все услуги, оказываемые клиенту. Как я понимаю необходимо в действовать через бенд группирровки, но не фига не получается, подсткажите ссылку на удобоваримый документ с подобной группировкой, надо доделать срочно как обычно - и времени не хватает :). Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2015, 11:26 |
|
FastReport и работа с несколькими таблицами одновременно
|
|||
---|---|---|---|
#18+
comtehno, думаю, для начала надо связать в источнике эти таблицы. а потом прочитать хелп на офф сайте фаста. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2015, 15:23 |
|
FastReport и работа с несколькими таблицами одновременно
|
|||
---|---|---|---|
#18+
holod-iinna, у меня эти источники связаны, проблема в другом, я не могу группировку сдалать, на офсайте простая группировка описывается, подобное делал много раз и проблем не возникает. Могу скрины выложить как мне необходимо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2015, 15:39 |
|
FastReport и работа с несколькими таблицами одновременно
|
|||
---|---|---|---|
#18+
comtehno, Я FAST в глаза не видел, возможно мой вариант не рационален, у любого отчета всегда есть DataSet, в нем я так понимаю у Вас запрос или ХП. Проще говоря верните запросом DataSet в конечном виде для вашего отчета, раз лень справку ковырять. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2015, 17:07 |
|
FastReport и работа с несколькими таблицами одновременно
|
|||
---|---|---|---|
#18+
В общем справку то не лень ковырять :) даже могу привести ссылку на "нужную" справку https://www.fast-report.com/public_download/html/UserMan-ru/index.html?tfrxadoquery.htm Но... я создаю компоненты на лету, ну для примера Код: pascal 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.
у меня создается мастер датасет qwE и детейл датасет qwGoods, по справке получается я связываю мастер с детейл строками: Код: pascal 1. 2. 3.
но при формировании отчета у меня по прежнему каждое обращение в детейл содержит все записи таблицы, то есть фильтрация не происходит, что не так понять не могу. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 12:08 |
|
FastReport и работа с несколькими таблицами одновременно
|
|||
---|---|---|---|
#18+
Пардон браузер сглючил, ссыль предыдущего поста https://www.fast-report.com/public_download/html/UserMan-ru/54.htm ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 12:10 |
|
FastReport и работа с несколькими таблицами одновременно
|
|||
---|---|---|---|
#18+
comtehno, ХЗ, что там в справке, лень вникать в подробности. Из выше представленного: 1. Взять чистый лист, карандаш и линейку 2. Линейкой отбить себе пальцы за "SELECT * FROM" и больше не когда не писать * в запросах, за исключением конструкции EXISTS 3. Нарисовать себе отчет в том виде в каком хотите его получить, к примеру нужно в табличном виде отобразить количество заказов и количество номенклатуры по каждому клиенту за определенную дату. Таким образом в отчете будет три колонки "Клиент", "Кол. заказов", "Кол. номенклатуры" 4. теперь лезем в БД - Клиенты хранятся в таблице - справочник ALL_USERS, поле идентификатор USERKEY - Заказы хранятся в таблице ORDERS и связаны с клиентами по полю USERKEY, и имеют идентификатор ORDERKEY - Детализация заказа хранится в таблице ORDERDETAIL, содержит количество номенклатуры поле QTY (которое нам нужно в рамках примера), связаны с таблицей ORDERS по идентификатору ORDERKEY 5. Отлично, все нашли, теперь строим запрос для нашего отчета: Код: sql 1. 2. 3. 4. 5.
Выполнив запрос и проверив данные, мы увидим что результирующий набор полностью удовлетворяет задачу. Теперь переходим к самому отчету. 6. В макете отчета создаем таблицу из 3х колонок. Затем настраиваем DataSource к БД, проверяем соединение. Настраиваем DataSet, а именно суем в него запрос собранный выше, заменив @DATE на параметр. Вот и все =) Я так понимаю подогнав свою задачу вы получите только один DataSet, примерно такой конструкции: Код: sql 1. 2. 3. 4. 5. 6.
------------- Настораживает вот это QuotedStr(FormatDateTime('dd.mm.yyyy',dtpDate.Date)) разве у вас дата имеет тип данных не DATETIME ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 15:27 |
|
FastReport и работа с несколькими таблицами одновременно
|
|||
---|---|---|---|
#18+
Промахнулся с запросом, нужно количество заказов а не количество позиций в заказах, по этому так: Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 15:30 |
|
FastReport и работа с несколькими таблицами одновременно
|
|||
---|---|---|---|
#18+
СТУДЕНТ123, Это все понятно и не раз делалось :) но у меня есть 2 датасурса, в первом услуги основные а во втором дополнительные и дополнительных может не быть. Сгруппировать таблицы не получится в одном запросе, так как соотношение один ко многим. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 15:59 |
|
FastReport и работа с несколькими таблицами одновременно
|
|||
---|---|---|---|
#18+
comtehno, Насчет линейки за select * from - полностью поддержал бы, но не в этом случае, клиент выразил желание править шаблон отчета вводя иногда дополнительные поля, для этого был введен параметр dDesigner - у администратора он True :), поэтому пришлось ввести в скрипт * :), так что не серчайте :). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 16:01 |
|
FastReport и работа с несколькими таблицами одновременно
|
|||
---|---|---|---|
#18+
СТУДЕНТ123, насчет настораживания :) база данных mysql, поэтому формат даты привожу как мне надо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 16:03 |
|
FastReport и работа с несколькими таблицами одновременно
|
|||
---|---|---|---|
#18+
Тогда я не понимаю в чем проблема? Ваша исходная задача имеет решение в приведенной Вами же ссылке. ---------- Fast report динамичен? т.е. сформировав отчет, без повторного формирования я могу тыкнуть на любого пользователя и получу данные только по его услугам (обязательные и не обязательные). ---------- ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 17:01 |
|
FastReport и работа с несколькими таблицами одновременно
|
|||
---|---|---|---|
#18+
СТУДЕНТ123, нет не имеет :) мой вопрос был как мне master и detail данные разместить в отчете, а не как JOIN запрос сделать :) и еще по поводу * в запросе, вы заметили, что у меня VIEW везде используется, в общем семантическая конструкция содержит только те поля, которые мне необходимы - поэтому считаю что в этом случае применение * обосновано. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 17:13 |
|
FastReport и работа с несколькими таблицами одновременно
|
|||
---|---|---|---|
#18+
comtehnoСТУДЕНТ123, нет не имеет :) мой вопрос был как мне master и detail данные разместить в отчете, а не как JOIN запрос сделать :) и еще по поводу * в запросе, вы заметили, что у меня VIEW везде используется, в общем семантическая конструкция содержит только те поля, которые мне необходимы - поэтому считаю что в этом случае применение * обосновано. Не знаю как в MySQL но в MSSQL явно будет не обоснованно, зачем брать лишнее, время выполнения - нервы клиента. А так по поводу Вашего вопроса уйма информации: ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 17:24 |
|
|
start [/forum/topic.php?fid=31&msg=39124271&tid=1533290]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 143ms |
0 / 0 |