我用DataEnvironment与DataReport做数据报表,根据选择的数据库和数据显示后打印预览,按“打印预览”后再按“打印预览”会提示
“实时错误,对象打开时,不允许操作.”如果只按一次“打印预览”,看到DataReport中细节的内容间距太大。有谁能帮我解决这两个问
题吗?或提供类似的代码.谢谢!
以下为我的代码。Dim MdbName,BiaoName as stringPrivate Sub CmdPrint_Click()
  DataE1.Connection1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & MdbName
  DataE1.rsCommand2.Open BiaoName
  DataR2.Refresh
  DataR2.Show
End Sub
Private Sub DataReport_QueryClose(Cancel As Integer, CloseMode As Integer)
   DataE1.rsCommand2.Close
   
End Sub

解决方案 »

  1.   

    加一个if  DataE1.Connection1.State=1 then  DataE1.Connection1.Close
      

  2.   

    间距太大是因为你的细节section上下距离太大了,可以在设计排版时调整,也可以在运行时作调整。
      

  3.   

    按照LSFTEST的做法可以解决“看到DataReport中细节的内容间距太大”的问题,但DBCONTROLS的就不可以解决“按“打印预览”后再按“打印预览”会提示“实时错误,对象打开时,不允许操作.”的错误。 
      

  4.   

    1、数据集多次打开错误产生的 每次打印之前判断一下 conn.state=1 conn.close or 直接set conn=nothing
    2、重新调整一下报表模板的detail的行间距就可以了,可以预览看下效果