以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何数据标记  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=88401)

--  作者:jason_pitt
--  发布时间:2016/8/2 10:32:00
--  如何数据标记

您好,我再使用过程中遇到了一点难题,就是在上传的表格中,我想达到以下目的。

1、这是地表水的监测数据,然后要根据地表水的标准值判断出某一个断面达到几类水体,哪些指标超标,然后自动计算出超标倍数

2、这里面的监测项目中如果监测值为未检出,一般未检出用ND表示,但是显示在表格中的是检出限+L, 但是在计算季度均值或者年均值统计的话,是按检出限的一般来参与统计,比如化学需氧量检出限为2, 如果这个项目未检出,就显示2L, 然后在参与统计计算(就是季度均值和年均值)的时候,是按1来进行统计参与计算。如何在foxtable中实现这个功能。

 

断面名称 监测月份 水温 流量 pH值 电导率 溶解氧 高锰酸盐指数 五日生化需氧量 氨氮
南津关 2016-07-06 21 -1 7.4 31.23 6.4 2.3 1 0.235
云池(白洋) 2016-07-07 22 -1 7.7 32.2 7.8 2.2 0.9 0.107
马渡河 2016-07-01 26.8 -1 7.1 40.4 9.9 3.6 1.1 0.262
铁路大桥(小桂林) 2016-07-06 23.2 83.3 8.4 48.5 6.1 2.8 1.1 0.101
两河口(草埠湖水厂) 2016-07-05 26.4 346.9 8.2 61.3 6.1 5.2 2 0.38
桅杆坪 2016-07-05 21.2 380 7.4 30.7 8.3 2 0.8 0.11
清江大桥 2016-07-05 16 500 7.9 29.2 7.7 1.7 1.4 0.059
长沙坝 2016-07-04 25.9 0.25 8.2 35.19 9.1 3.6 2 0.318
白石港 2016-07-05 15.6 208.1 8.3 41.2 9.3 2.6 0.7 0.137
银杏沱 2016-07-06 23.4 21100 8.2 28.5 7.2 1.2 0.7 0.322
坝前木鱼岛 2016-07-07 24 -1 7.6 36.3 6.5 4 3.5 0.03
野桑坪 2016-07-07 22.5 -1 7.6 35.7 6.6 3.2 3 0.12
宜昌市大桥 2016-07-06 21 -1 7.2 42.2 6.5 2.6 1.8 0.147
槐树坪电站 2016-07-07 15 -1 7.7 25.9 7.1 3.2 2.6 0.03
牌楼 2016-07-07 22 -1 7.6 36.3 6.9 3.5 3.3 0.109
蝉潭水电站 2016-07-11 22.4 2.5 7.4 33.3 7.5 3 3 0.079
文化 2016-07-07 17 -1 7.8 34.7 7 3.6 3 0.035
泗湘溪 2016-07-04 25.2 0.25 8.4 34.67 10.5 3.3 2 0.305
万家坝 2016-07-06 19.8 3.4 8.3 30.5 7.9 1.1 0.9 0.364
石碑滩 2016-07-11 20.9 2.5 7.7 33.4 7.1 2.7 2.6 0.173
育溪大桥 2016-07-05 25.5 208.1 8 49.6 5.2 6 2.4 0.19
阳日湾 2016-07-06 19.2 -1 8.4 30.76 10.4 1.3 1.6 0.062


此主题相关图片如下:数据表格.png
按此在新窗口浏览图片

--  作者:狐狸爸爸
--  发布时间:2016/8/2 11:42:00
--  

你可以单独增加一列,用于输入实际用于统计的数据,以后根据这一列进行统计即可。

如果规则已经确定,这一列的值可以自动计算得出,不一定要手工输入。


--  作者:jason_pitt
--  发布时间:2016/8/2 14:22:00
--  
谢谢,还有根据地表水的标准值判断出某一个断面达到几类水体,哪些指标超标,然后自动计算出超标倍数
--  作者:Hyphen
--  发布时间:2016/8/2 14:27:00
--  
标准值是哪个?怎样才算是标准,多少才算超标?具体逻辑是怎样的?
--  作者:jason_pitt
--  发布时间:2016/8/2 16:22:00
--  
比如拿高锰酸盐指数、五日生化需氧量和氨氮来说,当高锰酸盐指数的值小于4,五日生化需氧量的值小于3,氨氮的值小于0.5的时候,这个监测断面就为2类,当高锰酸盐指数的值小于6大于4,五日生化需氧量的值小于4大于3,氨氮的值小于1大于0.5的时候,这个断面就是3类,大概就是这个个意思
--  作者:Hyphen
--  发布时间:2016/8/2 16:42:00
--  
比如增加一列,名称为“断面类别”

在表DataColChanged事件写代码

Select Case e.DataCol.Name
    Case "高锰酸盐指数","五日生化需氧量","氨氮"
        If e.DataRow.IsNull("高锰酸盐指数") = False AndAlso e.DataRow.IsNull("五日生化需氧量") = False AndAlso e.DataRow.IsNull("氨氮") = False Then
            If e.DataRow("高锰酸盐指数") < 4 AndAlso e.DataRow("五日生化需氧量") < 3 AndAlso e.DataRow("氨氮") < 0.5 Then
                e.DataRow("断面类别") = 2
            Else
                \'其它标准的判断
                \'e.DataRow("断面类别") = 3
            End If
        End If
        
End Select


--  作者:jason_pitt
--  发布时间:2016/8/2 16:54:00
--  
谢谢,我试试


--  作者:jason_pitt
--  发布时间:2016/8/2 16:59:00
--  
DataColChanged事件在哪里可以找到啊?


--  作者:jason_pitt
--  发布时间:2016/8/2 17:28:00
--  
图片点击可在新窗口打开查看提示有错误,不知道是什么问题

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


--  作者:jason_pitt
--  发布时间:2016/8/2 17:28:00
--  
请高手指正,谢谢