|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#16
|
|||
|
|||
Спасибо большое!!! Действительно! Я бы не додумался сам... Я и так вертел и этак. А нужно было сделать просто UPDATE. Век живи, век учись. Логика решает. Я думал про удалить, а ведь действительно - можно просто обновить на Null.
Последний раз редактировалось s2000, 20.09.2016 в 21:02. |
#17
|
|||
|
|||
У меня возникли вопрос по Fast Report. "Fast", это наверное они так "по прикаловались..." Есть люди, которые работали с этой "штукой?" Мне бы прояснить некоторые вещи. Мануал читал, но как то не дошло.
В общем репорт строится на основе вот такого запроса (в него можно не вникать): Код:
SELECT TehRezSupport.StartID, Sportmans.SportSoName, Sportmans.SportName, Sportmans.SportBorn, Sportmans.SportRoz, SportHorses.HorseName, SportHorses.Born, SportHorses.SexHorse, SportHorses.CvetHorses, SportHorses.Poroda, SportHorses.FathName, SportHorses.MothName, SportHorses.NumPass, SportHorses.Direct, TehRezSupport.MarshID, TehRezSupport.NazClub, TehRezSupport.TrenName, TehRezSupport.StagePoint1, TehRezSupport.StageTime1, TehRezSupport.StagePoint2, TehRezSupport.StageTime2, TehRezSupport.StagePointAll, TehRezSupport.StageTimeAll, TehRezSupport.JumpOffPoint, TehRezSupport.JumpOffTime FROM TehRezSupport INNER JOIN Sportmans ON TehRezSupport.SportID=Sportmans.IDSport INNER JOIN SportHorses ON TehRezSupport.HorseID=SportHorses.ID WHERE TehRezSupport.DataProved=:Stack AND TehRezSupport.NazZmag=:NazZMG AND TehRezSupport.MarshID=:NumM GROUP BY TehRezSupport.StartID, Sportmans.SportSoName, Sportmans.SportName, Sportmans.SportBorn, Sportmans.SportRoz, SportHorses.HorseName, SportHorses.Born, SportHorses.SexHorse, SportHorses.CvetHorses, SportHorses.Poroda, SportHorses.FathName, SportHorses.MothName, SportHorses.NumPass, SportHorses.Direct, TehRezSupport.MarshID, TehRezSupport.NazClub, TehRezSupport.TrenName, TehRezSupport.StagePoint1, TehRezSupport.StageTime1, TehRezSupport.StagePoint2, TehRezSupport.StageTime2, TehRezSupport.StagePointAll, TehRezSupport.StageTimeAll, TehRezSupport.JumpOffPoint, TehRezSupport.JumpOffTime ORDER BY TehRezSupport.StagePointAll, TehRezSupport.StageTimeAll Для того, что бы мне сделать еще и другие отчеты, мне нужно для каждого случая бросать на форму новый frxReport1+FDQuery1 Или можно, как то, один для всего использовать? Просто при разработке формы-репорта в дизайнере, мне пришлось создавать отдельный Query и писать прямо в него SQL запрос, так, как в конструкторе никак иначе не получается добраться до FDQUERY - пишет "306 command text must not be empty". Потому, как запос приходит динамически. И на момент разработки дизайна никак иначе до FDQuery не добраться - приходится делать так, как на рисунке (рис1). Так если у меня будет 10 разных форм отчетов - придется делать десять (frxReport1+FDQuery)? Иначе репорт не создашь. И даже если создашь его программно, как я смогу по-подтягивать поля под нужною длинну и т.д. я ж не оракул, что бы на перед знать, что влезет, а что нет... Как вообще люди это все делают? Запутано объяснил... В общем - что бы frxReport1 подцепился к FDQuery1 и увидел поля которые выводит SQL-запрос, он переводит FDQuery1.Active:=True, но если запрос динамический - то вылетает 306 command text must not be empty, что правильно и понятно, поэтому что бы все это получилось приходится писать запрос в FDQuery1.SQL прямо из Delphi Есть ли другой способ, что бы не делать под 10 отчетов - 10 (frxReport1+FDQuery)? Спасибо! Последний раз редактировалось s2000, 05.10.2016 в 20:46. |