powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Проблема с передачей параметров при вызове отчета CristalReport
6 сообщений из 6, страница 1 из 1
Проблема с передачей параметров при вызове отчета CristalReport
    #33737816
lioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Столкнулся с проблемой передачи параметров в отчет 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);
При использовании только одного параметра все ОК - проверил!!! Проблема возникает при количестве
параметров больше одного... Пробовал передавать значения параметрам не по индексу, а по имени -
та же сама ошибка...
Подскажите пожалуйста как решить эту проблему. Спасибо.
...
Рейтинг: 0 / 0
Проблема с передачей параметров при вызове отчета CristalReport
    #33738052
cr80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А Crpe1.ParamFields.Count = 3 ?
или
if Crpe1.IndexOfParamName(Crpe1, 'ParamName', '') then
ShowMessage('Параметр найден')
else
ShowMessage('Параметр не найден');
...
Рейтинг: 0 / 0
Проблема с передачей параметров при вызове отчета CristalReport
    #33738097
cr80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поправка:
if Crpe1.ParamFields.IndexOf('ParamName', '') then
ShowMessage('Параметр найден')
else
ShowMessage('Параметр не найден');
...
Рейтинг: 0 / 0
Проблема с передачей параметров при вызове отчета CristalReport
    #33742596
lioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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.
=========================================
Что еще может быть???
...
Рейтинг: 0 / 0
Проблема с передачей параметров при вызове отчета CristalReport
    #33744046
isdn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[IMHO] TCrpe это вообще глюк на глюке. RDC - гораздо лучше. [/IMHO]
...
Рейтинг: 0 / 0
Проблема с передачей параметров при вызове отчета CristalReport
    #33744121
cr80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно попробовать
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';
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Проблема с передачей параметров при вызове отчета CristalReport
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]