|
#1
|
|||
|
|||
Quick Reports
есть quickrep1,в qrdbtext dataset query1, в query в sql прописано select * from pp. На кнопку прописан код:
Код:
procedure TForm23.Button1Click(Sender: TObject); begin query1.sql.clear; query1.sql.Add('select * from pp where ("pp.data") between :dd1 and :dd2'); query1.Params.ParamByName('dd1').Value := FormatDatetime('mm/dd/yyyy', DateTimePicker1.Date); query1.Params.ParamByName('dd2').Value := FormatDatetime('mm/dd/yyyy', DateTimePicker2.Date); query1.Active:=true; form24.QuickRep1.PreviewModal; end; Данные в отчете не отображаются,только шапка Что не так?где я туплю? Последний раз редактировалось Admin, 31.05.2010 в 18:01. |
#2
|
|||
|
|||
кидаем subdetail , на него dbtext
в свойствах subdetail dataset= ваш набор данных в свойстве quickReport dataset= ваш набор данных |
#3
|
||||
|
||||
Не знаю в каком диалекте SQL принята такая запись полей:
Цитата:
Код:
query1.sql.Add('select * from pp where data between :dd1 and :dd2'); Код:
query1.sql.Add('select * from pp where [data] between :dd1 and :dd2'); Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#4
|
|||
|
|||
Спасибо всем большое!
|
#5
|
|||
|
|||
Код исправила
При нажатии на кнопку вылетает ошибка Invalid use of keyword. Token [data] |
#6
|
|||
|
|||
если прописываю where [data] выходит ошибка invalid use of keyword,а если where data то ошибка несоответствия типов
|
#7
|
|||
|
|||
а поле data какого типа?
|
#8
|
||||
|
||||
Вообще, судя по сообщению такое имя для поля использовать нельзя т.к. данное имя является зарезервированным. Может просто переименовать в таблице поле на MyData ? Хотя вполне возможно, что действительно типы данных разные. Судя по запросу предполагается, что это поле и параметры будут типа Date
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. Последний раз редактировалось Страдалецъ, 01.06.2010 в 10:39. |
#9
|
|||
|
|||
в uses Dateutils
+ Код:
query1.Params.ParamByName('dd1').Value := Dateof(FormatDatetime('mm/dd/yyyy', DateTimePicker1.Date)); query1.Params.ParamByName('dd2').Value := Dateof(FormatDatetime('mm/dd/yyyy', DateTimePicker2.Date)); попробуйте так. еще вариант: в свойствах параметрах компонента query1 пропишите типы. ПС. возможно ошибаюсь но и с разделителем / могут быть проблемы. |