|
Проблема с передачей параметров при вызове отчета CristalReport
|
|||
---|---|---|---|
#18+
Здравствуйте! Столкнулся с проблемой передачи параметров в отчет Cristal Report8. Создал отчет с тремя параметрическими полями типа Number, Date, Date. Значения по умолчанию для параметров отсутствуют. В самом Кристале при отображении отчета все нормально - появляется окно ввода параметров, я их устанавливаю, отчет выводится правильно. Пытаюсь отобразить отчет в своей проге на C++Builder5 при помощи компонента TCrpe. В инспекторе обьектов этого компонента все свойства оставил по умолчанию, изменил лишь св-ва Connect(сервер, БД, логин, пароль), ReportName(имя отчета) и WindowParent(Form1). В проге вызываю отчет так: //============================================================= void __fastcall TFormReport::FormShow(TObject *Sender) { Crpe1->ParamFields->Retrieve(); Crpe1->ParamFields[0].AsNumber = 107590; Crpe1->ParamFields[1].AsDate = EncodeDate(2006,1,1); Crpe1->ParamFields[2].AsDate = EncodeDate(2006,5,1); Crpe1->Execute(); } //============================================================= Вылетает ошибка: Project ... raised exception class EAccessViolation with message 'Accessviolation at adress ... in module ... Write of adress ...' Process stopped. Use Step or Run to continue. Курсор выделяет эту строку: Crpe1->ParamFields[2].AsDate = EncodeDate(2006,5,1); При использовании только одного параметра все ОК - проверил!!! Проблема возникает при количестве параметров больше одного... Пробовал передавать значения параметрам не по индексу, а по имени - та же сама ошибка... Подскажите пожалуйста как решить эту проблему. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2006, 10:56 |
|
Проблема с передачей параметров при вызове отчета CristalReport
|
|||
---|---|---|---|
#18+
А Crpe1.ParamFields.Count = 3 ? или if Crpe1.IndexOfParamName(Crpe1, 'ParamName', '') then ShowMessage('Параметр найден') else ShowMessage('Параметр не найден'); ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2006, 11:50 |
|
Проблема с передачей параметров при вызове отчета CristalReport
|
|||
---|---|---|---|
#18+
Поправка: if Crpe1.ParamFields.IndexOf('ParamName', '') then ShowMessage('Параметр найден') else ShowMessage('Параметр не найден'); ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2006, 12:01 |
|
Проблема с передачей параметров при вызове отчета CristalReport
|
|||
---|---|---|---|
#18+
Crpe1->ParamFields->Count() возвращает 3! ======================================== Crpe1->ParamFields->Retrieve(); Crpe1->ParamFields[Crpe1->ParamFields->IndexOfName("kodplat")].AsNumber = 107590; Crpe1->ParamFields[Crpe1->ParamFields->IndexOfName("datefrom")].AsDate = EncodeDate(2006,1,1); Crpe1->ParamFields[Crpe1->ParamFields->IndexOfName("dateto")].AsDate = EncodeDate(2006,5,1); Crpe1->Execute(); Ошибка та же, но выделяется строка не для 3-го параметра, а для 2-го... ========================================= Crpe1->ParamFields->IndexOfName("kodplat") возвращает 0. Crpe1->ParamFields->IndexOfName("datefrom") возвращает 1. Crpe1->ParamFields->IndexOfName("dateto") возвращает 2. ========================================= Что еще может быть??? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2006, 13:44 |
|
Проблема с передачей параметров при вызове отчета CristalReport
|
|||
---|---|---|---|
#18+
[IMHO] TCrpe это вообще глюк на глюке. RDC - гораздо лучше. [/IMHO] ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2006, 07:03 |
|
Проблема с передачей параметров при вызове отчета CristalReport
|
|||
---|---|---|---|
#18+
Можно попробовать Crpe1.ParamFields[0].AsNumber= 107590; Crpe1.ParamFields[1].Value = '2006,01,01'; Crpe1.ParamFields[2].Value = '2006,05,01'; или Crpe1.ParamFields[0].AsNumber= 107590; Crpe1.ParamFields[1].Value = '2006,01,01 00:00:00'; Crpe1.ParamFields[2].Value = '2006,05,01 00:00:00'; ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2006, 08:34 |
|
|
start [/forum/topic.php?fid=31&fpage=158&tid=1539024]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 141ms |
0 / 0 |