100分请教水晶报表高手

changwwl 2006-03-20 09:15:47
我现在用水晶报表9+VB6.0做报表,请问:
连接的ACCESS数据库有20个字段,但每次参与报表设计的字段不确定,要根据用户的选择决定,
这样就不能利用事先作好的模板了,我怎样才能利用代码编程动态的选择字段,动态的设计报表呢?
这种制作报表的方法在"水晶报表9+VB.NET"中有很多介绍,但关于用VB6.0如何实现的我一直没找到,
曾经用人告诉我在VB中不能实现,不知道是不是真的
请问 在VB6.0中到底能不能实现,能实现的话,又怎样实现呢?
请各位高手赐教!!!!!!!!!!
我在线等待,先谢谢了!
...全文
76 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
fxj331072 2006-03-20
CrystalReport1设计器左上角选:数据字段—数据专家—创建新连接-OLEDB(ADO)自己设置一下数据库—把command选到表里—编辑command—把SQL语句写在左边的框里(不要加数据库以外的,在底下代码里加),然后把command里的字段拖到设计器上。

打印窗体里:

‘声明
Dim m_Report As New CrystalReport1 ’你的设计器

Dim m_Connection As ADODB.Connection
Dim adoRS As ADODB.Recordset
Option Explicit

Private Sub Form_Load()
On Error Resume Next
Dim sql As String
Dim strConnect As String

' Create and bind the ADO Recordset object
Set m_Connection = New ADODB.Connection
Set adoRS = New ADODB.Recordset

' Open the connection
strConnect = JetOLEDB ’你的连接串
m_Connection.Open strConnect

sql = "select Instore.ProId as 产品编号,ProName as 产品名称,Quantity as 数量,Hand as 经手人,InstoreCode as 票号,Instore.Indate as 日期 From Instore Join Product on dbo.Instore.ProId=dbo.Product.ProId where Instore.Indate between '" + Str(FrmInstoreQuery.DTP1.Value) + "' and '" + Str(FrmInstoreQuery.DTP2.Value) + "' and " & b & " = '" + FrmInstoreQuery.Text1.Text + " '"

adoRS.Open sql, m_Connection, adOpenDynamic, adLockBatchOptimistic ‘这里是打印的记录源
m_Report.Database.SetDataSource adoRS

Screen.MousePointer = vbHourglass
CRViewer1.ReportSource = m_Report
CRViewer1.ViewReport
Screen.MousePointer = vbDefault
End Sub

Private Sub Form_Resize()
CRViewer1.Top = 0
CRViewer1.Left = 0
CRViewer1.Height = ScaleHeight
CRViewer1.Width = ScaleWidth
End Sub

End If
回复
相关推荐
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2006-03-20 09:15
社区公告
暂无公告