以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何判断自动复制行内容  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=44330)

--  作者:ybc76
--  发布时间:2013/12/28 11:27:00
--  如何判断自动复制行内容
问题:如何先判断A表是否有重复相同编号的产品名称,如果有重复相同的名称,双击B表当前行则不自动添加行并复制当前行的内容,如果不是重复名称,则双击B表的行后就会自动添加一行空行并复制B表中的当前行内容,我下面的代码只是做到了双击B表当前行,A表自动增加复制B表当前行的内容。在B表属性双击事件中设置:
Dim r As Row = Tables("cpyb").Current
Dim dr As DataRow = DataTables("xsdd").Addnew()
     dr("产品编号") = r("产品编号")
     dr("产品名称") = r("产品名称")
     dr("产品规格") = r("产品规格")
     dr("产品型号") = r("产品型号")
而A表的Datacolchanged事件中:
Select Case e.DataCol.name
    Case "产品编号"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("产品编号") = False Then
            If e.DataTable.Compute("Count([_Identify])","产品编号 = \'" & dr("产品编号") & "\'") > 1 Then
                MessageBox.Show("已经存在相同产品名称!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
                e.DataRow(e.DataCol.Name) = e.OldValue \'取消输入
              
            End If
        End If
End Select   ‘但这句虽然产品编号自动消除了,可产品名称还会复制上去,如何不让复制过来的几列的内容也不复制进去并也不增加行呢?

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2013-12-28 11:28:02编辑过]

--  作者:Bin
--  发布时间:2013/12/28 11:38:00
--  
Dim r As Row = Tables("cpyb").Current
Dim dr As DataRow = datatables("xsdd").Find("产品编号 = \'" & r("产品编号") & "\'  and 产品名称=\'" &  r("产品名称") & "\'")
 if dr is nothing then
 DataTables("xsdd").Addnew()
     dr("产品编号") = r("产品编号")
     dr("产品名称") = r("产品名称")
     dr("产品规格") = r("产品规格")
     dr("产品型号") = r("产品型号")
end if


--  作者:ybc76
--  发布时间:2013/12/28 12:24:00
--  
出错,应该写在哪个事件里
--  作者:Bin
--  发布时间:2013/12/28 12:29:00
--  
参考帮助,就在你原本的代码中做.

实在 不会就把文件例子发上来.

--  作者:ybc76
--  发布时间:2013/12/28 12:38:00
--  
我写成这样就行了。
Dim r As Row = Tables("cpyb").Current
Dim m As DataRow = DataTables("xsdd").Find("产品编号 = \'" & r("产品编号") & "\'  and 产品名称=\'" &  r("产品名称") & "\'")
If m Is Nothing Then
Dim dr As DataRow = DataTables("xsdd").Addnew()
     dr("产品编号") = r("产品编号")
     dr("产品名称") = r("产品名称")
     dr("产品规格") = r("产品规格")
     dr("产品型号") = r("产品型号")
End If