Private Sub Command1_Click() Dim capp As New CRAXDDRT.Application
Dim carp As New CRAXDRT.Report
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strsql As String
Dim i As Integer
If cn.State = adStateOpen Then cn.Close
With cn
.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=STIS5_DEMO;Data Source=LGQ"
.Open
End With
strsql = "select * from [UserAccount] where LOGINNAME='LGQ'"
If rs.State = adStateOpen Then rs.Close
With rs
.ActiveConnection = cn
.CursorLocation = adUseClient
.Open strsql, cn, adOpenDynamic, adLockOptimistic
End With
Set carp = capp.OpenReport(App.Path + "\Report2.rpt")
For i = 1 To carp.Database.Tables.Count
If carp.Database.Tables.Item(i).Name = "USERACCOUNT" Then
carp.Database.Tables(i).SetDataSource rs
End If
Next
Screen.MousePointer = vbHourglass
CRViewer91.ReportSource = carp
CRViewer91.ViewReport
Screen.MousePointer = vbDefault
CRViewer91.Zoom 100
'----------------------
Screen.MousePointer = vbDefault
Crviewer91.refresh '刷新,这里搞不定
'CRViewer91_RefreshButtonClicked True
End Sub各位大哥,请帮帮忙。
我的需求是每次只选出一条记录,然后显示用水晶报表打印,因为在设计报表的时候没有过滤记录,所以加载后显示的是全部的记录,按方面的方法重设记录集后,刷新不起作用,但用控件上的刷新按钮可以刷新,请问这是怎么回事?有什么方法可以解决吗,我用的是9.2版本的。
另,水晶报表里可以带参数进去吗?我的想法是最好这样,我带一个参数到水晶报表里去,然后它根据这个参数选择合适的记录,然后显示出来,如果可以,请帮我提供一些代码或是资料,在此感谢。
Dim carp As New CRAXDRT.Report
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strsql As String
Dim i As Integer
If cn.State = adStateOpen Then cn.Close
With cn
.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=STIS5_DEMO;Data Source=LGQ"
.Open
End With
strsql = "select * from [UserAccount] where LOGINNAME='LGQ'"
If rs.State = adStateOpen Then rs.Close
With rs
.ActiveConnection = cn
.CursorLocation = adUseClient
.Open strsql, cn, adOpenDynamic, adLockOptimistic
End With
Set carp = capp.OpenReport(App.Path + "\Report2.rpt")
For i = 1 To carp.Database.Tables.Count
If carp.Database.Tables.Item(i).Name = "USERACCOUNT" Then
carp.Database.Tables(i).SetDataSource rs
End If
Next
Screen.MousePointer = vbHourglass
CRViewer91.ReportSource = carp
CRViewer91.ViewReport
Screen.MousePointer = vbDefault
CRViewer91.Zoom 100
'----------------------
Screen.MousePointer = vbDefault
Crviewer91.refresh '刷新,这里搞不定
'CRViewer91_RefreshButtonClicked True
End Sub各位大哥,请帮帮忙。
我的需求是每次只选出一条记录,然后显示用水晶报表打印,因为在设计报表的时候没有过滤记录,所以加载后显示的是全部的记录,按方面的方法重设记录集后,刷新不起作用,但用控件上的刷新按钮可以刷新,请问这是怎么回事?有什么方法可以解决吗,我用的是9.2版本的。
另,水晶报表里可以带参数进去吗?我的想法是最好这样,我带一个参数到水晶报表里去,然后它根据这个参数选择合适的记录,然后显示出来,如果可以,请帮我提供一些代码或是资料,在此感谢。
解决方案 »
- 如何获取指定资源的地址?
- asp上传文件类的问题
- 我用installshield打包的程序(vb6+水晶报表9),在2000下提示无法注册模块
- 我覆盖安装了系统win2000 pro sp4 安装了vb6.0打开原来的工程运行说找不到工程或库??
- 50分求一段简单代码
- 一个关于报表的问题,在家进来看看
- 请教98下写的程序在2000下运行问题
- DataReport8.0怎么设置打印纸张的大小?
- 一道超难的SELECT语句。希望高手帮帮忙。(分不够再加)
- 各位高手请救救小弟!!如何用不同颜色填充由三个不同半径同心圆8等分形成的24块断面
- datagrid和ADODC怎样同步?
- 用文本写日志,但是要读日志,怎么循环判断读到那个标志呢?
'''显示方式一:情况为报表直接在工程设计器中制作(Dsr文件)
'---------------------
''CRViewer91.ReportSource = Report
''CRViewer91.ViewReport
'----------------------
'显示方式二:情况为报表在水晶报表软件中制作(rpt文件)
Dim capp As New CRAXDDRT.Application
Dim carp As New CRAXDRT.Report
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strsql As String
Dim i As Integer
If cn.State = adStateOpen Then cn.Close
'''''SQL SERVER连接方式
'''With cn
'''.Provider = "sqloledb"
'''.ConnectionString = "data source=dd;initial catalog=dfd;user id=sa;password=aaa"
'''.Open
'''End With
'Mdb的连接方式
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
'.ConnectionString = "Data Source='" + App.Path + "\temp.mdb;Jet OLEDB:Engine Type=5;Locale Identifier=0x0804;Jet OLEDB:Database Password="
.ConnectionString = "Data Source=" + App.Path + "\Test.mdb;Persist Security Info=False"
.Open
End Withstrsql = "select * from carsort"
If rs.State = adStateOpen Then rs.Close
With rs
.ActiveConnection = cn
.CursorLocation = adUseClient
.Open strsql, cn, adOpenDynamic, adLockOptimistic
End WithSet carp = capp.OpenReport(App.Path + "\CryStalTest.rpt")
For i = 1 To carp.Database.Tables.Count
If carp.Database.Tables.Item(i).Name = "carsort" Then
carp.Database.Tables(i).SetDataSource rs
End If
Next
Screen.MousePointer = vbHourglass
'第一种方式
''carp.ParameterFields(1).ClearCurrentValueAndRange
''carp.ParameterFields(1).AddCurrentValue ("myhgyp")
''carp.ParameterFields(2).ClearCurrentValueAndRange
''carp.ParameterFields(2).AddCurrentValue (CInt("3"))
carp.ParameterFields.GetItemByName("gg").ClearCurrentValueAndRange
carp.ParameterFields.GetItemByName("gg").AddCurrentValue ("myh111111111111111111111111111111111111" & Chr(13) & Chr(10) & "-22222222222222222222222222222222222222222222222222222222222gyp")
'carp.ParameterFields.GetItemByName("gg").AddCurrentValue ("myhgyp")
carp.ParameterFields.GetItemByName("ff").ClearCurrentValueAndRange
carp.ParameterFields.GetItemByName("ff").AddCurrentValue (CInt("673"))
CRViewer91.ReportSource = carpCRViewer91.ViewReport
Screen.MousePointer = vbDefault
CRViewer91.Zoom 100
'----------------------
Screen.MousePointer = vbDefault