请问在一个窗口中有一个水晶报表和一些文本框,我根据文本框输入的内容能对水晶报表的数据源做变换吗?比如第一次输出大于100的数据,第二次输出小于100的数据,我对报表的数据源做改变,报没有这个报表。不知道什么原因If Not cxset.EOF Then '药品库中有数据
   
   If Text1.Text > 100 Then
         
       Reportrk.Database.SetDataSource cxset
       Screen.MousePointer = vbHourglass
      CRViewer91.ReportSource = Reportrk
      CRViewer91.ViewReport
      Screen.MousePointer = vbDefault
    end if     
 End If
Else
    MsgBox " 数据库中没有数据,不能进行统计!", 0, "提示信息"
End If

解决方案 »

  1.   

    你这个没有变数据源,变的是数据。理论上应该是这一个样子的If Not cxset.EOF Then '药品库中有数据 
      
      If Text1.Text > 100 Then 
          cxset.filter="某字段>100"
      dim rst as new adodb.recordset
    把cxset过滤后的数据给rst
    然后把rst传给报表
          Reportrk.Database.SetDataSource rst
          Screen.MousePointer = vbHourglass 
          CRViewer91.ReportSource = Reportrk 
          CRViewer91.ViewReport 
          Screen.MousePointer = vbDefault 
        end if    
    End If 
    Else 
        MsgBox " 数据库中没有数据,不能进行统计!", 0, "提示信息" 
    End If 
      

  2.   

    劳驾,请问怎样把cxset过滤后的数据给rst ????嘿嘿,不好意思