以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]复制多表多行的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=53154)

--  作者:jk362223
--  发布时间:2014/7/1 9:53:00
--  [求助]复制多表多行的问题
项目有三表A 表B 表C,想将表A ,表B的部分列复制到 表C,建了一个窗口1,加一个控件CheckBox1,在 表A 的DataColChanged事件中加
If e.DataCol.Name = "复制AB" AndAlso e.DataRow("复制AB") = True Then
    Dim nma() As String = {"第一列","第二列"} \'A表数据来源列
    Dim nmb() As String = {"第一列","第二列"} \'B表数据接收列
    Dim dr As DataRow = DataTables("表C").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
End If
表 B的DataColChanged事件中加
If e.DataCol.Name = "复制AB" AndAlso e.DataRow("复制AB") = True Then
    Dim nma() As String = {"第三列","第四列"} \'A表数据来源列
    Dim nmb() As String = {"第三列","第四列"} \'B表数据接收列
    Dim dr As DataRow = DataTables("表C").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
End If
现在的问题是不知如何写代码将表B的列复制到表C中,请教下老师
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:1.zip
q
外部数据是sql201407





--  作者:有点甜
--  发布时间:2014/7/1 9:59:00
--  

 是不是这个意思?

 

 

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


--  作者:jk362223
--  发布时间:2014/7/1 10:45:00
--  
就是将表B的某些列如第一列, 第二列 复制到表C的 某些列如第三,四列。因 表A的 某些列 已 复制到 表C的 第一列, 第二列 ,所以 表B的 某些列 不能复制到 表C的 第一列, 第二列 ,不知要如何做?
--  作者:jk362223
--  发布时间:2014/7/1 10:47:00
--  
不知代码如何设置如何写,教我啊
--  作者:有点甜
--  发布时间:2014/7/1 10:47:00
--  
以下是引用jk362223在2014-7-1 10:45:00的发言:
就是将表B的某些列如第一列,第二列 复制到表C的某些列如第三,四列。因表A的 某些列 已复制到 表C的第一列, 第二列 ,所以表B的 某些列 不能复制到 表C的 第一列, 第二列 ,不知要如何做?

 

不是已经给你写代码了么?先勾选表A,再勾选表B,就能达到你的要求了啊。


--  作者:jk362223
--  发布时间:2014/7/1 11:22:00
--  
能否复制表B列,通过按钮完成,而不是通过控件CheckBox。
--  作者:有点甜
--  发布时间:2014/7/1 11:24:00
--  
以下是引用jk362223在2014-7-1 11:22:00的发言:
能否复制表B列,通过按钮完成,而不是通过控件CheckBox。

 

点击按钮,你要赋值表B的哪一行的哪几列?


--  作者:jk362223
--  发布时间:2014/7/1 11:28:00
--  
表B 的最后一行,第三,四列
--  作者:有点甜
--  发布时间:2014/7/1 11:34:00
--  

 代码

 

Dim nma() As String = {"第三列","第四列"} \'A表数据来源列
Dim nmb() As String = {"第三列","第四列"} \'B表数据接收列
Dim drb As Row = Tables("表B").Rows(Tables("表B").count-1)
Dim dr As Row = Tables("表C").Current
For i As Integer = 0 To nma.Length - 1
    dr(nmb(i)) = drb(nma(i))
Next


--  作者:jk362223
--  发布时间:2014/7/1 11:58:00
--  
不知这个按钮代码怎么用?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:复制行.zip