Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Crystal Reports ->This Field name is not known. / 1 сообщений из 1, страница 1 из 1
13.02.2007, 13:33
    #34326963
Fe.
Fe.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Crystal Reports ->This Field name is not known.
Есть приложение на С# использующее 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
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Crystal Reports ->This Field name is not known. / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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