以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于Filler的问题(已解决)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=23189)

--  作者:yyzlxc
--  发布时间:2012/9/5 10:26:00
--  [求助]关于Filler的问题(已解决)

一段填充代码,将jjyf表的姓名不重复地填充到奖金预发表的指定列,要求从表的第二行开始填充,能否实现,请各位老师指教,谢谢!!

 

\'清除内容

For Each dr As DataRow In DataTables("奖金预发").DataRows
    dr("合计_姓名") = Nothing
Next

\'填充姓名

Dim f As New Filler
f.SourceTable = DataTables("jjyf") \'指定数据来源
f.SourceCols = "姓名" \'指定数据来源列
f.DataTable = DataTables("奖金预发") \'指定数据接收表
f.DataCols = "合计_姓名" \'指定数据接收列
f.Append = False
f.Fill()

[此贴子已经被作者于2012-9-5 16:02:12编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/9/5 11:06:00
--  
你删除奖金预发表第一行之后的所有行,不就是从第二行开始填充了吗?
--  作者:lin_hailun
--  发布时间:2012/9/5 11:31:00
--  
 应该不太难吧?

http://www.foxtable.com/help/topics/0680.htm

--  作者:yyzlxc
--  发布时间:2012/9/5 12:07:00
--  
谢谢狐爸老师的回复,奖金预发表有每季度预发金额的数据,在合计_姓名列是填充从每季度预发名单中读取不重复姓名(因为每个季度的人员有变动),然后再对每个人进行汇总;因为此表的第一行是汇总行,所以姓名填充要从第二行开始。
--  作者:狐狸爸爸
--  发布时间:2012/9/5 12:27:00
--  

如果这样,第一行也应该删除,填充完毕后,用汇总模式生成一个汇总行就行。


--  作者:yyzlxc
--  发布时间:2012/9/5 12:57:00
--  
谢谢狐爸老师的指教!
--  作者:yyzlxc
--  发布时间:2012/9/5 16:07:00
--  

用一段代码,直接填充到个人奖金表,不用在奖金预发表进行汇总,达到同样的目的。

 

\'计算已兑金额
For Each ds As DataRow In DataTables("个人奖金").DataRows
    Dim dt As DataTable = DataTables("jjyf")
    If ds.IsNull("姓名") Then
        ds("已兑金额") = Nothing
    Else
        ds("已兑金额") = dt.Compute("Sum(预发金额)","[姓名] = \'" & ds("姓名") & "\'")
    End If
Next


--  作者:lishixiong
--  发布时间:2012/12/30 23:50:00
--  

来学习下