以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]这个过程怎么写  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=781)

--  作者:费尔
--  发布时间:2008/10/6 15:19:00
--  [求助]这个过程怎么写
[基本信息]表中的[人员编号]的记录是唯一的,请问:
怎么样把[基本信息]表中的记录全部追加到[数据]表中,并给[数据]表中新增记录的[工资代码]和[状态]列赋值,如[工资代码]=18,[状态]=\'正常\'?
谢谢了!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:财政系统.table


--  作者:贺老六
--  发布时间:2008/10/6 15:53:00
--  

Dim f As New Filler

Dim n As Integer = DataTables("数据").DataRows.Count \'记住原来的总行数

f.SourceTable = DataTables("jbxx") \'指定数据来源

f.SourceCols = "人员编号" \'指定数据来源列

f.DataTable = DataTables("数据") \'指定数据接收表

f.DataCols = "人员编号" \'指定数据接收列

f.ExcludeExistValue = True \'排除已经存在的内容

f.Fill() \'填充数据

for r As Integer = n to DataTables("数据").Datarows.Count - 1

    DataTables("数据").DataRows(r)("状态") = "正常"

    DataTables("数据").DataRows(r)("工资代码") = "18"

Next




 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:财政系统.table

[此贴子已经被作者于2008-10-6 15:55:22编辑过]

--  作者:czy
--  发布时间:2008/10/6 16:03:00
--  
这样似乎也可以:

 

 

 

\'定义一个字符集合ls,然后从jbxx表中找出不重复的人员编号保存到这个集合中

Dim ls As New List(Of String)

Ls = DataTables("jbxx").GetUniqueValues("","人员编号")

With Tables("数据")

    Dim r As Row \'定义一个Row类型变量,用于引用接下来新增加的行

    For Each p As String in ls  \'遍历集合中的每一个人员编号

        r = .Rows.AddNew(1) \'针对每一个人员编号,在数据表中增加一行

        r("人员编号") = p \'设置新增行的编号

        r("工资代码") = 18

        r("状态") = "正常"

    Next

End With

[此贴子已经被作者于2008-10-6 16:15:24编辑过]

--  作者:贺老六
--  发布时间:2008/10/6 16:05:00
--  
呵呵,这样也很好,只是不方便排除重复内容啊。
--  作者:狐狸爸爸
--  发布时间:2008/10/6 16:10:00
--  
如果不考虑重复的问题,C版这段代码得效率,比我的要高很多。
楼主自己选择吧。
--  作者:费尔
--  发布时间:2008/10/6 16:14:00
--  
谢谢两位了!