许多朋友在使用水晶报表编程时,遇到了这么个小难题 
报表第一次加载的时候正确显示,但是在条件更换后,报表内容却没有及时更新. 
虽然在Crviewer上已经使用了Refresh方法 

 其实VB中只要简单在填充记录集合前使用DiscardSavedData方式释放掉水晶报表应用中缓存的数据即可 

    '清除报表中保持的数据 
    objCRReport.DiscardSavedData 
    '赋给报表数据 
    objCRReport.Database.SetDataSource rst 

VSNet2003附带的水晶报表版本中没有DiscardSavedData方法, 
我自己用的时候没有出现过数据不刷新的情况,所以没有直接做个测试 
但是可以在应该在界面重载的时候,做一次 
objReportDocument.Dispose() 

另外在制作模板的时候,保存时不要选择将数据与报表一起保存 
如果已经选择了,把"文件"-->"报表选项"里的这个项目点掉

原文发表于:http://www.cnblogs.com/babyt/archive/2005/03/13/117753.html