以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  求级别工资计算代码  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=9381)

--  作者:老有所乐
--  发布时间:2011/4/3 23:19:00
--  求级别工资计算代码

求“对应工资”表中【级别工资】列的计算代码,对应工资表中【职务】等于“级别工资”表中的【职务】,对应工资表中【任职年限1】等于“级别工资”表中的【任职年限】,然后根据工作年限1在级别工资表中查找对应的工资级别,查到了就填入到对应工资表中【级别工资】列中。如文件中对应工资表中的“级别工资” 。请老师指教,谢谢!!

 

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


--  作者:mr725
--  发布时间:2011/4/4 8:28:00
--  

关键事找到『级别工资』表里的对应于『对应工资』表中的【工作年限1】列名,如“工作年限_38-39年”列:

 

Dim gz As String
Dim r As Row = Tables("对应工资").current
For i As Integer = 2 To Tables("级别工资").cols.count -1

    If Tables("级别工资").cols(i).name.replace("工作年限_","") = r("工作年限1")
        gz = Tables("级别工资").cols(i).name
        Exit For
    End If
Next

 

其他的就简单了 。


--  作者:老有所乐
--  发布时间:2011/4/4 21:58:00
--  
谢谢mr 725老师!还是做不出来,还需进一步指点,谢谢!
--  作者:狐狸爸爸
--  发布时间:2011/4/4 22:14:00
--  

我把你最后一段计算级别工资的代码修改了一下:

 

\'【级别工资】计算代码
Select Case  e.DataCol.Name
    Case "职务","任职年限1","工作年限1"
        Dim dr2 As DataRow
        Dim Filter2 As String
        Filter2 = " [职务] = \'" & e.DataRow("职务") & "\'and [任职年限] = \'" & e.DataRow("任职年限1") & "\'" 
        dr2 = DataTables("级别工资").Find(Filter2)  
        If dr2 IsNot Nothing  Then
            Dim nm As String  = "工作年限_" & e.DataRow("工作年限1")
            If DataTables("级别工资").DataCols.Contains(nm)
                e.DataRow("级别工资") = dr2(nm)
            End If
        End If
End Select

 

 

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


--  作者:老有所乐
--  发布时间:2011/4/4 22:33:00
--  
谢谢贺老师!