以文本方式查看主题

-  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
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:事务统计.zip


注:
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
--  

把重复的值搜索后删除

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建文本文档.txt


--  作者:一笑
--  发布时间:2015/10/22 11:56:00
--  
dt.DeleteFor("接收者 = \'" & dr("接收者") & "\' and 开始日期 = #" & dr("开始日期") & "# and (事务类型 = 2 or 事务类型 = 4 or 事务类型 = 5)")会不会把服务器中数据表(事务总表)的相应行删除了?
--  作者:大红袍
--  发布时间:2015/10/22 12:02:00
--  
不会,临时表