我是这样做的,可是打开的还是 “ulosscal” 这张表的所有内容Private Sub Command1_Click()
Form2.Show
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cnn.CursorLocation = adUseClient
Call ConnectionData ‘打开记录集rs.Open "select * from ulosscal where cname = '" & cobname.text &"' ", cnn, adOpenKeyset, adLockReadOnly '这是打印的条件设置,可是好像不起做用哟。Dim cryApp As New CRAXDRT.Application
Dim Rpt As CRAXDRT.Report
Set Rpt = cryApp.OpenReport("d:\2\1.rpt")
Rpt.Database.SetDataSource rs
Form2.CRViewer1.Visible = True
Form2.CRViewer1.ReportSource = Rpt
Form2.CRViewer1.ViewReport
End SubPublic Sub ConnectionData()
Dim SQLstr As String
Set cnn = New ADODB.Connection
SQLstr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=system"
cnn.Open SQLstr '打通数据库
End Sub
这样打会打出全张表的记录,而非我要的记录,有没有解决的方法呢。给我指点一下,谢谢了。
Form2.Show
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cnn.CursorLocation = adUseClient
Call ConnectionData ‘打开记录集rs.Open "select * from ulosscal where cname = '" & cobname.text &"' ", cnn, adOpenKeyset, adLockReadOnly '这是打印的条件设置,可是好像不起做用哟。Dim cryApp As New CRAXDRT.Application
Dim Rpt As CRAXDRT.Report
Set Rpt = cryApp.OpenReport("d:\2\1.rpt")
Rpt.Database.SetDataSource rs
Form2.CRViewer1.Visible = True
Form2.CRViewer1.ReportSource = Rpt
Form2.CRViewer1.ViewReport
End SubPublic Sub ConnectionData()
Dim SQLstr As String
Set cnn = New ADODB.Connection
SQLstr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=system"
cnn.Open SQLstr '打通数据库
End Sub
这样打会打出全张表的记录,而非我要的记录,有没有解决的方法呢。给我指点一下,谢谢了。
这是网友给我的提示但本人太不懂了,哪位高手说明一点
就是说你在引用d:\2\1.rpt时要有个数据源吧,这里你预览的的1.rpt的数据源,而当你的rs数据与1.rpt的数据不同时,开始也只显示1.rpt的,只有你点一下刷新按钮才变为RS的,不知道这样说你明白吗?
这是我的邮箱谢谢了