以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]手工编码填充数据  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=42468)

--  作者:xyd
--  发布时间:2013/11/12 18:07:00
--  [求助]手工编码填充数据
有两张表,”股东信息“和”股东明细统计“,想”股东明细统计“直接引用”股东信息“中相同的四列”股东编号“”股东姓名“”联系电话“”身份证号“,将以下代码

Dim Cols1() As String = {"股东编号","股东姓名","联系电话","身份证号"}
Dim Cols2() As String ={"股东编号","股东姓名","联系电话","身份证号"}
For Each dr1 As DataRow In DataTables("股东信息")
    Dim dr2 As DataRow = DataTables("股东明细统计").AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next

放入”股东明细统计“的DataColChanged中
提示编译错误:"表达式的类型为DataTabe!该类型不是集合类型"

帮忙看一下错在哪?谢谢!


--  作者:有点甜
--  发布时间:2013/11/12 19:54:00
--  
Dim Cols1() As String = {"股东编号","股东姓名","联系电话","身份证号"}
Dim Cols2() As String ={"股东编号","股东姓名","联系电话","身份证号"}
For Each dr1 As DataRow In DataTables("股东信息").datarows
    Dim dr2 As DataRow = DataTables("股东明细统计").AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next

--  作者:xyd
--  发布时间:2013/11/12 21:15:00
--  
代码加了,还是没有数据出来,”股东明细统计“表是空的
--  作者:有点甜
--  发布时间:2013/11/12 21:23:00
--  
 你的代码应该做成按钮才对的,因为是添加所用的行进去,而不是单行。

 代码不应该放到datacolchanged里


--  作者:有点甜
--  发布时间:2013/11/12 21:25:00
--  
 如果是想引用当前行的数据的话,代码这样写

Dim Cols1() As String = {"股东编号","股东姓名","联系电话","身份证号"}
Dim Cols2() As String ={"股东编号","股东姓名","联系电话","身份证号"}
Dim dr2 As DataRow = DataTables("股东明细统计").AddNew()
For i As Integer = 0 To Cols1.Length -1
    dr2(Cols2(i)) = e.datarow(Cols1(i))
Next

--  作者:xyd
--  发布时间:2013/11/12 21:45:00
--  
我想将”股东明细统计“做成窗口,打开这个窗口就已经有引用的数据
--  作者:有点甜
--  发布时间:2013/11/12 21:51:00
--  
 不明白,如果你做不好,就做一个例子上传上来。
--  作者:xyd
--  发布时间:2013/11/12 22:13:00
--  
打开"股东明细统计"表时,统计每个股东"投入股金"、”取回股金“”股金余额“,都不用输入任何项目,直接统计
--  作者:xyd
--  发布时间:2013/11/12 22:15:00
--  
打开"股东明细统计"表时,统计每个股东"投入股金"、”取回股金“”股金余额“,都不用输入任何项目,直接统计
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目2.table


--  作者:有点甜
--  发布时间:2013/11/12 22:43:00
--  
 用下面这段代码,写到按钮,或者写到项目事件->maintablechanged事件里

Dim dt_s As DataTable = DataTables("股东明细")
Dim dt_d As DataTable = DataTables("股东明细统计")
Dim drs As List(of DataRow) = DataTables("股东信息").Select("股东编号 is not null")

dt_d.DataRows.Clear
For Each dr As DataRow In drs
    Dim ndr As DataRow = dt_d.AddNew
    ndr("股东编号") = dr("股东编号")
    ndr("股东姓名") = dr("股东姓名")
    ndr("联系电话") = dr("联系电话")
    ndr("身份证号") = dr("身份证号")
    ndr("投入股金") = dt_s.Compute("sum(投入股金)", "股东编号 = \'" & dr("股东编号") & "\'")
    ndr("取回股金") = dt_s.Compute("sum(取回股金)", "股东编号 = \'" & dr("股东编号") & "\'")
    ndr("股金余额") = ndr("投入股金") - ndr("取回股金")
Next