Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Crystal Reports + VB6 / 4 сообщений из 4, страница 1 из 1
16.02.2009, 14:37
    #35819736
Kallandor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Crystal Reports + VB6
Доброго времени суток, уважаемые

Я практически новичек в кристале. Использую CR XI
при создании отчета с помощью дезайнера в качестве источника данных указала хранимую процедуру. Составила примерный отчет.
Теперь необходимо при вызове просмотрщика с отчетом поменять в отчете сервер и базу данных в рантайме.
Подскажите пожалуйста как это сделать?
...
Рейтинг: 0 / 0
16.02.2009, 19:07
    #35820700
Kallandor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Crystal Reports + VB6
Уважаемые,
ответ на свой вопрос я нашла. Но возник новый вопрос: когда я пытаюсь назначить в качестве источника данных датасет из 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
17.02.2009, 10:01
    #35821373
Kallandor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Crystal Reports + VB6
Актуализация ошибки:

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


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