以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关联内容复制  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=21817)

--  作者:wilson
--  发布时间:2012/7/25 12:48:00
--  关联内容复制

我想通过按钮实现关联表复制行,点击按钮实现以下要求

表A为父表,表B为子表

1. 将表A选定的行复制到表A的最末行,表B的关联行同时复制到表B的最末行

2. 将表A与表B的关联列 里的数据改为 "AAAAA"

求助,

谢谢!


--  作者:狐狸爸爸
--  发布时间:2012/7/25 14:58:00
--  

写代码从来就不是一个技术活,所以有“代码蓝领”之说。

你看看下面的代码,没有一点点技巧可言,全是最基础的:

 

Dim dr1 As datarow =Tables("表A") .Current.DataRow

Dim dr2 As Datarow = DataTables("表A").AddNew()

for each dc As DataRow in DataTables("表A").DataRows

    dr2(dc.name)  = dr1(dc.name)

Next

dr2("关联列") = “xxx”

For each dr3 s DataRow = dr1.GetChildRows()

    Dim dr4 As DataRow = DataTables("表B").AddNew()

    for each dc As DataRow in DataTables("表B").DataRows

        dr4(dc.name) = dr4(dc.name)

    Next

     dr4("关联列") = “xxx”

Next

 

 


--  作者:wilson
--  发布时间:2012/7/26 12:50:00
--  

狐爸您好!

非常感谢您为我编写代码。

我用您给的代码调试兰色与红色的代码提示错误。我改用以下代码红色的代码提示错误。

不知道如何解决。
Dim dr1 As DataRow =Tables("表A") .Current.DataRow
Dim dr2 As DataRow = DataTables("表A").AddNew()
\'For Each dc As DataRow In DataTables("表A").DataRows
\' dr2(dc.name) = dr1(dc.name)
\'Next
dr2("日期") = dr1("日期")
dr2("编号") = "xxx"
dr2("名称") = dr1("名称")
dr2("规格") = dr1("规格")


 

For each dr3 As DataRow = dr1.GetChildRows()

Dim dr4 As DataRow = DataTables("表B").AddNew()

\'for each dc As DataRow in DataTables("表B").DataRows

\'dr4(dc.name) = dr4(dc.name)

\'Next
dr4.AddNew()
dr4("日期") = dr3("日期")
dr4("编号") = "xxx"
dr4("品类") = dr3("品类")
dr4("名称") = dr3("名称")
dr4("颜色") = dr3("颜色")
Next


--  作者:wilson
--  发布时间:2012/7/27 11:44:00
--  

For each dr3 s DataRow = dr1.GetChildRows()

把上述代码改为以下代码,提示错误

Dim ml As DataRow =Tables("产品信息表").Current.DataRow
Dim dr3 As List(Of DataRow)
dr3 = DataTables("产品信息表").DataRows(ml).GetChildRows("产品配件用量表")


--  作者:狐狸爸爸
--  发布时间:2012/7/27 11:52:00
--  
这得看什么错误提示!
--  作者:wilson
--  发布时间:2012/7/27 12:28:00
--  

错误提示:

 


图片点击可在新窗口打开查看此主题相关图片如下:捕获b.png
图片点击可在新窗口打开查看

--  作者:wilson
--  发布时间:2012/7/27 13:14:00
--  

 

For Each dr3 As DataRow = dr1.GetChildRows()

 

上述代码提示

 


图片点击可在新窗口打开查看此主题相关图片如下:捕获c.png
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2012/7/27 14:44:00
--  

For Each dr3 As DataRow = dr1.GetChildRows()

 

改为:

 

For Each dr3 As DataRow In dr1.GetChildRows()


--  作者:wilson
--  发布时间:2012/7/27 14:54:00
--  

狐爸您好!

用  For Each dr3 As DataRow In dr1.GetChildRows()

提示:


图片点击可在新窗口打开查看此主题相关图片如下:捕获d.png
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2012/7/27 15:13:00
--  

你没有具体的例子,我们就只能告诉你你一个大概的方法,细节你要自行调整。

 

学会自己分析,这些错误都是手误,其实很简单:

 

For Each dr3 As DataRow In dr1.GetChildRows(“子表名称”)