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


  共有3556人关注过本帖树形打印复制链接

主题:条件代码求助

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
条件代码求助  发帖心情 Post By:2015/1/26 21:03:00 [只看该作者]

高级工报考技师:

1、工种有---工种1、工种2、工种3、工种4、工种5、......工种20,其中工种1-工种5属于相近工种,工种6-工种10属于相近工种,......

    假设员工甲原来取得了工种1的高级工证书,现在他其他条件都符合,想考工种2(只要是工种1的相近工种就可以)的技师,这在报考条例里是允许的;

    现在的高级工-技师判定合格与否的代码如下---

If e.DataRow("鉴定等级") = "技师" Then
    If e.DataRow("原技术资格等级") = "助理工程师(电力类)" AndAlso Cdate(e.DataRow("原等级取得时间")).Year <= Date.Today.Year - 4 Then
        e.DataRow("是否合格") = True
    Else If e.DataRow("原技术资格等级") = "工程师(电力类)"
        e.DataRow("是否合格") = True
    Else If e.DataRow("原技术资格等级") = "助理工程师(工业工程)" AndAlso Cdate(e.DataRow("原等级取得时间")).Year <= Date.Today.Year - 4 Then
        e.DataRow("是否合格") = True
    Else If e.DataRow("原技术资格等级") = "工程师(工业工程)"
        e.DataRow("是否合格") = True
    Else If e.DataRow("原技术资格等级") = "高级工程师(电力类)"
        e.DataRow("是否合格") = True
    Else If e.DataRow("原技术资格等级") = "高级工程师(工业工程)"
        e.DataRow("是否合格") = True
    Else If e.DataRow("原技术资格等级") = "技师"
        e.DataRow("是否合格") = True
    Else If e.DataRow("原技术资格等级") = "高级工" AndAlso Cdate(e.DataRow("原等级取得时间")).Year <= Date.Today.Year - 3
        Dim fdr As DataRow = DataTables("证书编号表").Find("身份证号码 = '" & e.DataRow("身份证号码") & "' And 申报鉴定工种 = '" & e.DataRow("申报鉴定工种") & "' And 证书编号 = '" & e.DataRow("原资格证书编号") & "'")
        e.DataRow("是否合格") = fdr IsNot Nothing
    Else
        e.DataRow("是否合格") = False
    End If
End If

但还是在判断上有欠缺,请版主指教:这是否可以通过代码写入实现,是否要建个“相近工种表”之类的?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/26 21:13:00 [只看该作者]

 做一个相近工作表。

 

 然后,根据申报工种,去查得到对应的工种,然后查证书表

 

 Dim fdr As DataRow = DataTables("证书编号表").Find("身份证号码 = '" & e.DataRow("身份证号码") & "' And 申报鉴定工种 in (" & "'工种1', '工种2', '工种3'" & ") And 证书编号 = '" & e.DataRow("原资格证书编号") & "'")


 回到顶部
帅哥哟,离线,有人找我吗?
lisheng7177
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/26 21:16:00 [只看该作者]

谢谢版主,这就去试,但这个相近工种表好象列上面不好处理,一溜下来?

 回到顶部
帅哥哟,离线,有人找我吗?
lisheng7177
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/26 21:18:00 [只看该作者]

另外,从上面这句代码我没看出来和“相近工种表”有什么关系?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/26 21:21:00 [只看该作者]

以下是引用lisheng7177在2015-1-26 21:16:00的发言:
谢谢版主,这就去试,但这个相近工种表好象列上面不好处理,一溜下来?

 

多值字段列,同一工种,写在一列。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/26 21:21:00 [只看该作者]

以下是引用lisheng7177在2015-1-26 21:18:00的发言:
另外,从上面这句代码我没看出来和“相近工种表”有什么关系?

 

看红色代码,查出红色代码的内容

 

Dim fdr As DataRow = DataTables("证书编号表").Find("身份证号码 = '" & e.DataRow("身份证号码") & "' And 申报鉴定工种 in (" & "'工种1', '工种2', '工种3'" & ") And 证书编号 = '" & e.DataRow("原资格证书编号") & "'")


 回到顶部
帅哥哟,离线,有人找我吗?
lisheng7177
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/26 21:22:00 [只看该作者]

图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看明白,谢谢版主!

 回到顶部
帅哥哟,离线,有人找我吗?
lisheng7177
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/26 21:48:00 [只看该作者]

再求版主指教:工种大概有100多个,分成7、8组,每组少的有7、8个工种,多的有11、12个工种,我是不是要每组都写1句代码?

比如说:

Dim fdr As DataRow = DataTables("证书编号表").Find("身份证号码 = '" & e.DataRow("身份证号码") & "' And 申报鉴定工种 in (" & "'工种1', '工种2', '工种3','工种4','工种5','工种6','工种7','工种8','工种9'" & ") And 证书编号 = '" & e.DataRow("原资格证书编号") & "'")

Dim fdr As DataRow = DataTables("证书编号表").Find("身份证号码 = '" & e.DataRow("身份证号码") & "' And 申报鉴定工种 in (" & "'工种10', '工种11', '工种12'" & ") And 证书编号 = '" & e.DataRow("原资格证书编号") & "'")


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/26 22:13:00 [只看该作者]

 叫你先根据本行的工种,去查表啊

 

Dim dr As DataRow
dr =
DataTables("工种表").Find("工种 like '%" & e.DataRow("工种1") & "%'")

 

msgbox(dr("工种"))


 回到顶部
帅哥哟,离线,有人找我吗?
lisheng7177
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/26 23:02:00 [只看该作者]

图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看谢谢版主!

 回到顶部
总数 21 1 2 3 下一页