以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何进行动态参数设置  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=48742)

--  作者:hrw68529
--  发布时间:2014/4/4 10:09:00
--  [求助]如何进行动态参数设置
下边例子中,有三个表,涉及到的只有“笔试成绩”和“职位代码”表,需求:
1、职位代码表中的进入体检比例,需要动态填写,有时候是统一的比例,有时候是个别职位代码分别设置比例;
2、“笔试成绩”表中的“形不成竞争”是指“职位代码”表中的按照职位代码分类,如果实际参加面试数小于或等于职位数,则为“形不成竞争”,这时需要看这个人的面试成绩是否小于所在的分组的面试平均值,如果小于,则“笔试成绩”表的“是否进入体检”为false(也就是进入不到体检),否则为true.
3、设置“进入体检比例”是为了计算此人能否进入体检,逻辑关系是:如果“笔试成绩”表中的面试排名小于或等于“职位代码”表中的“进入体检比例*职位数”,则“笔试成绩”表中的“是否进入体检”为true,否则为false.
综上所述,当软件制作成后,(1)、如何任意设置“进入体检比例”;(2)、如何写2、3、的代码。谢谢
例子如下:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目11_201404041000.zip



--  作者:Bin
--  发布时间:2014/4/4 10:51:00
--  
2描述不清, 不形成竞争全部进入体检, 形成则看成绩是否高于平均成绩再进入体检是吗?
--  作者:Bin
--  发布时间:2014/4/4 10:54:00
--  
另外你这段代码,每次DataColChanged都执行,无论改变的是哪个列,  效率太差了吧.


\'获得所有班级名称,保存在集合中
Dim bjs As List(Of String) = DataTables("笔试成绩").GetValues("职位代码")
For Each bj As String In bjs
    \'获得该班级的全部行,按总分降序排序
    Dim drs As List(Of DataRow) = DataTables("笔试成绩").Select("[职位代码] = " & bj, "面试成绩 DESC")
    For n As Integer = 0 To drs.Count - 1 \'遍历所有行
        If n > 0 AndAlso drs(n)("面试成绩") = drs(n-1)("面试成绩") Then \'如果总分和上一行相同
            drs(n)("面试排名") = drs(n-1)("面试排名") \'则排名等于上一行
        Else
            drs(n)("面试排名") = n + 1 \'设置排名
        End If
    Next
Next

--  作者:lsy
--  发布时间:2014/4/4 10:59:00
--  

最关键的是:设置“进入体检比例”,按什么规则设置。

没有规则,代码就无依据。


--  作者:hrw68529
--  发布时间:2014/4/4 12:38:00
--  
不好意思,上午开会去了,怠慢各位了,
1、形不成竞争:如果这个考生的面试成绩达不到考生所在分组的平均值,就视为不能进入体检,如果考生的面试成绩大于或等于所在分组的平均值,就视为能进入体检;
2、体检比例:能不能设置一个窗口,根据需要进行更改,进入体检比例要求不一样,有时候是1.2,有时是1.5,还有的时候是按不同职位代码进行设置,如15012204为1.2,15012203为1.5………….这个问题,我原想在“职位代码”表中设置,但如果生成软件后,职位代码表不显示了,没法设置,有什么办法没有。谢谢各位关注。

--  作者:hrw68529
--  发布时间:2014/4/4 12:39:00
--  
3、关于bin说的排名代码, 我是改说明书上的,能改进吗,谢谢
--  作者:lsy
--  发布时间:2014/4/4 14:00:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:考生成绩.rar