Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / И снова Crystal Reports / 9 сообщений из 9, страница 1 из 1
14.11.2003, 11:11
    #32324115
фёдор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова Crystal Reports
Кто-нибудь работал с TCrpeDS в Дельфях?
А то в хелпе к нему написано:
The Crystal Report must be designed using Active Data (Field Definitions).
A simple text file is created (this can be created within Crystal Reports when
creating a new Report) defining what types of Fields are being used in the Report.
The Report is then designed upon this skeleton file. At runtime, a pointer to the
actual "Active Data" Data Source is passed to the Report. Among others, one
definite advantage to this method is that Crystal Reports does not need to open
another connection the the Database, since the data is passed directly from
Delphi, in memory.
А как такое сделать я не понимаю.
Поделитесь опытом.
...
Рейтинг: 0 / 0
14.11.2003, 11:46
    #32324196
m_kus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова Crystal Reports
Что именно ты не понимаешь, как в Crystal Reports сделать отчёт, основанный на Active Data или как ему потом в Delphi свой DataSet подсунуть?
...
Рейтинг: 0 / 0
14.11.2003, 15:32
    #32324673
фёдор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова Crystal Reports
Для начала, хотя бы первое
...
Рейтинг: 0 / 0
14.11.2003, 16:18
    #32324812
m_kus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова Crystal Reports
Создаёшь на диске файл "table1.ttx" следующего содержания:
Код: plaintext
1.
2.
3.
NumberField&Number&& 1 
StringField&String& 32 &Name
DateField&Date&& 01 . 01 . 2002 

где символы "&" заменяешь знаками табуляции
В Crystal Reports нажимаешь File\New... выбираешь "Using the report Expert", нажимаешь OK, находишь кнопку Database, нажимаешь, выбираешь "More Data Sources\Active Data\Active Data (Fields Definitions Only)", дальше нажимаешь Browse и указываешь файл "table1.ttx" и так далее...
...
Рейтинг: 0 / 0
14.11.2003, 17:55
    #32325004
фёдор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова Crystal Reports
А теперь второе :-)

Просто в процедуре
Код: plaintext
1.
2.
3.
4.
5.
6.
procedure TForm1.Button9Click(Sender: TObject);
begin
  DM.IBDataSet_types.Active:=true;
  DM.Crpe1.ReportName := 'C:\Documents and Settings\yudin\My Documents\Report1.rpt';
  DM.Crpe1.Tables[ 0 ].DataPointer := DM.CrpeDS1.DataPointer;
  DM.Crpe1.Show;
end;

под отладчиком при попытке выполнить строчку
Код: plaintext
DM.Crpe1.Tables[ 0 ].DataPointer := DM.CrpeDS1.DataPointer;

возникает ошибка
Код: plaintext
Error: 998  Failed to Retrieve Error Message from Print Engine

значения переменных
Код: plaintext
1.
2.
3.
4.
5.
DM.CrpeDS1.DataPointer=Inaccessible value (!!!, что меня удивляет)
DM.Crpe1.Tables[ 0 ].DataPointer=nil
DM.IBDataSet_types.Fields[ 0 ].FieldName='ID'
DM.IBDataSet_types.Fields[ 1 ].FieldName='NAME'
DM.Crpe1.Tables[ 0 ].Fields[ 0 ].FieldName='ID'
DM.Crpe1.Tables[ 0 ].Fields[ 0 ].FieldName='Name'
...
Рейтинг: 0 / 0
14.11.2003, 18:11
    #32325024
фёдор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова Crystal Reports
Вдогонку.
Формат таблицы БД
Код: plaintext
1.
2.
3.
CREATE TABLE BAG_TYPES (
    ID    INTEGER NOT NULL,
    NAME  VARCHAR( 30 ) CHARACTER SET WIN1251 COLLATE PXW_CYRL
);

формат *.ttx файла
Код: plaintext
1.
ID	Number		
Name	String	 30 	
...
Рейтинг: 0 / 0
15.11.2003, 09:41
    #32325321
m_kus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова Crystal Reports
Ну, тут тебе придётся самому разбираться, могу только подсказать попробовать:
Код: plaintext
1.
2.
3.
4.
  ...
  DM.Crpe1.ReportName := 'C:\Documents and Settings\yudin\My Documents\Report1.rpt';
  DM.Crpe1.DiscardSavedData;
  ...

Где кстати присваивание:
Код: plaintext
1.
          DM.CrpeDS1.DataSet:=...;

?
...
Рейтинг: 0 / 0
17.11.2003, 09:20
    #32325828
фёдор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова Crystal Reports
Присваивание реализовано на уровне компонента при разработке в design-time.
Как раз последний вопрос был о том, почему при отладке
Код: plaintext
DM.CrpeDS1.DataPointer=Inaccessible value

при том что
Код: plaintext
DM.Crpe1.Tables[ 0 ].DataPointer=nil

По этому вопросу у кого-нибудь идеи есть?
...
Рейтинг: 0 / 0
17.11.2003, 11:07
    #32325934
фёдор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова Crystal Reports
Кстати, м.б. это можно реализовать без ТCrpeDS? Только ТCrpe использовать?
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / И снова Crystal Reports / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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