Foxtable(狐表)用户栏目专家坐堂 → [求助]逻辑列的查询修改


  共有1826人关注过本帖树形打印复制链接

主题:[求助]逻辑列的查询修改

帅哥哟,离线,有人找我吗?
林胤
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:27 积分:226 威望:0 精华:0 注册:2018/8/22 10:27:00
[求助]逻辑列的查询修改  发帖心情 Post By:2018/11/26 20:43:00 [只看该作者]

Dim nms As List(of String) = DataTables("统计").GetValues("批次")

For Each nm As String In nms
    Dim dr As DataRow = DataTables("结算").AddNew()
    dr("批次") = nm
    dr("金额") = DataTables("统计").Compute("Sum(金额)", "批次 = '" & nm & "'")
    dr("份数") = DataTables("统计").Compute("Sum(份数)", "批次 = '" & nm & "'")
    dr("人数") = DataTables("统计").Compute("Count(姓名)", "批次 = '" & nm & "'")
    dr("每份") = (dr("金额")) / (dr("份数"))
    
Next

以上是我根据逻辑列的查询修改代码,我想加上一个判断, 结算 表里面批次列的值跟 统计 表里批次列的值相同,就不会再新增一行统计批次列的数据。

大大帮我看下有必要那么修改么?? 还是我在 结算 表里面 批次 列在保存或者关闭的时候判断 批次列 的值是否重复会比较合理点?

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107462 积分:546589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/26 20:48:00 [只看该作者]

一般事前判断比事后去重更合理。

第一句GetValues的时候就应该排除已经存在的值

 回到顶部
帅哥哟,离线,有人找我吗?
林胤
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:27 积分:226 威望:0 精华:0 注册:2018/8/22 10:27:00
  发帖心情 Post By:2018/11/26 22:09:00 [只看该作者]

第一句是 在 结算 表操作,在 统计 表里面去重复值。

例子是在 统计 表里面取数据,然后重复查找添加 批次 不重复的数据。

我有这个判断的想法是因为 执行 过一次后,可能存在误点,从而增加重复的数据。

假设误点了,就需要在 结算 表里面判断,我试过 表事件加判断代码,但是会出错。

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107462 积分:546589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/26 22:12:00 [只看该作者]

贴出具体代码,或者上传实例说明

 回到顶部
帅哥哟,离线,有人找我吗?
林胤
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:27 积分:226 威望:0 精华:0 注册:2018/8/22 10:27:00
  发帖心情 Post By:2018/11/26 22:36:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:逻辑列查询.rar

按钮 我已经执行过一次了,在 结算 表根据 统计 表生成了数据。

再点击一次就会再次生成一次,数据重复了。。

我现在的要求是避免点击后,生成重复的数据。
[此贴子已经被作者于2018/11/26 22:36:33编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107462 积分:546589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/26 22:44:00 [只看该作者]

Dim nms As List(of String) = DataTables("统计").GetValues("批次","批次 not  in('" & DataTables("结算").GetComboListString("批次").Replace("|","','") & "')")


 回到顶部
帅哥哟,离线,有人找我吗?
林胤
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:27 积分:226 威望:0 精华:0 注册:2018/8/22 10:27:00
  发帖心情 Post By:2018/11/26 23:01:00 [只看该作者]

谢谢大大了,我再研究下原理。。

 回到顶部
帅哥哟,离线,有人找我吗?
林胤
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:27 积分:226 威望:0 精华:0 注册:2018/8/22 10:27:00
  发帖心情 Post By:2018/11/26 23:24:00 [只看该作者]

哎,果然还是基础太弱了。。条件表达式 没有记熟,还要再多看看

 回到顶部