Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2013, 13:46   #1
Ardarik
Пользователь
 
Регистрация: 16.01.2011
Сообщений: 80
По умолчанию Создание отчетов

Кто как делает отчеты? Через Reve Reports у меня пустой лист. Как создать сам проект отчета? Нашел видео но у меня там где нужно выбрать какие поля выбора нет. А что выводить находиться в разных таблицах. По этому я не могу в DBGrid сразу вывести как в видео.
http://delphiexpert.ru/view_lesson.php?id=96
Ardarik вне форума Ответить с цитированием
Старый 17.05.2013, 17:26   #2
GoodDA
фрилансер
Форумчанин
 
Аватар для GoodDA
 
Регистрация: 18.07.2008
Сообщений: 107
По умолчанию

FreeReport лучше всего,
можно еще напрямую в ексель или в ворд выводить
GoodDA вне форума Ответить с цитированием
Старый 17.05.2013, 17:35   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

Цитата:
А что выводить находиться в разных таблицах. По этому я не могу в DBGrid сразу вывести
1. используйте для выбора данных SQL ориентированные компоненты. TADODataset TADOQuery или аналогичные с других вкладок.
позволит получать соединение таблиц +отбор нужных данных в одном НД(DataSet)
2. для их испольования учите SQL (для начала Мартин Грубер Понимание SQL).
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 17.05.2013, 17:38   #4
Ardarik
Пользователь
 
Регистрация: 16.01.2011
Сообщений: 80
По умолчанию

Вроде получилось. http://www.delphicode.org/database/rave_report_ado.htm вот может кому пригодиться. Только я вместо ADOTable использовал ADOQuery
Ardarik вне форума Ответить с цитированием
Старый 19.05.2013, 18:28   #5
Ardarik
Пользователь
 
Регистрация: 16.01.2011
Сообщений: 80
По умолчанию

В PDF сохраняет но вместо русских букв иероглифы
Ardarik вне форума Ответить с цитированием
Старый 19.05.2013, 18:40   #6
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
вот может кому пригодиться
ёёёё, не такое нам и на дух нини, жуть ... теперь не спать всю ночь..
eval вне форума Ответить с цитированием
Старый 19.05.2013, 18:43   #7
Ardarik
Пользователь
 
Регистрация: 16.01.2011
Сообщений: 80
По умолчанию

Цитата:
ёёёё, не такое нам и на дух нини, жуть ... теперь не спать всю ночь..
Что? Что то другое можете предложить?
Ardarik вне форума Ответить с цитированием
Старый 19.05.2013, 18:51   #8
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

мало ли репортеров
http://www.fast-report.com/ru/ сойдет?
eval вне форума Ответить с цитированием
Старый 22.05.2013, 16:52   #9
Ardarik
Пользователь
 
Регистрация: 16.01.2011
Сообщений: 80
По умолчанию

По совету evalа отчет в fast-report. Вот код создания без дизайнера
Код:
var
  DataPage: TfrxDataPage;
  Page: TfrxReportPage;
  Band: TfrxBand;
  DataBand: TfrxMasterData;
  Memo: TfrxMemoView;
 
{ очищаем отчет }
frxReport1.Clear;
 
{ добавляем источник данных в список доступных для отчета }
frxReport1.DataSets.Add(frxDBDataSet1);
 
{ добавляем страницу "Данные" }
DataPage := TfrxDataPage.Create(frxReport1);
 
{ добавляем страницу }
Page := TfrxReportPage.Create(frxReport1);
{ создаем уникальное имя }
Page.CreateUniqueName;
{ устанавливаем размеры полей, бумаги и ориентацию по умолчанию }
Page.SetDefaults;
{ меняем ориентацию бумаги }
Page.Orientation := poLandscape;
 
{ добавляем report title }
Band := TfrxReportTitle.Create(Page);
Band.CreateUniqueName;
{ для бэнда достаточно установить координату Top и высоту }
{ обе координаты - в пикселах }
Band.Top := 0;
Band.Height := 20;
 
{ добавляем объект на report title }
Memo := TfrxMemoView.Create(Band);
Memo.CreateUniqueName;
Memo.Text := 'Hello FastReport!';
Memo.Height := 20;
{ этот объект будет растянут на ширину бэнда }
Memo.Align := baWidth;
 
{ добавляем master data }
DataBand := TfrxMasterData.Create(Page);
DataBand.CreateUniqueName;
DataBand.DataSet := frxDBDataSet1;
{ координата Top не должна пересекать ранее добавленный бэнд! }
DataBand.Top := 100;
DataBand.Height := 20;
 
{ добавляем объект на master data }
Memo := TfrxMemoView.Create(DataBand);
Memo.CreateUniqueName;
{ подключаем к данным }
Memo.DataSet := frxDBDataSet1;
Memo.DataField := 'CustNo';
Memo.SetBounds(0, 0, 100, 20);
{ выравниваем текст по правому краю объекта }
Memo.HAlign := haRight;
 
{ показываем отчет }
frxReport1.ShowReport;
Вопрос. Как добавить нумерацию страниц?
Ardarik вне форума Ответить с цитированием
Старый 22.05.2013, 17:05   #10
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Вы что-то не то делаете.
У репортеров, в частности у фаста, есть дизайнер, в нем все и "рисуете", там же и нумерацию страниц, а в коде только дергаете его и всё.
eval вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание отчетов WALL Помощь студентам 3 30.10.2010 22:09
Формирование отчетов romanova Microsoft Office Excel 3 11.07.2010 19:09
построитель отчетов в 1С =) danekne Помощь студентам 0 25.06.2010 20:49
создание выборки и отчетов для бд в С# P'er Общие вопросы .NET 3 15.09.2009 16:42
Создание отчетов FaTaL Компоненты Delphi 4 10.05.2008 21:47