Foxtable(狐表)用户栏目专家坐堂 → 代码求教


  共有1407人关注过本帖平板打印复制链接

主题:代码求教

帅哥哟,离线,有人找我吗?
dm0630
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:38 积分:368 威望:0 精华:0 注册:2017/2/8 19:27:00
代码求教  发帖心情 Post By:2017/2/22 20:41:00 [只看该作者]

您好,我想咨询一下,通过以下代码,先取出表“原职工购股标准表”及“统计”两个表的字段,然后将这两个表的数据最中在“职工购股情况差异对比表”中显示。但是报错,无法执行,请专家指教,非常感谢。

Dim dtb1 As New DataTableBuilder("原职工购股标准表")
dtb1.AddDef("工资编号1", Gettype(String), 16)
dtb1.AddDef("姓名1", Gettype(String), 16)
dtb1.AddDef("原职位1", Gettype(String), 16)
dtb1.AddDef("原技术职务等级1", Gettype(String), 16)
dtb1.AddDef("购股11", Gettype(Double))
dtb1.AddDef("购股21", Gettype(Double))
dtb1.AddDef("购股标准1", Gettype(Double))
dtb1.AddDef("现持股金1", Gettype(String), 16)
dtb1.AddDef("其中资本股1", Gettype(String), 16)
dtb1.AddDef("其中岗位股份1", Gettype(String), 16)
dtb1.Build()
Dim dt1 As DataTable = DataTables("原职工购股标准表")
Dim dt2 As DataTable = DataTables("原人员信息岗位股明细表")
For Each nm As String In dt2.GetValues("工资编号")
    Dim dr As DataRow = dt1.AddNew()
    dr("工资编号1") = nm
    Dim num1 As Double = dt2.Compute("max(购股标准)", "工资编号 = '" & nm & "'")
    Dim num2 As Double = dt2.Compute("max(对应购股标准)", "工资编号 = '" & nm & "'")
    dr("购股11") = num1
    dr("购股21") = num2
    Dim fdr As DataRow
    If num1 > num2 Then
        dr("购股标准1") = num1
        fdr = dt2.find("工资编号 = '" & nm & "' and 购股标准 = '" & num1 & "'")
    Else
        dr("购股标准1") = num2
        fdr = dt2.find("工资编号 = '" & nm & "' and 对应购股标准 = '" & num2 & "'")
    End If
    dr("姓名1") = fdr("姓名")
    dr("原技术职务等级1") = fdr("原技术职务等级")
    dr("原职位1") = fdr("原职位")
    dr("现持股金1") = fdr("现持股金")
    dr("其中资本股1") = fdr("其中资本股")
    dr("其中岗位股份1") = fdr("其中岗位股份")
Next
Dim dtb2 As New DataTableBuilder("统计")
dtb2.AddDef("工资编号2", Gettype(String), 16)
dtb2.AddDef("姓名2", Gettype(String), 16)
dtb2.AddDef("行政职务2", Gettype(String), 16)
dtb2.AddDef("技术职务等级2", Gettype(String), 16)
dtb2.AddDef("购股12", Gettype(Double))
dtb2.AddDef("购股22", Gettype(Double))
dtb2.AddDef("购股标准2", Gettype(Double))
dtb2.AddDef("现持股金2", Gettype(String), 16)
dtb2.AddDef("其中资本股2", Gettype(String), 16)
dtb2.AddDef("其中岗位股份2", Gettype(String), 16)
dtb2.Build()
Dim dt3 As DataTable = DataTables("统计")
Dim dt4 As DataTable = DataTables("人员信息岗位股明细表")
For Each nm As String In dt4.GetValues("工资编号")
    Dim dr As DataRow = dt3.AddNew()
    dr("工资编号2") = nm
    Dim num1 As Double = dt4.Compute("max(购股标准)", "工资编号 = '" & nm & "'")
    Dim num2 As Double = dt4.Compute("max(对应购股标准)", "工资编号 = '" & nm & "'")
    dr("购股12") = num1
    dr("购股22") = num2
    Dim fdr As DataRow
    If num1 > num2 Then
        dr("购股标准2") = num1
        fdr = dt4.find("工资编号 = '" & nm & "' and 购股标准 = '" & num1 & "'")
    Else
        dr("购股标准2") = num2
        fdr = dt4.find("工资编号 = '" & nm & "' and 对应购股标准 = '" & num2 & "'")
    End If
    dr("姓名2") = fdr("姓名")
    dr("技术职务等级2") = fdr("技术职务等级")
    dr("行政职务2") = fdr("行政职务")
    dr("现持股金2") = fdr("现持股金")
    dr("其中资本股2") = fdr("其中资本股")
    dr("其中岗位股份2") = fdr("其中岗位股份")
Next
Dim dtb As New DataTableBuilder("职工购股情况差异对比表")
dtb.AddDef("工资编号", Gettype(String), 16)
dtb.AddDef("姓名", Gettype(String), 16)
dtb.AddDef("原职位", Gettype(String), 16)
dtb.AddDef("原技术职务等级", Gettype(String), 16)
dtb.AddDef("职位", Gettype(String), 16)
dtb.AddDef("技术职务", Gettype(String), 16)
dtb.AddDef("原购股标准", Gettype(Double))
dtb.AddDef("购股标准", Gettype(Double))
dtb.AddDef("现持股金", Gettype(String), 16)
dtb.AddDef("其中资本股", Gettype(String), 16)
dtb.AddDef("其中岗位股份", Gettype(String), 16)
dtb.Build()
Dim dt5 As DataTable = DataTables("统计")
Dim dr As DataRow = dt5.AddNew()
dr("工资编号") = fdr("工资编号1")
dr("姓名") = fdr("姓名1")
dr("原职位") = fdr("原职位1")
dr("原技术职务等级") = fdr("技术职务等级1")
dr("职位") = fdr("行政职务2")
dr("技术职务") = fdr("技术职务等级2")
dr("原购股标准") = fdr("购股标准1")
dr("购股标准") = fdr("购股标准2")
dr("现持股金") = fdr("现持股金2")
dr("其中资本股") = fdr("其中资本股2")
dr("其中岗位股份") = fdr("其中岗位股份2")
Next
MainTable= Tables("职工购股情况差异对比表")


 回到顶部