以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=80337) |
-- 作者:huhu -- 发布时间:2016/1/20 22:05:00 -- [求助] 在非插卡收货扫描增加一行,执行for 循环,比较SN是否有重复,且提示为收货完成或者是收货重复扫描,那么 新增行的数量为0,提示为收货重复扫描。 如果没有重复的,就提示收货完成。 现在我想这样的循环,SN必然有重复。请帮忙看看下面的思路是否是有问题,如何改?谢谢。 Dim dr As DataRow = DataTables("U8物料数量汇总表").Find("入库单号 = \'" & Vars("fckrkdh") & "\' And 物料编码 = \'" & e.DataRow("物料编码") & "\'") msgbox(0) If dr IsNot Nothing Then msgbox(1) For Each r As DataRow In DataTables("非插卡收货扫描").DataRows If r("SN") = e.DataRow("SN") And (r(“提示”)= “收货完成” or r("提示") = "收货重复扫描" )Then msgbox(2) e.DataRow("数量") = 0 e.DataRow("提示") = "收货重复扫描" ElseIf r("SN") = e.DataRow("SN") And r("提示") = "" Then msgbox(3) If Forms("非插卡收货扫描").opened =True Dim kwlb As WinForm.ComboBox = e.Form.Controls("ComboBox1") e.DataRow("库位类别") = kwlb.text End If e.DataRow("入库单号") = Vars("fckrkdh") e.DataRow("数量") = 1 e.DataRow("提示") = "收货完成" e.DataRow.locked = True dr("实扫到数量") = dr("实扫到数量") + 1 msgbox(4) End If Next Else e.DataRow("数量") = 0 e.DataRow("提示") = "非本入库单" End If
|
-- 作者:大红袍 -- 发布时间:2016/1/20 22:15:00 -- 为什么要这样循环?直接find不就行了?
Dim fdr As DataRow = DataTables("非插卡收货扫描").Find("SN = \'" & e.DataRow("SN") & "\' And _Identify <> " & e.DataRow("_Identify")) If fdr IsNot Nothing Then
End If
|
-- 作者:huhu -- 发布时间:2016/1/20 22:21:00 -- 对啊。没想起用Identify来区分行。 多谢。
|