我现在Form4中查询框体设置:
Private Sub Command1_Click()
Call OpenConn
sql = "select * from wxb where wgrq between #" & Text1.Text & "# and #" & Text2.Text & "# "
rs.Open sql, cn, 3, 3
Form5.Show 1
End Sub  
其中Text1.Text, Text2.text为输入的起止日期. 
数据库表wxb的字段设置为:wxid  字符串 长度 15
                         Wxry  字符串 长度 10
                         fwpj  字符串 长度 10
                         whfy 货币
                         Wgrq 日期
其中数据库中wxry 表的字段设置为: id字符串 长度 50
                                 name字符串 长度 50
想做个水晶报表生成以下的表,不知道怎么设置,form4是输入起止日期的窗口.
维修人员那调用wxry表中的name ,如果实在很麻烦的话就算了 不调用了.单位人员少,直接写上去行了.谢谢大家了.我的QQ57495043 方便的话,用远程协助帮我设置下可以吗,谢谢了.
   
  维修人员月统计报表维修人员:调用wxry表中的name
有效维护次数:数据库wxb表中fwpj为满意的记录总数
无效维护次数:数据库wxb表中fwpj为不满意的记录总数  
合计金额:数据库中fwpj为满意的记录中表whfy 金额的总数

解决方案 »

  1.   

    我做过oracle的报表,很简单,vb的没有用过,自己看看帮助应该不难,帮你顶一下
      

  2.   

    '注意报表1.rpt自己设计 是水晶报表文件Private objCRApp As New CRAXDRT.Application    '水晶报表应用程序对象
    Private objCRReport As New CRAXDRT.Report             '报表对象
    Dim rs As ADODB.Recordset
    Dim msgtext As StringPrivate Sub cmdsearch_Click()  '清除报表中保持的数据
      objCRReport.DiscardSavedData
      '形成数据集
      '单个表适合用sql语句
      strsql = "select * from clerk where clerk_bm='" & Combo1.Text & "'"
      '注意:多个表筛取数据 必须要用视图,是数据形成一个表,水晶报表不能用sql语句
      'strsql="select * from a,b where a.a1=b.a1" '水晶报表不支持这样的sql语句
      'strsql = "select * from clerk_organ_view where clerk_bm='" & Combo1.Text & "'"
      Set rs = ExecuteSQL(strsql, msgtext)   'Executesql是执行sql语句,你可以自己写
      '赋给报表数据
      objCRReport.Database.SetDataSource rs
      CRViewer91.ReportSource = objCRReport  '指定报表来源
      CRViewer91.ReportSource = objCRReport
      '显示报表
      CRViewer91.ViewReport
    End SubPrivate Sub Form_Load()
      Dim strsql As String
      strsql = "select distinct clerk_bm from clerk"
      Set rs = ExecuteSQL(strsql, msgtext)
      Do While Not rs.EOF
         Combo1.AddItem rs(0)
         rs.MoveNext
      Loop
      
      '加载报表模板
      '单个数据表形成的报表
      Set objCRReport = objCRApp.OpenReport(App.Path & "\1.rpt", 1)
      '多个数据表形成的报表
      Set objCRReport = objCRApp.OpenReport(App.Path & "\2.rpt", 1)
      
    End SubPrivate Sub Form_Resize()
    '  CRViewer91.Top = 50
    '  CRViewer91.Left = 0
    '  CRViewer91.Height = ScaleHeight - Combo1.Height
    '  CRViewer91.Width = ScaleWidth
    End Sub