以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]表A自动复制到表B问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=76664)

--  作者:ZHX241806
--  发布时间:2015/11/3 10:17:00
--  [求助]表A自动复制到表B问题

前辈们:下面这段代码是表A的部分列,自动复制到表B,(表A中的A列不允许重复),但是,有个问题,如果表A的某个列的值班修改的话,则表B就会自动增加行,我希望表A任意列修改,则之前复制到表B中的列的值也随之修改,而不是另外再增加行,(最好表B中的A列也不允许重复),请前辈们帮忙修改一下代码,谢谢!If e.DataCol.Name = "A" OrElse e.DataCol.Name = "B" OrElse e.DataCol.Name = "C" OrElse e.DataCol.Name = "D"  Then
    If e.DataRow.IsNull("A") = False AndAlso e.DataRow.IsNull("B") = False  AndAlso e.DataRow.IsNull("C") = False  AndAlso e.DataRow.IsNull("D") = False Then
        Dim dr As DataRow = DataTables("表B").AddNew()
        dr("A") = e.DataRow("A")
        dr("B") = e.DataRow("B")
        dr("C") = e.DataRow("C")
        dr("D") = e.DataRow("D")
    End If
End If

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:大红袍
--  发布时间:2015/11/3 10:30:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table

http://www.foxtable.com/help/topics/2490.htm

 


--  作者:ZHX241806
--  发布时间:2015/11/3 11:24:00
--  

谢谢!


--  作者:ZHX241806
--  发布时间:2015/11/4 12:13:00
--  

袍哥:

If e.DataCol.Name = "A" Then
    Dim dr As DataRow = DataTables("表B").Find("A = \'" & e.OldValue & "\'")
    If dr Is Nothing Then
        dr = DataTables("表B").AddNew()
        dr("A") = e.DataRow("A")
        dr("B") = e.DataRow("B")
        dr("C") = e.DataRow("C")
        dr("D") = e.DataRow("D")
    Else
        dr("A") = e.DataRow("A")
    End If
ElseIf e.DataCol.Name = "B" OrElse e.DataCol.Name = "C" OrElse e.DataCol.Name = "D"  Then
    Dim dr As DataRow = DataTables("表B").Find("A = \'" & e.DataRow("A") & "\'")
    If dr IsNot Nothing Then
        dr("B") = e.DataRow("B")
        dr("C") = e.DataRow("C")
        dr("D") = e.DataRow("D")
    End If
End If

这段代码我今天发现他的运用范围小了一点,我想把运用范围放大一点,比如以A列和B列为不重复列(就好像一个客户分多次购买很多种商品),所以,还放望袍哥帮忙修改一下,谢谢!


--  作者:大红袍
--  发布时间:2015/11/4 12:17:00
--  
A列,是唯一标识,比如是编号之类的,其余列你怎么重复都可以。
--  作者:大红袍
--  发布时间:2015/11/4 12:18:00
--  

类似

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=76705&skin=0

 


--  作者:ZHX241806
--  发布时间:2015/11/4 12:51:00
--  

就是因为A列是唯一标识,所以运用范围小,所以我想以A列和B列为一个标识,因水平有限,试过几次未成功,现在我把项目上传,(按项目上表A自动复制到表B,以客户列和商品列为标识),麻烦袍哥重写一个代码,先谢了!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:自动复制.table


--  作者:ZHX241806
--  发布时间:2015/11/4 13:49:00
--  

袍哥,烦你了,抽点空,谢谢!

 


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

汗,就是6楼的例子啊

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:自动复制.table


--  作者:ZHX241806
--  发布时间:2015/11/4 14:35:00
--  

袍哥,可能是我刚才没表达清楚,实际目的是我用表B汇总表A,现在我在项目中增加了一些内容,请重新帮我看一下,谢谢!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:自动复制aa.table