powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Crystal Reports + VB6
4 сообщений из 4, страница 1 из 1
Crystal Reports + VB6
    #35819736
Фотография Kallandor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток, уважаемые

Я практически новичек в кристале. Использую CR XI
при создании отчета с помощью дезайнера в качестве источника данных указала хранимую процедуру. Составила примерный отчет.
Теперь необходимо при вызове просмотрщика с отчетом поменять в отчете сервер и базу данных в рантайме.
Подскажите пожалуйста как это сделать?
...
Рейтинг: 0 / 0
Crystal Reports + VB6
    #35820700
Фотография Kallandor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые,
ответ на свой вопрос я нашла. Но возник новый вопрос: когда я пытаюсь назначить в качестве источника данных датасет из ADO.RecordSet вываливается ошибка

код:
Код: 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.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
Dim sErr As String
Dim Server1$, Database1$, user1$, Password1$

On Error GoTo Form_Load_Err



Dim ConnectionStr As String
Dim cmd As String, sql_username As String, trans As String

Base = "MyBase"
Server = "MyServer"
sql_username = "MyUserName"
trans = "MyTrans"

ConnectionStr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;"
ConnectionStr = ConnectionStr + "User ID=" + sql_username + ";Initial Catalog=" + Base + ";Data Source=" + Server + ";Application Name=" + trans$

cmd = "select * from dbo.table1 with (nolock)"
con_SQL.ConnectionString = ConnectionStr
con_SQL.Open

Set rs_sql = con_SQL.Execute(cmd)
'---------------------------------------------------------------------
'Этот кусок кода отлично работает, меняет название базы и сервера
'Database1 = "MyBase2"
'Server1 = "MyServer2"
'user1 = ""
'Password1 = ""
'
'Dim ConInf As ConnectionProperties
'Set ConInf = Report.Database.Tables(1).ConnectionProperties
'
'ConInf.DeleteAll
'ConInf.Add "Provider", "SQLOLEDB"
'
'If Report.Database.Tables(1).DllName <> "crdb_ado.dll" Then
'    Report.Database.Tables(1).DllName = "crdb_ado.dll"
'End If
'
'
'ConInf.Add "Data Source", Server1
'ConInf.Add "Initial Catalog", Database1
'If (user1 = "") Then
'ConInf.Add "Integrated Security", True
'End If
''ConInf.Add "User ID", user1
''ConInf.Add "Password", Password1
'If Not Report.Database.Tables(1).TestConnectivity Then
'    MsgBox "No Connection"
'End If
'
'Report.Database.Verify
'
'Report.Database.Tables(1).Location = Report.Database.Tables(1).Location
'---------------------------------------------------------------------
Report.DiscardSavedData

Report.Database.SetDataSource rs_sql,  3 
rs_sql.Close

Report.Database.Verify
'Report.Database.Tables(1).Location = Report.Database.Tables(1).Location

'вот тут сваливается на ошибку
Screen.MousePointer = vbHourglass
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
Screen.MousePointer = vbDefault
Exit Sub

Form_Load_Err:
    sErr = Err.Number & " " & Err.Source & " " & Err.Description
    MsgBox sErr, vbInformation
    Exit Sub

End Sub

Подскажите пожалуйста как установить в DataSource Crystal Report'а RecordSet из ADO?
...
Рейтинг: 0 / 0
Crystal Reports + VB6
    #35821373
Фотография Kallandor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Актуализация ошибки:

MAPA3OTKallandor, а никто, случайно ничего не забыл?
Report.Database. Tables(1) .SetDataSource rs_sql
сделала так как ты и сказал.
Все равно вываливается ошибка :
автор-2147189139 Crystal Reports ActiveX Designer Invalid Argument provided.
после
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Report.DiscardSavedData

Report.Database.Tables( 1 ).SetDataSource rs_sql
rs_sql.Close

'вот тут после verify
Report.Database.Verify
...
Рейтинг: 0 / 0
Crystal Reports + VB6
    #35821879
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не уверен, но вроде бы надо статичный клиентский рекордсет передавать, а у тебя он получен методом con.Execute(), поэтому и не подходит.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Crystal Reports + VB6
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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