菜鸟利用VSflexgrid 控件显示查询结果,提前绑定数据集,因不同查询方式需要,必须随时关闭此数据集。
现需要利用水晶报表显示并打印VSFlexgrid 中的查询结果 ,由于原数据集已关闭,无法为报表提供数据集,为此无计可施,求解,原程序如下:
Public rs As New ADODB.Recordset
Public str As String
Public conn As New ADODB.Connection strsql = "SELECT b.dept_name,a.employ_no,a.employ_name, a.sex_name,a.sy_gz,a.jc_gz,a.bz_jt,a.bz_wc,a.k_dkk, a.employ_time, " & _
         "a.bz,a.employ_mem  FROM employees a,departments b where a.dept_no = b.dept_no  and a.employ_name like '%" & Trim(txt_name.Text) & "%'"
         rs.Open strsql, conn, 3, 2
         lastrow = 1
         lastcol = 1
         With grid_master
                      .Editable = flexEDNone
                      .AllowUserResizing = flexResizeBoth
                      .AllowUserFreezing = flexFreezeBoth
                      .BackColorFrozen = RGB(200, 200, 255)
                      .ExplorerBar = flexExMoveRows Or flexExSortShowAndMove
                  Set .DataSource = rs1
                      .SelectionMode = flexSelectionByRow
                      .Row = .Rows - 1
                  For Row = .FixedRows To .Rows - 1
                      .TextMatrix(Row, 0) = Row
                  Next
         End With
         rs.Close   数据集关闭,必须的希望不用写入临时报表的方式,直接把表格中的数据写入一新数据集(Recordset),以为报表提供数据源