以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- GetValues出现重复值 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=76124) |
||||
-- 作者:一笑 -- 发布时间:2015/10/22 10:22:00 -- GetValues出现重复值 如附件,统计驻外天数,相同一天有多个事项时,只记一天,通过计算GetValues取“开始日期”的不同值得出不同日期天数,应该是总驻外 = 国内驻外 + 国际驻外,通过代码,“总驻外”天数正确,但“国内驻外”和“国际驻外”却有重复值,比如表中丁勇,2015-08-08同一天中用事务类型1(属于国际)和5(属国内),分开统计会重复统计一天。如何修改代码,在统计时对事务主表进行筛选,同一天有多个类型事务时,只保留(类型1或3)的行,谢谢 dr("国内驻外") = DataTables("事务主表").GetValues("开始日期", temp & " and (事务类型 = 2 or 事务类型 = 4 or 事务类型 = 5) ").count dr("国际驻外") = DataTables("事务主表").GetValues("开始日期", temp & " and (事务类型 = 1 or 事务类型 = 3)").count dr("总驻外") = DataTables("事务主表").GetValues("开始日期", temp).count
注: Case "国际飞行" dr("事务类型") = 1 Case "出差" dr("事务类型") = 2 Case "国际备份" dr("事务类型") = 3 Case "国内飞行" dr("事务类型") = 4 Case "国内备份" dr("事务类型") = 5 |
||||
-- 作者:大红袍 -- 发布时间:2015/10/22 10:55:00 -- 汗,换一种思路,总天数和国际驻外是正确,就两者相减就是国内驻外的值啊。 |
||||
-- 作者:一笑 -- 发布时间:2015/10/22 11:01:00 -- 的确可以,处于学习目的,对事务主表进行筛选的代码或思路该如何?谢谢 |
||||
-- 作者:大红袍 -- 发布时间:2015/10/22 11:15:00 -- 把重复的值搜索后删除
|
||||
-- 作者:一笑 -- 发布时间:2015/10/22 11:56:00 -- dt.DeleteFor("接收者 = \'" & dr("接收者") & "\' and 开始日期 = #" & dr("开始日期") & "# and (事务类型 = 2 or 事务类型 = 4 or 事务类型 = 5)")会不会把服务器中数据表(事务总表)的相应行删除了? |
||||
-- 作者:大红袍 -- 发布时间:2015/10/22 12:02:00 -- 不会,临时表 |