Set RP = New Report With RP '此处我用的是数据环境,所以直接使用的命令 Call DataEnv.PrintSPLabelTmp Set Rs = DataEnv.rsPrintSPLabelTmp.Clone DataEnv.rsPrintSPLabelTmp.Close ‘你拭拭这样赋值给报表。 Call .Database.Tables(1).SetDataSource(Rs, 3) End With
能稍微解释一下吗?PrintSPLabelTmp是什么?
是一个数据环境中的一个命令(就是command),执行后自动有一个带rs的同名结果集。
你在工程里: 添加-〉其他ActiveX设计器-〉Crystal Report 8 然后一步一步按照提示做一个报表比如取名CrystalReport1然后在一个新的窗口(比如取名frm_CRTest)上摆一个CRViwer控件写上以下代码Private Sub Form_Load() CRViewer1.ReportSource = CrystalReport1 CRViewer1.ViewReport End SubPrivate Sub Form_Resize() CRViewer1.Top = 0 CRViewer1.Left = 0 CRViewer1.Height = ScaleHeight CRViewer1.Width = ScaleWidth End Sub 然后调出这个窗口学会做这个再说吧
谢谢 ozw(沧浪客)的指点,这些我会! 自己研究了半天,终于搞明白了。说出来大家也许不信,我都有点不相信,我的代码其实确实没错,但Sql语句中有一点算不上问题的问题:我的数据库是Oracle 7的,VB是6.0(SP5),在Sql语句中要拉出 n 个字段,其中一个字段AA是number类型的,问题就是这样让人莫名其妙,只要去掉这个number类型的字段AA 或者 to_char(AA),,结果就正常了,我不知道这是Oracle 7的bug还是VB的bug,哎,害的我好苦!! 现在问题解决了,散分!!
没有指定数据源,怎么行呢?
With RP
'此处我用的是数据环境,所以直接使用的命令
Call DataEnv.PrintSPLabelTmp
Set Rs = DataEnv.rsPrintSPLabelTmp.Clone
DataEnv.rsPrintSPLabelTmp.Close ‘你拭拭这样赋值给报表。
Call .Database.Tables(1).SetDataSource(Rs, 3)
End With
添加-〉其他ActiveX设计器-〉Crystal Report 8
然后一步一步按照提示做一个报表比如取名CrystalReport1然后在一个新的窗口(比如取名frm_CRTest)上摆一个CRViwer控件写上以下代码Private Sub Form_Load()
CRViewer1.ReportSource = CrystalReport1
CRViewer1.ViewReport
End SubPrivate Sub Form_Resize()
CRViewer1.Top = 0
CRViewer1.Left = 0
CRViewer1.Height = ScaleHeight
CRViewer1.Width = ScaleWidth
End Sub 然后调出这个窗口学会做这个再说吧
自己研究了半天,终于搞明白了。说出来大家也许不信,我都有点不相信,我的代码其实确实没错,但Sql语句中有一点算不上问题的问题:我的数据库是Oracle 7的,VB是6.0(SP5),在Sql语句中要拉出 n 个字段,其中一个字段AA是number类型的,问题就是这样让人莫名其妙,只要去掉这个number类型的字段AA 或者 to_char(AA),,结果就正常了,我不知道这是Oracle 7的bug还是VB的bug,哎,害的我好苦!!
现在问题解决了,散分!!