以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 又不会了-从表B往表A添加内容 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=1805) |
||||
-- 作者:mr725 -- 发布时间:2009/2/13 20:13:00 -- 又不会了-从表B往表A添加内容 表B有窗口按钮,老师们请帮修正按钮代码:
表B中有详细说明! 表B的内容(包括)空行都不能删除的情况下。 按钮中的代码: Dim km As string = Tables("表B").Current("第一列") Dim ykm As DataRow = DataTables("表A").Find("[第一列] = \'" & km & "\'") if ykm Is Nothing Then If MainTable.Name = "表B" Dim f As New Filler f.SourceTable = DataTables("表B") f.SourceCols = "第一列,第二列,第三列,第四列,第五列,第六列,第七列" f.DataTable = DataTables("表A") f.DataCols = "第一列,第二列,第三列,第四列,第五列,第六列,第七列" f.Fill() \'填充数据 End If End If 说明:有时代码不执行,有时又执行? 执行起来会把所有行都添加的表A。 |
||||
-- 作者:czy -- 发布时间:2009/2/13 20:56:00 -- 是不是想这样? Dim km As string = Tables("表B").Current("第一列") Dim ykm As DataRow = DataTables("表A").Find("[第一列] = \'" & km & " \'") if ykm Is Nothing Then If MainTable.Name = "表B" And Tables("表B").Current("第一列") IsNot Nothing Then Dim f As New Filler f.SourceTable = DataTables("表B") f.DataTable = DataTables("表A") f.Filter = "[第一列] = \'" & km & "\'" f.Fill() \'填充数据 End If End If |
||||
-- 作者:czy -- 发布时间:2009/2/13 20:59:00 -- 第二句代码感觉是多余的,因为只需在filler中加上ExcludeExistValue就可以了。 [此贴子已经被作者于2009-2-13 20:58:57编辑过]
|
||||
-- 作者:mr725 -- 发布时间:2009/2/13 21:03:00 -- czy版主: 你的代码没反应啊???请打开1楼文件试一试好吗~ 要把指定列的内容添加到表A啊。 [此贴子已经被作者于2009-2-13 21:06:00编辑过]
|
||||
-- 作者:czy -- 发布时间:2009/2/13 21:11:00 -- 我可以呀。
|
||||
-- 作者:mr725 -- 发布时间:2009/2/13 21:25:00 -- 哦~ 是我漏掉来源列和目标列了,完全照搬你2漏的代码了,不好意思。 |
||||
-- 作者:czy -- 发布时间:2009/2/13 22:06:00 -- 以下是引用mr725在2009-2-13 21:25:00的发言:
哦~ 是我漏掉来源列和目标列了,完全照搬你2漏的代码了,不好意思。
|
||||
-- 作者:mr725 -- 发布时间:2009/2/13 22:45:00 -- 好强啊!~ 谢谢! |
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/2/13 22:45:00 -- 呵呵,下面的代码,效率会高一些: For Each dr1 As DataRow In DataTables("表B") Dim Dr2 As DataRow = DataTables("表A") .AddNew() For Each dc As DataCol In DataTables("表B").DataCols dr2(dc.name) = dr1(dc.name) Next Next |