powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Как отвязать отчет в CrystalReport от базы?
12 сообщений из 12, страница 1 из 1
Как отвязать отчет в CrystalReport от базы?
    #34968312
playnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть отчеты в репорте. Проблема в том, что там жестко прописана база, из которой читать, а нужно, чтобы при запуске отчета спрашивало, что использовать.
Доки смотрел, но не понял.
...
Рейтинг: 0 / 0
Как отвязать отчет в CrystalReport от базы?
    #34971185
playnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что, никто не знает?
Посоветуйте тогда нормальный форум, где будут знать...
...
Рейтинг: 0 / 0
Как отвязать отчет в CrystalReport от базы?
    #34972241
cfgjnfgjhn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если в crystal то:
DataBase-SetDataSourceLocation

Если из под Delphi:
form10:=tform10.Create(application);
form10.Crpe1.ReportName:='c:\Отчет.rpt';
form10.Crpe1.Connect.ServerName:='c:\База.mdb';
form10.Crpe1.SQL.Query.Clear;
form10.Crpe1.SQL.Query.Add(' SELECT ...................................');
form10.Crpe1.Execute;
...
Рейтинг: 0 / 0
Как отвязать отчет в CrystalReport от базы?
    #34976632
playnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Там такая штука получается... Прога на с++, из нее грузим отчет. Причем если в программе стоит основная база и делаем отчет, все нормально. Но если сменить базу в программе, отчет все-равно формируется по старой базе!
Более того, запускаем отчет, указываем _другую_ базу. А он все-равно формируется по основной.
Кто подскажет, как лечить? Я посмотрел исходник sql запроса отчета, там база вшита жестко, но нет возможности ни поменять базу, ни отвязать.
...
Рейтинг: 0 / 0
Как отвязать отчет в CrystalReport от базы?
    #35008047
LadyShack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочется узнать была ли реализована такая возможность. Мне тоже нужно программно передать инфу для коннекта программно тому отчету, который был уже создан на другом сервере. Но лезет ошбка. Как переопределить эту информацию?
...
Рейтинг: 0 / 0
Как отвязать отчет в CrystalReport от базы?
    #35027960
playnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тут похоже нет профи по репорту.. надо попробовать на хобот сунуться, спросить там..
...
Рейтинг: 0 / 0
Как отвязать отчет в CrystalReport от базы?
    #35028103
Amdei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Усё можно.
Читать RTFM.
Только RTFM - это долго, поэтому я вам помогу. И именно с C++.
Кинте только весточку, чтобы я не забыл.
...
Рейтинг: 0 / 0
Как отвязать отчет в CrystalReport от базы?
    #35028109
Amdei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О! Нашел!
Усё как в экзампле.
Код: plaintext
1.
2.
//Где-то обявлено. Класс обертка над ActiveX-контролом.
CCrystalReportViewer11	m_CRViewer;
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
	// A dummy variant
	VariantInit (&dummy);
	dummy.vt = VT_EMPTY;

	// Specify the path to the report you want to print
	_bstr_t ReportPath ("lalala-lala\\report_fare.rpt");
	
	_variant_t vtEmpty(DISP_E_PARAMNOTFOUND, VT_ERROR);

	// Instantiate the IApplication object
	//m_Application.CreateInstance(_T("CrystalRuntime.Application.11"));
	m_Application.CreateInstance(_T("CrystalRuntime.Application"));


	//Open the Report using the OpenReport method

	m_Report = m_Application->OpenReport(ReportPath, dummy);
	m_Report->EnableParameterPrompting = FALSE;
	m_CRViewer.SetEnableRefreshButton(FALSE);
	m_CRViewer.SetEnableAnimationCtrl(FALSE);

	
	IDatabasePtr db = m_Report->GetDatabase();
	IDatabaseTablePtr table = db->Tables->Item[ 1 ];
	/** @todo Как логиниться КристалРепортом по trusted connection? */
	table->SetLogOnInfo(_T("DSN-alias"), _T("DB-name"), _T("user"), _T("passwd"));
	db->Verify();


	int count = m_Report->ParameterFields->Count;
	VARIANT val;
	VariantInit(&val);


	val.vt = VT_INT;
	val.intVal =  3 ;

		_bstr_t paramName = "Тута имя параметра";
		IParameterFieldDefinitionPtr pv = m_Report->ParameterFields->GetItemByName(paramName);
		pv->DiscreteOrRangeKind = crDiscreteValue; 

//Кастомизировать по желанию.
		pv->SetCurrentValue(_variant_t((long) 3 ));


	//Print the Report to window
	m_CRViewer.SetReportSource(m_Report);
	m_CRViewer.SetEnableExportButton(FALSE);
	m_CRViewer.SetEnableGroupTree(FALSE);
	m_CRViewer.SetLaunchHTTPHyperlinksInNewBrowser(FALSE);
	m_CRViewer.SetEnableInteractiveParameterPrompting(FALSE);
	m_CRViewer.SetDisplayGroupTree(FALSE);
	m_CRViewer.ViewReport();
...
Рейтинг: 0 / 0
Как отвязать отчет в CrystalReport от базы?
    #35028111
Amdei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
playnetТут похоже нет профи по репорту.. надо попробовать на хобот сунуться, спросить там..Кто такой хобот?
...
Рейтинг: 0 / 0
Как отвязать отчет в CrystalReport от базы?
    #35123072
playnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Amdei playnetТут похоже нет профи по репорту.. надо попробовать на хобот сунуться, спросить там..Кто такой хобот?
ixbt.com

Как отчет включать, в принципе понятно. Проблема именно в том, что уже в самом отчете зашита база по умолчанию и надо это из отчета убрать.
Как вариант, открыть отчет из проги и просто силой переопределить базу ) Надо так попробовать, авось поможет..

Отвечаю только сейчас, ибо тут нет нормальной системы уведомлений по почте и просто прошляпил ответы... :(
...
Рейтинг: 0 / 0
Как отвязать отчет в CrystalReport от базы?
    #35124588
Amdei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
playnetПроблема именно в том, что уже в самом отчете зашита база по умолчанию и надо это из отчета убрать.

Код: plaintext
table->SetLogOnInfo(_T("DSN-alias"), _T("DB-name"), _T("user"), _T("passwd"));

Первый параметр - та самая "БАЗА". Или ты что-то другое имеешь ввиду?
playnet
Отвечаю только сейчас, ибо тут нет нормальной системы уведомлений по почте и просто прошляпил ответы... :(

Вверху страницы в правом углу - ссылка "Подписаться".
...
Рейтинг: 0 / 0
Как отвязать отчет в CrystalReport от базы?
    #35130423
playnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Amdei playnetПроблема именно в том, что уже в самом отчете зашита база по умолчанию и надо это из отчета убрать.

Код: plaintext
table->SetLogOnInfo(_T("DSN-alias"), _T("DB-name"), _T("user"), _T("passwd"));

Первый параметр - та самая "БАЗА". Или ты что-то другое имеешь ввиду?

Угу. Открываем сам отчет двойным кликом. Оно не спрашивает, куда коннектиться и просто коннектит на дефолтную базу. Как бы это вылечить? :)
Впрочем, за указание смены базы в программе - спасибо..

playnet
Отвечаю только сейчас, ибо тут нет нормальной системы уведомлений по почте и просто прошляпил ответы... :(

Вверху страницы в правом углу - ссылка "Подписаться".[/quot]
Ох и коряво это...
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Как отвязать отчет в CrystalReport от базы?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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