打印报表后,然后更改打印条件,预览时发现还是上一次的数据,除非再点击一次预览按钮,才会变化,很是奇怪。  预览的代码:
  
    With ARWendu
        .DataControl1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\Data_Sys.mdb;Jet OLEDB:Database Password=hellobcb31023;Persist Security Info=False"
        .DataControl1.Source = conString
        .DataControl1.Refresh
        .Field1.DataField = "记录号"
        .Field2.DataField = "机器号"
        .Field3.DataField = "温度"
        .Field4.DataField = "报警上限"
        .Field5.DataField = "报警下限"
        .Field6.DataField = "值班操作员"
        .Field7.DataField = "采样时间"
        .Field8.Text = Now
        .Field9.Text = curUser.userName
        .Show
    End With打印的代码:
  
    With ARWendu
        .DataControl1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\Data_Sys.mdb;Jet OLEDB:Database Password=hellobcb31023;Persist Security Info=False"
        .DataControl1.Source = conString
        .DataControl1.Refresh
        .Field1.DataField = "记录号"
        .Field2.DataField = "机器号"
        .Field3.DataField = "温度"
        .Field4.DataField = "报警上限"
        .Field5.DataField = "报警下限"
        .Field6.DataField = "值班操作员"
        .Field7.DataField = "采样时间"
        .Field8.Text = Now
        .Field9.Text = curUser.userName
        ..PrintReport True
    End With

解决方案 »

  1.   

    dim myARWendu as new ARWendu
    With myARWendu
            .DataControl1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\Data_Sys.mdb;Jet OLEDB:Database Password=hellobcb31023;Persist Security Info=False"
            .DataControl1.Source = conString
            .DataControl1.Refresh
            .Field1.DataField = "记录号"
            .Field2.DataField = "机器号"
            .Field3.DataField = "温度"
            .Field4.DataField = "报警上限"
            .Field5.DataField = "报警下限"
            .Field6.DataField = "值班操作员"
            .Field7.DataField = "采样时间"
            .Field8.Text = Now
            .Field9.Text = curUser.userName
            .Show
        End With
    set myARWendu=nothing原因在于你打开了AR的窗体(默认对象),但却没有关闭它,那么它还保存上次的数据,并没有刷新.解决的办法是每次都定义一个新的对象,然后对这个新对像进行操作.