Foxtable(狐表)用户栏目专家坐堂 → 代码编写问题求助?


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

主题:代码编写问题求助?

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
代码编写问题求助?  发帖心情 Post By:2015/6/10 11:05:00 [只看该作者]

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

 

上述代码不报错,但不起作用!!!!!!

有“报名登记表”和“证书编号表”,有1员工要报考“高级技师”(已取得“技师”资格,在“证书编号表”中可查到),

他“是否合格”的条件是:

      1、“申报鉴定工种”和“证书编号表”中取得“技师”资格时的工种一样;

      2、取得“技师”资格满3年;

以上2条同时符合,则其报名条件为“合格”!!!!!!

 

求助版主给指教,谢谢!!!!!!


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


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

另外,如果该员工报名条件合格,则其“资格审核”则为“通过”,否则为“淘汰”,这代码应该如何加进去?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/10 11:12:00 [只看该作者]

 上传具体例子,说明具体逻辑。

 

 或者你加入msgbox代码看一下为什么没执行里面的代码。


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


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

图片点击可在新窗口打开查看谢谢!!!!!!例子很大,传不上来,本人对代码编写很小白

 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/10 11:44:00 [只看该作者]

 那你现在是什么问题?代码和你的描述根本就不搭调。

 

 If e.DataRow("原技术资格等级") = "技师" AndAlso e.DataRow("原资格证书工种") = "申报鉴定工种" AndAlso Cdate(e.DataRow("原等级取得时间")).Year <= Date.Today.Year - 3 Then

 这句代码的意思是,如果是技师,是申报鉴定工种,而且技师取得时间超过3年。


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


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

2 个表,“报名登记表”和“证书编号表”,

    其中“报名登记表”中有“身份证号码”、“原资格证书工种”、“原资格取得时间”、“鉴定等级”、“申报鉴定工种”、“是否合格”等列;

          “证收编号表”中有“身份证号码”、“鉴定等级”、“申报鉴定工种”、“证书编号”等列;

 

想达到的目的:

      当1个员工想报考高级技师,在“报名登记表”中,他的“原技术资格等级”必需是技师,且技师取得时间>=3年,且“原资格证书工种”和现在报名“申报鉴定工种”是一致的,他所“申报鉴定工种”是否和“证书编号表”中他取得技师资格时的“申报鉴定工种”是一致的;

     在“证书编号表”中比对“身份证号码”、“申报鉴定工种”、“证书编号”确定该员工在“报名登记表”中所填的是真实的;

 

通过上述条件判定他报名“是否合格”

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报名登记表.xls

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:证书编号表.xls


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/10 14:14:00 [只看该作者]

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

        Else

            e.DataRow("是否合格") = False
        End If
    End If
End If

[此贴子已经被作者于2015/6/10 14:14:31编辑过]

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


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


图片点击可在新窗口打开查看此主题相关图片如下:%nmr1ta@$0`j03cok}qbng.png
图片点击可在新窗口打开查看

 

先谢谢!!!!!!现在出现以上报错


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/6/10 14:53:00 [只看该作者]

证书编号表.没有 技术资格等级列

检查一下.是不是列名错了

或者你搞错标题和列名了.

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/10 15:09:00 [只看该作者]

改一下

 

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

        Else

            e.DataRow("是否合格") = False
        End If
    End If
End If


 回到顶部
总数 11 1 2 下一页