Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Как отвязать отчет в CrystalReport от базы? / 12 сообщений из 12, страница 1 из 1
27.11.2007, 14:20
    #34968312
playnet
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отвязать отчет в CrystalReport от базы?
Есть отчеты в репорте. Проблема в том, что там жестко прописана база, из которой читать, а нужно, чтобы при запуске отчета спрашивало, что использовать.
Доки смотрел, но не понял.
...
Рейтинг: 0 / 0
28.11.2007, 11:53
    #34971185
playnet
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отвязать отчет в CrystalReport от базы?
Что, никто не знает?
Посоветуйте тогда нормальный форум, где будут знать...
...
Рейтинг: 0 / 0
28.11.2007, 15:45
    #34972241
cfgjnfgjhn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отвязать отчет в CrystalReport от базы?
Если в 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
29.11.2007, 22:58
    #34976632
playnet
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отвязать отчет в CrystalReport от базы?
Там такая штука получается... Прога на с++, из нее грузим отчет. Причем если в программе стоит основная база и делаем отчет, все нормально. Но если сменить базу в программе, отчет все-равно формируется по старой базе!
Более того, запускаем отчет, указываем _другую_ базу. А он все-равно формируется по основной.
Кто подскажет, как лечить? Я посмотрел исходник sql запроса отчета, там база вшита жестко, но нет возможности ни поменять базу, ни отвязать.
...
Рейтинг: 0 / 0
13.12.2007, 16:14
    #35008047
LadyShack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отвязать отчет в CrystalReport от базы?
Хочется узнать была ли реализована такая возможность. Мне тоже нужно программно передать инфу для коннекта программно тому отчету, который был уже создан на другом сервере. Но лезет ошбка. Как переопределить эту информацию?
...
Рейтинг: 0 / 0
22.12.2007, 16:56
    #35027960
playnet
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отвязать отчет в CrystalReport от базы?
Тут похоже нет профи по репорту.. надо попробовать на хобот сунуться, спросить там..
...
Рейтинг: 0 / 0
22.12.2007, 21:43
    #35028103
Amdei
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отвязать отчет в CrystalReport от базы?
Усё можно.
Читать RTFM.
Только RTFM - это долго, поэтому я вам помогу. И именно с C++.
Кинте только весточку, чтобы я не забыл.
...
Рейтинг: 0 / 0
22.12.2007, 21:49
    #35028109
Amdei
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отвязать отчет в CrystalReport от базы?
О! Нашел!
Усё как в экзампле.
Код: 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
22.12.2007, 21:52
    #35028111
Amdei
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отвязать отчет в CrystalReport от базы?
playnetТут похоже нет профи по репорту.. надо попробовать на хобот сунуться, спросить там..Кто такой хобот?
...
Рейтинг: 0 / 0
11.02.2008, 03:09
    #35123072
playnet
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отвязать отчет в CrystalReport от базы?
Amdei playnetТут похоже нет профи по репорту.. надо попробовать на хобот сунуться, спросить там..Кто такой хобот?
ixbt.com

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

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

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

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

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

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

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

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

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

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


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