Я много искал и, наконец, после тестирования себя, создав новый отчет, используя статические данные, я получил решение для динамического.
Моя процедура тестирования:
1.) Создан новый файл Crystal Report:
2.) Создано новое подключение базы данных к файлу .accdb access 2007
3.) Создано новая форма
4.) Добавлен элемент управления Crystal Report Viewer в форму
5.) Назначен документ отчетаранее созданный отчет.
6.) установите точку останова при загрузке формы
7.) Прочитайте все настройки
8.) Скопированы настройки документа отчета, информация о входах в таблицы документов.
9.) Вставил прочитанные настройки в мой проект.
10.) Работало нормально ... :)
Мой код:
//here crpt is a sample report document
Dim CTableLogInfo As TableLogOnInfo
Dim ConnInfo As CrystalDecisions.Shared.ConnectionInfo = New ConnectionInfo()
ConnInfo.Type = ConnectionInfoType.CRQE
ConnInfo.ServerName = DBLayer.GetAbsoluteDBPath()
ConnInfo.DatabaseName = ""
ConnInfo.UserID = "Admin"
ConnInfo.AllowCustomConnection = False
ConnInfo.IntegratedSecurity = False
For Each CTable As Table In CRpt.Database.Tables
CTable.LogOnInfo.ConnectionInfo = ConnInfo
CTableLogInfo = CTable.LogOnInfo
CTableLogInfo.ReportName = CRpt.Name
CTableLogInfo.TableName = CTable.Name
CTable.ApplyLogOnInfo(CTableLogInfo)
Next
CrystalReportViewer1.ReportSource = CRpt
CrystalReportViewer1.RefreshReport()
Я понял, что настройкапуть к базе данных имя_сервера разрешит это