Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共9 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:又不会了-从表B往表A添加内容

1楼
mr725 发表于:2009/2/13 20:13:00
表B有窗口按钮,老师们请帮修正按钮代码:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:从表b往表a添加内容.table


表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。
2楼
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
3楼
czy 发表于:2009/2/13 20:59:00
第二句代码感觉是多余的,因为只需在filler中加上ExcludeExistValue就可以了。
[此贴子已经被作者于2009-2-13 20:58:57编辑过]
4楼
mr725 发表于:2009/2/13 21:03:00
czy版主: 你的代码没反应啊???请打开1楼文件试一试好吗~

要把指定列的内容添加到表A啊。
[此贴子已经被作者于2009-2-13 21:06:00编辑过]
5楼
czy 发表于:2009/2/13 21:11:00
我可以呀。

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

6楼
mr725 发表于:2009/2/13 21:25:00

哦~ 是我漏掉来源列和目标列了,完全照搬你2漏的代码了,不好意思。
不过,你的代码是把当前行的内容添加到表A,如果有n行(不一定连续)表A没有的内容,如何一次全部都添加过去?

7楼
czy 发表于:2009/2/13 22:06:00
以下是引用mr725在2009-2-13 21:25:00的发言:

哦~ 是我漏掉来源列和目标列了,完全照搬你2漏的代码了,不好意思。
不过,你的代码是把当前行的内容添加到表A,如果有n行(不一定连续)表A没有的内容,如何一次全部都添加过去?


Dim f As New Filler
f.SourceTable = DataTables("表B")
f.SourceCols = "第一列,第二列,第三列,第四列,第五列,第六列,第七列"
f.DataTable = DataTables("表A")
f.DataCols = "第一列,第二列,第三列,第四列,第五列,第六列,第七列"
f.ExcludeExistValue = true
f.ExcludeNullValue =true
f.Fill() '填充数据

8楼
mr725 发表于:2009/2/13 22:45:00

好强啊!~ 谢谢!
慢慢学习了。

9楼
狐狸爸爸 发表于: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


共9 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .05469 s, 4 queries.