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


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

主题:代码错误求指教!

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
代码错误求指教!  发帖心情 Post By:2015/1/25 16:11:00 [只看该作者]

Select Case e.DataCol.Name
    Case "申报性质","申报鉴定工种","是否合格","理论考否","考试性质"
        If e.DataRow("鉴定等级") = "技师" Then
            e.DataRow("理论考否") = (e.DataRow("是否合格") = True AndAlso e.DataRow("申报性质") = "正常申报")
            e.DataRow("考试性质") = (e.DataRow("理论考否") = True AndAlso e.DataRow("申报性质") = "正常申报")
            Dim fdr As DataRow = DataTables("机考工种表").Find("鉴定等级三 = '" & e.DataRow("鉴定等级") & "' And 机考工种 = '" & e.DataRow("申报鉴定工种") & "'")
            If fdr IsNot Nothing Then
                e.DataRow("考试性质") = True
            Else
                e.DataRow("考试性质") = False
            End If
        End If
       
End Select

 

表里有"申报性质","申报鉴定工种","是否合格","理论考否","考试性质"等列,

1、“申报性质”有 正常申报、补考实操、补考潜能、补考两项、重新申报 等形式,除了 正常申报 是要考理论(分机考和纸考),其它的都和申报性质中的一样,在考试性质列得出 补考实操、补考潜能、补考两项、重新申报 等;

2、另 正常申报 的如其申报鉴定工种 和 机考工种表的里工种一样,则要“机考”,否则“纸考”;

3、按照以上要求,“考试性质”列就不能为逻辑型,因为有“纸考、机考、补考实操、补考潜能、补考两项”等结果。

我现在写了半天也只能达到:

1、合格且正常申报的能判断为要考理论,如还达到申报鉴定工种和机考工种表一样则要考“机考”,否则“纸考”;

2、其它的不是1的,只要达到申报鉴定工种和机考工种表一样则要考“机考”,否则“纸考”;(这是不对的);

我应该怎样写代码才正确?求指教?

(考试性质列我已改成了字符型)


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


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

Select Case e.DataCol.Name
    Case "申报性质","申报鉴定工种","是否合格","理论考否","考试性质"
        If e.DataRow("鉴定等级") = "技师" Then
            If e.DataRow("申报性质") = "正常申报" Then
                If e.DataRow("是否合格") = True Then
                    e.DataRow("理论考否") = True
                    e.DataRow("考试性质") = "机试"
                Else
                    e.DataRow("理论考否") = False
                    e.DataRow("考试性质") = "纸试"
                End If
            Else
                e.DataRow("考试性质") = e.DataRow("申报性质")
            End If
        End If
  
End Select

 


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


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

谢谢甜版指教!我去试试。

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


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

甜版,代码写入后,在“考试性质”列得出“-1”和“0”两个数字,这是什么原因?是列的格式问题吗?


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


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

找到原因了,是要重置一下列就行了,谢谢甜版!

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


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

经过测试发现还有一个条件没有加入,就是当 申报鉴定工种=机考工种表中的相应的工种则“考试性质”才是“机考”;我这样把代码加进去是否妥当?

 

Select Case e.DataCol.Name
Case "申报性质","申报鉴定工种","是否合格","理论考否","考试性质"
If e.DataRow("鉴定等级") = "技师" Then
If e.DataRow("申报性质") = "正常申报" Then
If e.DataRow("是否合格") = True Then
e.DataRow("理论考否") = True
Dim fdr As DataRow = DataTables("机考工种表").Find("鉴定等级三 = '" & e.DataRow("鉴定等级") & "' And 机考工种 = '" & e.DataRow("申报鉴定工种") & "'")
If fdr IsNot Nothing Then
e.DataRow("考试性质") = "机试"
Else
e.DataRow("理论考否") = False
e.DataRow("考试性质") = "纸试"
End If
Else
e.DataRow("考试性质") = e.DataRow("申报性质")
End If
End If

End Select


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


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

Select Case e.DataCol.Name
    Case "申报性质","申报鉴定工种","是否合格","理论考否","考试性质"
        If e.DataRow("鉴定等级") = "技师" Then
            If e.DataRow("申报性质") = "正常申报" Then
                If e.DataRow("是否合格") = True Then
                    e.DataRow("理论考否") = True
                    Dim fdr As DataRow = DataTables("机考工种表").Find("鉴定等级三 = '" & e.DataRow("鉴定等级") & "' And 机考工种 = '" & e.DataRow("申报鉴定工种") & "'")
                    If fdr IsNot Nothing Then
                        e.DataRow("考试性质") = "机试"
                    Else
                        e.DataRow("考试性质") = "纸试"
                    End If
                Else
                    e.DataRow("理论考否") = False
                    e.DataRow("考试性质") = "纸试"
                End If
            Else
                e.DataRow("考试性质") = e.DataRow("申报性质")
            End If
        End If
       
End Select

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


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

少写了1句 END IF ,但好象也不行不行!图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看

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


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

另外,好象进入项目,每次都要重置一下列是才行。

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


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

 那你就重置列啊,代码没有问题

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