我在这里找到了关于VB6调用水晶报表9的过程,但是我的语句是如下写的:
下面是一个函数,专门用来调用报表,其中FORM7是一个显示报表的窗体
Public Sub rptview(sqlstr As String, fname As String, pstr As String, rptstr As CRViewer9)
Dim cryapp As New CRAXDDRT.Application
Dim Report As CRAXDDRT.Report
Set tempsql = New ADODB.Recordset
tempsql.Open sqlstr, cn, adOpenStatic, adLockReadOnly
Set Report = cryapp.OpenReport(App.Path & "\rpt\" & fname & ".rpt")
Report.Database.SetDataSource tempsql
Screen.MousePointer = vbHourglass
Form7.Show
Form7.CRViewer91.ReportSource = Report
Form7.CRViewer91.EnableGroupTree = False
Form7.CRViewer91.EnableExportButton = True
Form7.CRViewer91.ViewReport
Screen.MousePointer = vbDefault
end sub
但是在调用过程中总是需要输入数据库密码,请问这是怎么会事?我的报表的连接都只做好的。
如果你愿意请回复到[email protected]中,急等着用,谢谢了。
下面是一个函数,专门用来调用报表,其中FORM7是一个显示报表的窗体
Public Sub rptview(sqlstr As String, fname As String, pstr As String, rptstr As CRViewer9)
Dim cryapp As New CRAXDDRT.Application
Dim Report As CRAXDDRT.Report
Set tempsql = New ADODB.Recordset
tempsql.Open sqlstr, cn, adOpenStatic, adLockReadOnly
Set Report = cryapp.OpenReport(App.Path & "\rpt\" & fname & ".rpt")
Report.Database.SetDataSource tempsql
Screen.MousePointer = vbHourglass
Form7.Show
Form7.CRViewer91.ReportSource = Report
Form7.CRViewer91.EnableGroupTree = False
Form7.CRViewer91.EnableExportButton = True
Form7.CRViewer91.ViewReport
Screen.MousePointer = vbDefault
end sub
但是在调用过程中总是需要输入数据库密码,请问这是怎么会事?我的报表的连接都只做好的。
如果你愿意请回复到[email protected]中,急等着用,谢谢了。
Dim M_App As CRAXDRT.ApplicationPrivate Sub Command1_Click()
Set M_App = New CRAXDRT.Application
Set m_Report = M_App.OpenReport(App.Path & "\Report.rpt")
LoadReport
End Sub
Private Sub LoadReport()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=Hotel;Data Source=server"
rs.Open "select * from tables", cn, adOpenStatic, adLockOptimistic
m_Report.DiscardSavedData
m_Report.Database.Tables(1).SetDataSource rs
CRViewer1.ReportSource = m_Report
CRViewer1.Refresh
CRViewer1.ViewReport
End Sub
還必須使用控件 crystal report viewer contral
priver sub form_load()
dim strsql as string
Dim i As Integer
dim capp As New CRAXDRT.Application
dim carp As New CRAXDRT.Report
dim cn as new adodb.connection
dim rs as new adodb.recordset
If cn.State = adStateOpen Then cn.Close
With cn
.Provider = "sqloledb"
.ConnectionString = "data source=dd;initial catalog=dfd;user id=sa;password=aaa"
.Open
End With
strsql="select * from tabname"
If rs.State = adStateOpen Then rs.Close
With rs
.ActiveConnection = cn
.CursorLocation = adUseClient
.Open strsql, cn, adOpenDynamic, adLockOptimistic
End With Set carp = capp.OpenReport("E:\reports\finisher.rpt")
For i = 1 To carp.Database.Tables.Count
If carp.Database.Tables.Item(i).Name = "ado" Then
carp.Database.Tables(i).SetDataSource rs
End If
Next crviw.ReportSource = carp
crviw.ViewReport
crviw.Zoom 100
end sub
---------------------------------------------------------------
Dim CryApp As New CRAXDDRT.Application
Dim Report As CRAXDDRT.Report Dim strCnn As String
Set Report = CryApp.OpenReport(App.Path & "\report2.rpt") Dim cnn1 As New ADODB.Connection
Dim adoRS As New ADODB.Recordset strCnn = "Provider=sqloledb;Data Source=abrams;Initial Catalog=salestesttmp;User Id=sa;Password=test;"
cnn1.Open strCnn adoRS.Open "select top 10 * from answers", cnn1, adOpenDynamic, adLockBatchOptimistic
Report.Database.SetDataSource adoRS Screen.MousePointer = vbHourglass
CRViewer91.ReportSource = Report
CRViewer91.ViewReport
Screen.MousePointer = vbDefault