以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 关于条件审核的代码优化 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=139248) |
-- 作者:2900819580 -- 发布时间:2019/8/8 21:47:00 -- [求助] 关于条件审核的代码优化 说明一下:Chk列是用于记录选择需审核的物料,临时增加上去的 dt 表是将生产任务单中的相同子阶ID,车间,组别,任务单号的物料统计在一起的。 我现在的方法是遍历表单的方法去处理的,便数据比较多的时候,就比较慢,各位老师,有没有更好的方法或者思路
Dim drs As List(of DataRow) = dt.Select("chk = \'Y\'") |
-- 作者:有点蓝 -- 发布时间:2019/8/9 9:51:00 -- dim ids as string = dt.GetComboListString("[_Identify]","chk = \'Y\'") cmd.CommandText = "UPD ATE {生产任务单} SET [状态] = 1,[审核] = \'" & _UserName & "\',[审核日期] = \'" & Functions.Execute("返回服务器日期").Date & "\' WHERE [_Identify] in (" & ids.replace("|",",") & ")" cmd.ExecuteNonQuery() dt.replacefor("审核标志","Y","chk = \'Y\'") dt.replacefor("审核",_UserName ,"chk = \'Y\'")
|
-- 作者:2900819580 -- 发布时间:2019/8/9 17:00:00 -- 以下是引用有点蓝在2019/8/9 9:51:00的发言:
dim ids as string = dt.GetComboListString("[_Identify]","chk = \'Y\'") cmd.CommandText = "UPD ATE {生产任务单} SET [状态] = 1,[审核] = \'" & _UserName & "\',[审核日期] = \'" & Functions.Execute("返回服务器日期").Date & "\' WHERE [_Identify] in (" & ids.replace("|",",") & ")"
cmd.ExecuteNonQuery()
dt.replacefor("审核标志","Y","chk = \'Y\'")
dt.replacefor("审核",_UserName ,"chk = \'Y\'")
老师,没办法这样用,因为我Dt的表是根据{生产任务单}中的相同子“阶ID”,“车间”,“组别”,“任务单号”的物料合计在一起的; 也就是说目前的Dt是统计表来的;
|
-- 作者:有点蓝 -- 发布时间:2019/8/9 17:06:00 -- 统计表、临时表GetComboListString和replacefor一样可以使用。具体上传实例说明 |
-- 作者:2900819580 -- 发布时间:2019/8/9 19:25:00 -- 以下是引用有点蓝在2019/8/9 17:06:00的发言:
统计表、临时表GetComboListString和replacefor一样可以使用。具体上传实例说明 不是这个GetComboListString和replacefor这个不能使用,
是统计表出来的 [_Identify] 与没有统计之前的{生产任务单}的 [_Identify] 应该不可能一样的 如A物料 A车间 数量合计100
在生产任务单中就可能 有二条数据 A物料 A车间 数量 50 A物料 A车间 数量 50 |
-- 作者:有点蓝 -- 发布时间:2019/8/9 20:31:00 -- 这样啊,那就没有办法了。上传实例看看能不能换个思路处理 |