我在学习vb中出了点不理解的地方,比如我在一个窗体中设计了一个表格对数据进行编辑,查看和更新,
同时在窗体上放了一个按钮执行打印的功能,即将表格中的内容随时打印出来。
这就涉及到一个问题,窗体是一个模块,而报表是另一个模块,在窗体中定义的ado recordset对象在报表中是不能识别的。(当然我可以把窗体中的ado对象都设成全局形的,但我不想那样做,因为全局性变量太多了不好),可是我的需求就是把表格中的内容显示出来。我应该如何办呢?
当然我在报表的初始化事件中也可以生成本模块的recordset对象用于打印,可我觉得也不太好,因为用现两处代码生成的对象很难保证完全一致。再说代码要增加一倍。
可能我的思维陷入一个怪圈中去了。大家帮我一下。
好吗?

解决方案 »

  1.   

    用的哪个表格?说具体一点
    楼主的话好像有问题,如果在窗体中定义一个RecordSet而不用的话,那和没定义有什么区别?
      

  2.   

    可能我没说明白,我在窗体中定义的是recordset对象,其内容用datagrid来显示。
    即用datagrid来编辑和修改记录,(是员工的一些信息),根据条件按部门等条件选出来修改更新,或查询。当然也需要将这些内容打印出来,打印的内容与datagrid中显示的基本一样。
    窗体已经设计好了。可是打印有问题了。我的报表是用报表设计器datareport设计的。
    我如何用我的窗体中的recordset对象作为我的报表的数据源呢?
    我在窗体中定义的recordset对象在datareport中是不认的。
    不知道我讲明白没有。我是初学,可能说的不太明白,请见谅。
      

  3.   

    为什么不能定义成全局变量?
    如果不行的话直接回调DataGrid里的数据好了,或是直接把RecordSet.GetString