sql语句是这样写的sqltxt = "select h_date as 发生时间,sum(l_time) as 持续总时间,sum(area_disa) as 受灾总面积 from datainfo where h_date like '%" & st.Text & "%' group by h_date"
但是下面这段代码
rs.Open sqltxt, conn, adOpenKeyset, adLockReadOnly
MsgBox rs.RecordCount
If rs.RecordCount = 0 Then Exit Function
With MSChart1
'设置图形显示的类型
.RowCount = rs.RecordCount '设置显示的图形数
.ColumnCount = rs.RecordCount '设置标签数
.FootnoteText = "气象查询系统统计图表"
.TitleText = mscinfo & "统计图"
.ShowLegend = True
For K = 1 To .Plot.SeriesCollection.Count
.Plot.SeriesCollection(K).DataPoints(-1).DataPointLabel.LocationType = VtChLabelLocationTypeAbovePoint
Next
For j = 1 To rs.RecordCount
If rs.EOF Then Exit Function
.Row = j
.RowLabel = rs(j - 1).Value
For i = 1 To rs.RecordCount
.Column = i
.ColumnLabel = "党" & i '
.Data = rs(i).Value '填充当前活动列的值
rs.MoveNext
Next
'rs.MoveNext
Next
End With提示.Data = rs(i).Value '填充当前活动列的值这一行错误,原因是 无效使用null 但是调试的时候,data是有值的意思就是调试的时候,data可以看到是有具体的数字的,但是后面的rs这个值就是null 不知道是为什么,请大侠帮帮忙
但是下面这段代码
rs.Open sqltxt, conn, adOpenKeyset, adLockReadOnly
MsgBox rs.RecordCount
If rs.RecordCount = 0 Then Exit Function
With MSChart1
'设置图形显示的类型
.RowCount = rs.RecordCount '设置显示的图形数
.ColumnCount = rs.RecordCount '设置标签数
.FootnoteText = "气象查询系统统计图表"
.TitleText = mscinfo & "统计图"
.ShowLegend = True
For K = 1 To .Plot.SeriesCollection.Count
.Plot.SeriesCollection(K).DataPoints(-1).DataPointLabel.LocationType = VtChLabelLocationTypeAbovePoint
Next
For j = 1 To rs.RecordCount
If rs.EOF Then Exit Function
.Row = j
.RowLabel = rs(j - 1).Value
For i = 1 To rs.RecordCount
.Column = i
.ColumnLabel = "党" & i '
.Data = rs(i).Value '填充当前活动列的值
rs.MoveNext
Next
'rs.MoveNext
Next
End With提示.Data = rs(i).Value '填充当前活动列的值这一行错误,原因是 无效使用null 但是调试的时候,data是有值的意思就是调试的时候,data可以看到是有具体的数字的,但是后面的rs这个值就是null 不知道是为什么,请大侠帮帮忙
給人感覺很別扭
在第二個 FOR中,加入 :If rs.EOF Then Exit Function
就算是Null也可行!试试看
rs(i).Value 的值为NULL就会出现这样的问题.
大概rs(i).value是一个数值型,可以改成这样
.Data=iif(isnull(rs(i).value),0,rs(i).value)
改为
sqltxt = "select h_date as 发生时间,sum(ISNULL(l_time,0)) as 持续总时间,sum(ISNULL(area_disa,0)) as 受灾总面积 from datainfo where h_date like '%" & st.Text & "%' group by h_date"