将数据源用REFRESH事件,即刷新!

解决方案 »

  1.   

    一个笨办法,先关闭数据源,再打开,重新显示报表,不过最好还是用ADO
      

  2.   

    就是要更新记录集.不更新怎么行.
    可以每次关闭报表时都同时关闭数据源.打开报表时首先重新读取记录集.
    例如:
    1.If DataEn.rsComAllServer.State = adStateOpen Then DataEn.rsComAllServer.Close '关闭Recordset
    DataEn.ComAllServer '重新读记录集
    2.If DataEn.rsComAllServer.State = adStateOpen Then DataEn.rsComAllServer.Close '关闭Recordset
      

  3.   

    更新数据后,把数据源也requery一次
      

  4.   

    Option ExplicitPrivate rsTemp As ADODB.RecordsetPrivate Sub DataReport_Initialize()    Set rsTemp = New ADODB.Recordset
        rsTemp.CursorLocation = adUseClient
        
        rsTemp.Open "SELECT * FROM [a]", "DSN=MS Access Database;DBQ=g:\a.mdb"
        Set Me.DataSource = rsTemp
        
    End SubPrivate Sub DataReport_Terminate()    rsTemp.Close
        Set rsTemp = Nothing
        
    End Sub
      

  5.   

    这个是DRD的老问题了,动态产生报表实例即可
    例:
    public sub cmdPrint_Click()
    dim DEDPrint as MyDED 'MyDED是你的数据环境
    dim DRDPrint as MyDRD 'MyDRD是你的报表设计器
    set DRDPrint=new MyDRD
    set DEDPrint.Datasource=DRDPrint '这句可能不对,时间久了记不清了,就是设置数据源的意思
    DRDPrint.Show
    End Sub()