Crystal Report + отсоединенный ADORecordset
От: BoikoRoman  
Дата: 13.11.02 13:06
Оценка:
Всем привет!

Имеется проблема с объединением этих двух "технологий".

Задача:
1. Имеется Crystal Report отчет (*.rpt) для MS SQL базы.
2. Имеется отсоединенный ADORecordset.
3. Нужно использовать именно существующий источник п.2.
4. Как их связать.
Примечание: Можно даже создать отчет без шаблона *.rpt.

Что я нашел и это мне не понравилось:
1. Отчету необходимо соединение с сервером (у меня отсоединенный рекордсет).
2. Всвязи с п.1 не получается выполнить SetDataSource для отчета и даже создать новый отчет без шаблона.

Что хотелось бы узнать:
Как отчету подсунуть отсоединенный рекордсет (проблема с отсутствием соединения) и как получить требуемый отчет.
Хотелось быувидеть примеры кода.

Спасибо.
Re: Crystal Report + отсоединенный ADORecordset
От: Zar Россия  
Дата: 13.11.02 13:27
Оценка:
Здравствуйте BoikoRoman, Вы писали:

BR>Всем привет!


BR>Имеется проблема с объединением этих двух "технологий".


BR>Задача:

BR>1. Имеется Crystal Report отчет (*.rpt) для MS SQL базы.
BR>2. Имеется отсоединенный ADORecordset.
BR>3. Нужно использовать именно существующий источник п.2.
BR>4. Как их связать.
BR>Примечание: Можно даже создать отчет без шаблона *.rpt.

BR>Что я нашел и это мне не понравилось:

BR>1. Отчету необходимо соединение с сервером (у меня отсоединенный рекордсет).
BR>2. Всвязи с п.1 не получается выполнить SetDataSource для отчета и даже создать новый отчет без шаблона.

BR>Что хотелось бы узнать:

BR>Как отчету подсунуть отсоединенный рекордсет (проблема с отсутствием соединения) и как получить требуемый отчет.
BR>Хотелось быувидеть примеры кода.

BR>Спасибо.


Ну, типа попробуй

    _variant_t vt((IDispatch*)rs);
    rpt->Database->Tables->Item[1]->SetPrivateData(3, &vt);
[ Zarathustra ]
Re[2]: Crystal Report + отсоединенный ADORecordset
От: BoikoRoman  
Дата: 13.11.02 13:55
Оценка:
Здравствуйте Zar, Вы писали:

Zar>Ну, типа попробуй


Zar>
Zar>    _variant_t vt((IDispatch*)rs);
Zar>    rpt->Database->Tables->Item[1]->SetPrivateData(3, &vt);
Zar>


Не помогло. Эффект тот же самый как и SetDataSource, т.е. ошибка.
Re[3]: Crystal Report + отсоединенный ADORecordset
От: Zar Россия  
Дата: 13.11.02 14:06
Оценка:
Здравствуйте BoikoRoman, Вы писали:

BR>Здравствуйте Zar, Вы писали:


Zar>>Ну, типа попробуй


Zar>>
Zar>>    _variant_t vt((IDispatch*)rs);
Zar>>    rpt->Database->Tables->Item[1]->SetPrivateData(3, &vt);
Zar>>


BR>Не помогло. Эффект тот же самый как и SetDataSource, т.е. ошибка.


А чё за ошибка-то? Мож у тебя отчёт пытается законектиться. У тебя в отчёту какой field source? Попробуй TTX-файл.
[ Zarathustra ]
Re[4]: Crystal Report + отсоединенный ADORecordset
От: BoikoRoman  
Дата: 13.11.02 14:46
Оценка:
Здравствуйте Zar, Вы писали:

Zar>А чё за ошибка-то? Мож у тебя отчёт пытается законектиться. У тебя в отчёту какой field source? Попробуй TTX-файл.


Пробовал и с существующими отчетами и с НОВЫМ, создавал чрез Application.
Re[5]: Crystal Report + отсоединенный ADORecordset
От: Zar Россия  
Дата: 13.11.02 15:51
Оценка:
Здравствуйте BoikoRoman, Вы писали:

BR>Здравствуйте Zar, Вы писали:


Zar>>А чё за ошибка-то? Мож у тебя отчёт пытается законектиться. У тебя в отчёту какой field source? Попробуй TTX-файл.


BR>Пробовал и с существующими отчетами и с НОВЫМ, создавал чрез Application.


ЧТО ЗА ОШИБКА ?
[ Zarathustra ]
Re: Crystal Report + отсоединенный ADORecordset
От: atanal  
Дата: 14.11.02 21:14
Оценка:
Здравствуйте BoikoRoman, Вы писали:



BR>Что хотелось бы узнать:

BR>Как отчету подсунуть отсоединенный рекордсет (проблема с отсутствием соединения) и как получить требуемый отчет.
BR>Хотелось быувидеть примеры кода.

Кажется это то, что тебе нужно:
http://support.crystaldecisions.com/communityCS/TechnicalPapers/scr8_ttxado.pdf
Re: Crystal Report + отсоединенный ADORecordset
От: MaximE Великобритания  
Дата: 14.11.02 21:27
Оценка:
Здравствуйте BoikoRoman, Вы писали:

BR>Что хотелось бы узнать:

BR>Как отчету подсунуть отсоединенный рекордсет (проблема с отсутствием соединения) и как получить требуемый отчет.
BR>Хотелось быувидеть примеры кода.

Из одного проекта:
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename( "EOF", "adoEOF" ) rename( "BOF", "adoBOF" )
#import <msdatsrc.tlb> no_namespace
#import <Vsflex7u.ocx> no_namespace
// ...
_RecordsetPtr recordset_;
// ...
// grid_ - это VideoSoft FlexGrid, требует Data Sorce
//
grid_->DataSource = DataSourcePtr(recordset_->DataSource);
// ...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.