VB中使用水晶报表编程的一种简单方法

豆豆网   技术应用频道   2006年07月30日    社区交流

本文详细介绍VB中使用水晶报表编程的一种简单方法

  Option Explicit
dim Report as New Cystal1
Private Sub Form_Load()
 Screen.MousePointer = vbHourglass
 '调用水晶报表时置鼠标为沙漏状 CRViewer91.ReportSource = Report '该语句的赋值将在后面被修改
 CRViewer91.ViewReport
 Screen.MousePointer = vbDefault '调用水晶报表完成后置鼠标为默认形状
End Sub
Private Sub Form_Resize()
 CRViewer91.Top = 0
 CRViewer91.Left = 0
 CRViewer91.Height = ScaleHeight
 CRViewer91.Width = ScaleWidth
End Sub

  第二步:

  点击Crystal Report设计器的"数据库字段",选定"数据库专家…",然后点"创建新连接",再点"仅字段定义",创建"数据库定义"文件,字段名和宽度和原数据库表保持一致。最后,在数据库字段中获得了相应字段,将其置于报表上,按水晶报表的要求配置。

  第三步:

  该步骤非常关键,添加一个Modual到工程文件中,定义全局的ADODB变量,实现数据库和水晶报表的动态连接。代码如下:

  Public conn As New ADODB.Connection
Public rs As New ADODB.Recordset

  第四步:

  关于VB程序的ADO数据库连接注意事项,请看下面的打印按钮例程。

  Private Sub Command1_Click()
 Dim connstr As String
 If conn.State = adStateOpen Then conn.Close
  connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\prtest.mdb;Persist Security Info=False" 'prtest.mdb是程序当前目录的测试Access数据库
  conn.ConnectionString = connstr
  conn.Open
  conn.CursorLocation = adUseClient
  If rs.State = adStateOpen Then rs.Close
   rs.Open "test", conn, adOpenKeyset, adLockReadOnly
   ' Report.Database.SetDataSource rs, 3, 1
   Form2.Show 1 '数据库连接完成后,调用Form2水晶报表工程
End Sub

作者:冯强    责编:豆豆技术应用

正在加载评论...