Requery方法! 
    也可以直接使用ADODB.Recordset!不使用DataEnvironment!例: 
    ... 
     public adoRecordsetX as ADODB.Recordset 
    ... 
     
     Private Sub DataReport_Initialize() 
     adoRecordsetX.Requery 
     Set DataReport1.DataSource = adoRecordsetX '设置 DataReport 的数据源 
     ... 
     '绑定某字段 
     Me.Sections.Item("Section1").Controls.Item("text1").DataField=adoRecordsetX.Fields.Item(0).Name 
     ... 
     End Sub 
<END>    
： 
    在你们有关上述问题的回答，我想再增加一种更简单的解决办法。 
     1.在datareport 报表中设置datamember和datasource为空。 
     2.将以前绑定的RptTextBox的datamember设为空，保留原来的datafield. 
     3.在打印操作中增加以下代码： 
     Dim db As Connection 
     Set db = New Connection 
     db.CursorLocation = adUseClient 
     db.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=" + App.path + "\finance.mdb" + ";" 
     
     Set tb = New Recordset 
     tb.Open "select * from dailyfeeprint", db, adOpenStatic, adLockOptimistic 
     With tb 
     
     .AddNew 
     ![工号] = Combo1(0).Text 
     ![姓名] = txtFields(0).Text 
     ![交费日期] = txtFields(1).Text 
     ......... 
     .Update 
     End With 
     
     Set data1.Recordset = tb 
     
     Set datareport1.DataSource = data1 
     datareport1.Show 
     datareport1.PrintReport 
    其实这个问题也搞得我很头疼，希望能让其他人不再头疼。 
<END>    
直接Requery 一下就可以了。 
    Private Sub DataReport_Initialize() 
     DataEnvironment1.rsCommand1.Requery 
    End Sub 
<END>     
这几天我也是为这个问题而烦恼!直到今天早上,我无意中想到把数据环境也跟报表一样Unload 一下，没想到真的可行! 
     DataReport3.Caption = Ipt & "用户费用" 
     DataReport3.Title = Ipt & "用户费用" 
     DataReport3.Show vbModal, Me 
     Unload DataReport3 
     Unload DataEnvironment1 
<END>     
以上方法还需补充一下 
     1 对DataEnvironment的datamember的属性设置为空。 
     2 对datareport报表中的rpttext控件的datasouce和recordset重新进行绑定(需要在报表初始化事件中用代码实现) 
<END>     

    
    
    