powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Crystal Reports ->This Field name is not known.
1 сообщений из 1, страница 1 из 1
Crystal Reports ->This Field name is not known.
    #34326963
Fe.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Fe.
Гость
Есть приложение на С# использующее Crystal Reports Designer tool и viewer. Отчет строиться на хранимой процедуре. В самом отчете прописывается база тестовой машины. Необходимо изменять сервер и базу из кода. Это делается так:

Код: 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.
53.
/// <summary>
	/// This method will inject connection string for CrystalReports.
	/// </summary>
	/// <param name="reportDocument">Object  develop for Crystal Reports</param>
	public void InjectConnectionInfo(ReportDocument reportDocument)
	{
		SqlConnectionStringBuilder csb = new SqlConnectionStringBuilder(
CoreFactory.Configuration.GetValue("Dao.ConnectionString").ToString());
		ConnectionInfo connectionInfo = new ConnectionInfo();
		connectionInfo.ServerName = csb.DataSource;
		connectionInfo.DatabaseName = csb.InitialCatalog;
		connectionInfo.UserID = csb.UserID;
		connectionInfo.Password = csb.Password;

		SetConnectionInfoForEachTable(reportDocument, connectionInfo);

		foreach (Section section in reportDocument.ReportDefinition.Sections)
		{
			foreach (ReportObject reportObject in section.ReportObjects)
			{
				if (reportObject.Kind != ReportObjectKind.SubreportObject)
				{
					continue;
				}
				SubreportObject subreportObject = (SubreportObject)reportObject;
				ReportDocument subreportDocument = subreportObject.OpenSubreport(subreportObject.SubreportName);
				SetConnectionInfoForEachTable(subreportDocument, connectionInfo);
			}
		}

	}

	/// <summary>
	/// This method will set connectionInfo for all table in CrystalReports
	/// </summary>
	/// <param name="reportDocument">Object  develop for Crystal Reports</param>
	/// <param name="connectionInfo">Provides properties for retrieving and setting options for connecting to database servers</param>
	private void SetConnectionInfoForEachTable(ReportDocument reportDocument, ConnectionInfo connectionInfo)
	{
		foreach (CrystalDecisions.CrystalReports.Engine.Table table in reportDocument.Database.Tables)
		{
			TableLogOnInfo tableLogOnInfo = table.LogOnInfo;
			tableLogOnInfo.ConnectionInfo = connectionInfo;
			table.ApplyLogOnInfo(tableLogOnInfo);
			/*
			if (table.Location != table.Name)
			{
				 table.Location = table.Name;
			}
			 */
		}
	}



Но после изменения сервера и базы отчет не отображает а вылетает ошибка в формуле :

Error in File C:\DOCUME~1\baid\LOCALS~1\Temp\TimesheetsByUsers {1C2DDB90-AC31-499B-A53A-F0B6BE0A9FDF}.rpt: Error in formula . 'if DateValue ({?@spDateFrom}) = DateValue (1900, 1, 1) then ' This field name is not known.

как это лечится?

Спасибо.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Crystal Reports ->This Field name is not known.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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