以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]逻辑列的查询修改 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=127997) |
||||
-- 作者:林胤 -- 发布时间: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 以上是我根据逻辑列的查询修改代码,我想加上一个判断, 结算 表里面批次列的值跟 统计 表里批次列的值相同,就不会再新增一行统计批次列的数据。 大大帮我看下有必要那么修改么?? 还是我在 结算 表里面 批次 列在保存或者关闭的时候判断 批次列 的值是否重复会比较合理点?
|
||||
-- 作者:有点蓝 -- 发布时间:2018/11/26 20:48:00 -- 一般事前判断比事后去重更合理。 第一句GetValues的时候就应该排除已经存在的值
|
||||
-- 作者:林胤 -- 发布时间:2018/11/26 22:09:00 -- 第一句是 在 结算 表操作,在 统计 表里面去重复值。 例子是在 统计 表里面取数据,然后重复查找添加 批次 不重复的数据。 我有这个判断的想法是因为 执行 过一次后,可能存在误点,从而增加重复的数据。 假设误点了,就需要在 结算 表里面判断,我试过 表事件加判断代码,但是会出错。
|
||||
-- 作者:有点蓝 -- 发布时间:2018/11/26 22:12:00 -- 贴出具体代码,或者上传实例说明 |
||||
-- 作者:林胤 -- 发布时间:2018/11/26 22:36:00 --
按钮 我已经执行过一次了,在 结算 表根据 统计 表生成了数据。 再点击一次就会再次生成一次,数据重复了。。 我现在的要求是避免点击后,生成重复的数据。
[此贴子已经被作者于2018/11/26 22:36:33编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2018/11/26 22:44:00 -- Dim nms As List(of String) = DataTables("统计").GetValues("批次","批次 not in(\'" & DataTables("结算").GetComboListString("批次").Replace("|","\',\'") & "\')") |
||||
-- 作者:林胤 -- 发布时间:2018/11/26 23:01:00 -- 谢谢大大了,我再研究下原理。。 |
||||
-- 作者:林胤 -- 发布时间:2018/11/26 23:24:00 -- 哎,果然还是基础太弱了。。条件表达式 没有记熟,还要再多看看 |