Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как связать DBGrid и QReport???? Либо через SQL, либо напрямую 
:(
    Опции темы
Simchik
Дата 26.4.2006, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 28.3.2006

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



 smile  smile  smile  smile  smile  smile  smile  smile  
PM MAIL   Вверх
Savek
Дата 26.4.2006, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 10.4.2006
Где: Воронеж

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



У тебя DBGrid отображает какойто набор данных (св-во DataSource)
вот его и надо связать с QReport - ом

Например код может выглядеть так
Код

with QReport1 do begin
   DataSet:=Form1.ADOQuery1;
   QRDBText1.DataSet:=Form1.ADOQuery1;
   QRDBText1.DataField:='Фамилия';
   ...
   и т.д.
   ...

   PreviewModal;
end;
 
PM MAIL   Вверх
Vit
Дата 26.4.2006, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



Вы стоите у окна и смотрите на закат солнца.

В данном случае - закат и пейзаж - это TTable, TQuery или вообще что-нибудь унаследованное от TDataSet. Окно - это DBGrid - т.е. рама со вставленным стеклом не содержит никакого заката в себе, просто эта конструкция позволяет вам из квартиры наблюдать что происходит с пейзажем. Вам надо нарисовать закат - это ваш репорт, рисовать раму, стекло и бледные блики на стекле отражающие закат вам не надо, вас интересует только закат, а не стекло с грязными пятнами на нём. Вот так и в базах данных - доступ к данным даёт TTable, TQuery или вообще что-нибудь унаследованное от TDataSet, а репорт или DBGrid только показывают эти данные пользователю, сами они этих данных НЕ ИМЕЮТ, и следовательно вязать их не надо... 


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
chup007
Дата 29.4.2006, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 12.3.2006
Где: РФ ЖИГУЛЕВСК 63 Р ЕГИОН

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



Код

procedure TForm_reports.Button1Click(Sender: TObject);
begin
     ADOQuery1.Active := False;
     ADOQuery1.SQL.Clear;
     adoquery1.SQL.Add('SELECT registration.gos_nomer, car.model, driver.familiya, driver.name, driver.otchestvo, registration.date_registration');
     adoquery1.SQL.Add('FROM driver INNER JOIN (car INNER JOIN registration ON car.code = registration.code_avto) ON driver.code = registration.code_vladelca');
     adoquery1.SQL.Add('WHERE registration.date_registration between datevalue(:date_ot) and datevalue(:date_do)');
     adoquery1.SQL.Add('ORDER BY registration.date_registration;');
     ADOQuery1.Parameters.ParseSQL(ADOQuery1.SQL.text, true);
     adoquery1.Parameters.ParamByName('date_ot').Value:=datetostr(datetimepicker1.Date);
     adoquery1.Parameters.ParamByName('date_do').Value:=datetostr(datetimepicker2.Date);
     ADOQuery1.Active := true;
     with form_reports_print do
        begin
            qr_lab_zapros.Caption:='все';
            qrlabel1.Caption:='Гос. номер:';
            qrlabel2.Caption:='Модель автомобтля:';
            qrlabel3.Caption:='Фамилия:';
            qrlabel4.Caption:='Имя:';
            qrlabel5.Caption:='Отчество:';
            qrlabel6.Caption:='Дата регистрации:';
            qrdbtext1.DataField:=AdoQuery1.Fields[0].FieldName;
            qrdbtext2.DataField:=AdoQuery1.Fields[1].FieldName;
            qrdbtext3.DataField:=AdoQuery1.Fields[2].FieldName;
            qrdbtext4.DataField:=AdoQuery1.Fields[3].FieldName;
            qrdbtext5.DataField:=AdoQuery1.Fields[4].FieldName;
            qrdbtext6.DataField:=AdoQuery1.Fields[5].FieldName;
        end;
     form_reports_print.report.Preview;
end;

не знаете почему  в dbgrib'е показываются несколько записей, а в репорте только первая 
PM MAIL ICQ   Вверх
Savek
Дата 29.4.2006, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 10.4.2006
Где: Воронеж

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



Потому что не присвоил репорту датасет 
PM MAIL   Вверх
chup007
Дата 30.4.2006, 08:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 12.3.2006
Где: РФ ЖИГУЛЕВСК 63 Р ЕГИОН

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



Savek, спасибо совсем забыл про это  smile  
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0479 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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