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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2007, 17:34   #1
Kit
 
Регистрация: 28.06.2007
Сообщений: 3
Вопрос Как работать с Quick Report

Использую компоненты с вкладки ADO для связи с БД Access.
Всё казалось-бы просто:
Свойство DataSet компонента QRDBText в инспекторе объекта устанавливаю - DataSet=ADOQuery
Код:
//прописываю в коде:
QRDBText1.DataField:='N';
Результат нулевой! В QRDBText ничего не появляется

Пробовал вместо ADOQuery использовать ADODataSet:
1) добавил на форму ADODataSet
2) ADODataSet.Connection в инспекторе объекта устанавливаю ADOConnection (общее для всей программы)
3) Свойство DataSet компонента QRDBText установил теперь - DataSet=ADODataSet
4)
Код:
procedure TFormU.ButtonPrintClick(Sender: TObject);
begin
 ADODataSet.CommandText:='SELECT... ' //тот-же, что и в ADOQuery
 ADODataSet.Active:=true;
 FormPrint:=TFormPrint.Create(Self);
 FormPrint.QuickRepPrn.Preview;
 FormPrint.Show; //-если нет этой строки, то форма с QuickRep вообще не появляется
 //FormPrint.Free;
end;
5)
Код:
procedure TFormPrint.QuickRepPrnPreview(Sender: TObject);
begin
 QRDBText1.DataField:='Num';
end;
6) Запускаю программу, жму кнопку.

Появляется на экране QuickRep и в QRDBText написано "[Num]".

Где же ошибка?
Как добиться отображения поля таблицы БД в QRDBText?
Kit вне форума Ответить с цитированием
Старый 29.06.2007, 09:58   #2
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

чтобы данные отображались в Qreport, нужно, чтобы таблица , из которой отображаются данные бала активной......
AdoQuery.active := true;
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 29.06.2007, 12:21   #3
Kit
 
Регистрация: 28.06.2007
Сообщений: 3
По умолчанию ADOQueryUstr.Open <> AdoQuery.active???

Цитата:
Сообщение от Pitbull Посмотреть сообщение
чтобы данные отображались в Qreport, нужно, чтобы таблица , из которой отображаются данные бала активной......
AdoQuery.active := true;
Я так и делал:
Код:
  ADOQueryUstr.Close;
  ADOQueryUstr.SQL.Clear; 
  ADOQueryUstr.SQL.Add('SELECT .....................');
  ADOQueryUstr.Open;
или ADOQueryUstr.Open <> AdoQuery.active := true ???
Kit вне форума Ответить с цитированием
Старый 29.06.2007, 12:45   #4
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от Kit Посмотреть сообщение
Я так и делал:
Код:
  ADOQueryUstr.Close;
  ADOQueryUstr.SQL.Clear; 
  ADOQueryUstr.SQL.Add('SELECT .....................');
  ADOQueryUstr.Open;
или ADOQueryUstr.Open <> AdoQuery.active := true ???

тоже самое.....

Добавь на форму ADOQuery... Пропиши путь к таблице.... Добавь Qreport1.

выдели QReport1 в свойствах DataSet выбери adoQuery1.
потом уже

QRDBText1.DataSet := adoQuery1;
QRDBText1.DataField := 'Capital';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * from country');
ADOQuery1.Open;
QuickRep1.Preview;

Можешь вручную выставить QRDBText1.DataSet := adoQuery1 и QRDBText1.DataField := 'Capital';
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 29.06.2007, 12:52   #5
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от Kit Посмотреть сообщение
Я так и делал:
Код:
  ADOQueryUstr.Close;
  ADOQueryUstr.SQL.Clear; 
  ADOQueryUstr.SQL.Add('SELECT .....................');
  ADOQueryUstr.Open;
или ADOQueryUstr.Open <> AdoQuery.active := true ???

QRDBText1 вставляей же в BandType := rbDetail
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 01.07.2007, 13:08   #6
Kit
 
Регистрация: 28.06.2007
Сообщений: 3
По умолчанию Тут что-то другое!

Как я сказал:
ADOConnection - общий для всей программы(слишком много настрой, чтобы делать несколько Connect-ов: смена пароля на БД, изменение пути к БД).
Пробовал я и сначала настраивать:
Код:
QRDBText1.DataSet := adoQuery1;
QRDBText1.DataField := 'Capital';
а потом делать запрос:
Код:
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * from country');
...
Перепробовал я многое. Ничего не помогает.
И кругом примеры простые до безумия: "бросте на форму компонент и выберите в свойстве..." Тут что-то другое!
Но что?

Мож, знаете - где в сети примерчик лежит? (только именно с программной установкой всех настроек, а не: "в инспекторе объекта..."!)
Kit вне форума Ответить с цитированием
Старый 02.07.2007, 15:50   #7
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Не пойму я в чем проблемма.... При чем тут Connect? ты делай привязку к query.... Тоесть отчет привязываешь к запросу... при чем тут connect... ...Я тебе написал все необходимые действия... Все работать должно...почитай внимательно и разрули свою проблему.... Согласен, что в примерах пишут все по-простому, но ведь и тема не сложная....

Если у тебя меняются базы, и соответственно поля, то нужно разные Report делать....
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp

Последний раз редактировалось Pitbull; 02.07.2007 в 15:56.
Pitbull вне форума Ответить с цитированием
Старый 11.09.2007, 08:03   #8
Toren
 
Регистрация: 11.09.2007
Сообщений: 4
По умолчанию

Уважаемые прогерs? перешел на новое место работы где надо было переписать прогу в которой использовался Quickreport так при компиляции у меня стала возникать ошибка.

Exception EReadError in module dogrproekt.exe at 00021627.Error reading QR1.PrinterSettings.UseStandardprin ter: Property UseStandardprinter does not exist.

UseStandardprinter находится в свойствах обьекта QR1. Заранее прошу прощения не имел раньше дело с такой компонентой... надеюсь у кого нить такое было и кто нить зает как это исправить...
Toren вне форума Ответить с цитированием
Старый 11.09.2007, 08:15   #9
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от Toren Посмотреть сообщение
Уважаемые прогерs? перешел на новое место работы где надо было переписать прогу в которой использовался Quickreport так при компиляции у меня стала возникать ошибка.

Exception EReadError in module dogrproekt.exe at 00021627.Error reading QR1.PrinterSettings.UseStandardprin ter: Property UseStandardprinter does not exist.

UseStandardprinter находится в свойствах обьекта QR1. Заранее прошу прощения не имел раньше дело с такой компонентой... надеюсь у кого нить такое было и кто нить зает как это исправить...
может, у Вас просто не установлен принтер по-умолчанию?
Чтобі работал репорт, нужно, чтобі на компе біл хотябі один принтер установлен
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 12.09.2007, 02:27   #10
Toren
 
Регистрация: 11.09.2007
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Pitbull Посмотреть сообщение
может, у Вас просто не установлен принтер по-умолчанию?
Чтобі работал репорт, нужно, чтобі на компе біл хотябі один принтер установлен
Установил принтер, ошибка осталась... может несоответствие версий квик репорта? Прога была написана до меня я её переписываю... у меня щас версия 4.06.
Toren вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с Quick Report Pavel_84 БД в Delphi 5 30.07.2010 09:44
Quick Report Mick Standarov Общие вопросы Delphi 6 08.09.2009 08:20
Работа с Q-report metrik БД в Delphi 1 24.04.2008 13:18
Fast Report 4 VCL Nemon Компоненты Delphi 3 23.10.2007 13:26
Report Дамир БД в Delphi 2 26.03.2007 21:29