以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]跨表验证物品编号  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73125)

--  作者:wangyinming
--  发布时间:2015/8/12 23:02:00
--  [求助]跨表验证物品编号
我想报废表中,生成的产品编号和期初建帐中的产品编号要核对一下,不一致时跳出窗口确认! 目前表已用编号关联
请问老师这个实现。

目前报废表编号生成有2中方法。
1.根据期初建帐中的产品编号加载的。这个不会错。

同时自动输入了信息如下:
If e.DataCol.Name = "编号" Then \'发生变化的是编号吗?
    If e.DataRow.IsNull("编号") Then
        e.DataRow("类别")= Nothing
        e.DataRow("种类")= Nothing
        e.DataRow("型号")= Nothing
        e.DataRow("第几套")= Nothing
        e.DataRow("部件名称") =  Nothing
        
    Else
        Dim dr As DataRow
        dr = DataTables("初期建帐").Find("编号 = \'" & e.DataRow("编号") & "\'" )
        If dr IsNot Nothing \'如果找到, 则设置各列内容
            e.DataRow("类别") = dr("类别")
            e.DataRow("种类") = dr("种类")
            e.DataRow("型号") = dr("型号")
            e.DataRow("第几套") = dr("第几套")
            e.DataRow("部件名称") = dr("部件名称")
        End If
    End If
End If


2.根据物品名称生成的。(代码和期初建帐中生成的代码相同),这个万一生成了期初建帐中没有的编码就不好了。
如下:
Select e.DataCol.Name
    Case "类别","种类","型号","第几套","部件名称"
        If e.DataRow.IsNull("类别") OrElse e.DataRow.IsNull("种类") OrElse e.DataRow.IsNull("型号")  OrElse e.DataRow.IsNull("第几套")  OrElse e.DataRow.IsNull("部件名称")  Then
            e.DataRow("编号") = Nothing
        Else
            Dim lb As String = e.DataRow("类别") & " " &  e.DataRow("种类") & " " &  e.DataRow("型号") & " ×" &  e.DataRow("第几套") & "  " &  e.DataRow("部件名称")
            e.DataRow("编号") = lb
        End  If
End Select
[此贴子已经被作者于2015/8/12 23:03:51编辑过]

--  作者:大红袍
--  发布时间:2015/8/12 23:11:00
--  

写一大堆没看懂你想说什么

 

If e.DataCol.Name = "编号" Then \'发生变化的是编号吗?
    If e.DataRow.IsNull("编号") = False Then
        Dim dr As DataRow
        dr = DataTables("初期建帐").Find("编号 = \'" & e.DataRow("编号") & "\'" )
        If dr Is Nothing
            msgbox("没找到")
        End If
    End If
End If

[此贴子已经被作者于2015/8/12 23:10:49编辑过]