有数据库datainfo 里面有表datainfo 字段分别为 h_date(发生日期),l_time(持续时间),area_disa(受灾面积)
括号里面是字段的意思
数据库中h_date字段类型是文本类型,格式是2009/07/05
现在我想模糊查询日期,比如说查询2005 得出的结果可能有2005的各个月的数据。现在我想求每个月的总的持续时间和总的受灾面积,并在mschart控件上显示出来。 

解决方案 »

  1.   

    建议楼主用Excel做一次,录制一下宏来看看
      

  2.   

    分2步:
    1、写sql语句,完成统计
    2、在mschart控件上显示出来
    下面是我写的例子,sql语句自己拼写一下,替换了即可    s = "Select Sex,count(*) From Persons " _ 
            & "Where OP='" & sUserID & "' or sGroup='共享' group by Sex order by Sex desc" 
        Set rs = GetRs(s) 
        If rs.RecordCount = 0 Then Exit Sub 
        ReDim ss(rs.RecordCount) 
        With MSChart(0) 
          '设置图形显示的类型 
          .Row = 1        '设置当前活动的图形 
          .RowCount = 1  '设置显示的图形数 
          .ColumnCount = rs.RecordCount '设置标签数 
          .FootnoteText = "" 
          .chartType = VtChChartType2dLine  ' 
          .TitleText = "" 
          .RowLabel = "比例分布" 
        End With 
        
        For i = 1 To MSChart(0).ColumnCount 
            ss(0) = "无" 
            If IsNull(rs.Fields.Item(0).Value) = False Then _ 
            ss(0) = CStr(rs(0).Value) 
            '设置图形显示的数据 
            With MSChart(0) 
            .Column = i              
              .ColumnLabel = ss(0)      ' 
              .Data = Val(rs(1).Value)  '填充当前活动列的值 
            End With 
            iSum = iSum + Val(rs(1).Value) 
            rs.MoveNext 
        Next 
      

  3.   

    图表还是用excel来现实好一些。mschart不够好用。
      

  4.   

    二楼的大侠,只是不知道,如我题目所说的,要怎么写sql才可以呢?
      

  5.   

    s= "SELECT left(h_date,4) syear,sum(l_time) l_time,sum(area_disa) area_disa FROM datainfo where left(h_date,4)= '2005' group by left(h_date,4)"