100分请教水晶报表高手

changwwl 2006-03-20 09:15:47
我现在用水晶报表9+VB6.0做报表,请问:
连接的ACCESS数据库有20个字段,但每次参与报表设计的字段不确定,要根据用户的选择决定,
这样就不能利用事先作好的模板了,我怎样才能利用代码编程动态的选择字段,动态的设计报表呢?
这种制作报表的方法在"水晶报表9+VB.NET"中有很多介绍,但关于用VB6.0如何实现的我一直没找到,
曾经用人告诉我在VB中不能实现,不知道是不是真的
请问 在VB6.0中到底能不能实现,能实现的话,又怎样实现呢?
请各位高手赐教!!!!!!!!!!
我在线等待,先谢谢了!
...全文
94 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧