Foxtable(狐表)用户栏目专家坐堂 → 这是错在哪?判断代码问题求指点!!!!!!


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

主题:这是错在哪?判断代码问题求指点!!!!!!

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


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


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


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

能否明示下,退出的原因?

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


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

 事件里判断列名啊。

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


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

是在表事件里没判断变化的列?是不是所有参与的列都要?

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


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

 看31楼,已经解释得很清楚了。

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


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

 你可以单独判断列 是否合格

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


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

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "原技术资格等级","原等级取得时间","身份证号码"
End Select
If Forms("报名审核").Opened AndAlso Forms("报名审核").Controls("TabControl1").SelectedPage.Text = "报名登记表"
    If e.DataRow("鉴定等级") = "技师" Then
        If e.DataRow("原技术资格等级") = "助理工程师" AndAlso e.DataRow("原等级取得时间") <= Date.Today.Year - 4 Then
            e.DataRow("是否合格") = True
        Else
            e.DataRow("是否合格") = False
            If e.DataRow("原技术资格等级") = "工程师"
                e.DataRow("是否合格") = True
            Else
                e.DataRow("是否合格") = False
                Dim fdr As DataRow = DataTables("证书编号表").Find("身份证号码 = '" & e.DataRow("身份证号码") & "' And 申报鉴定工种 = '" & e.DataRow("申报鉴定工种") & "' And 证书编号 = '" & e.DataRow("原资格证书编号") & "' And convert(substring(证书编号,1,2),'System.Int32') <= " & Date.Today.Year - 2000 - 5)
                If fdr IsNot Nothing Then
                    e.DataRow("是否合格") = True
                Else
                    e.DataRow("是否合格") = False
                End If
            End If
        End If
    End If
End If

 

这样写怎么还是会强退?


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


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

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "原技术资格等级","原等级取得时间","身份证号码"
       
        If Forms("报名审核").Opened AndAlso Forms("报名审核").Controls("TabControl1").SelectedPage.Text = "报名登记表"
            If e.DataRow("鉴定等级") = "技师" Then
                If e.DataRow("原技术资格等级") = "助理工程师" AndAlso e.DataRow("原等级取得时间") <= Date.Today.Year - 4 Then
                    e.DataRow("是否合格") = True
                Else
                    e.DataRow("是否合格") = False
                    If e.DataRow("原技术资格等级") = "工程师"
                        e.DataRow("是否合格") = True
                    Else
                        e.DataRow("是否合格") = False
                        Dim fdr As DataRow = DataTables("证书编号表").Find("身份证号码 = '" & e.DataRow("身份证号码") & "' And 申报鉴定工种 = '" & e.DataRow("申报鉴定工种") & "' And 证书编号 = '" & e.DataRow("原资格证书编号") & "' And convert(substring(证书编号,1,2),'System.Int32') <= " & Date.Today.Year - 2000 - 5)
                        If fdr IsNot Nothing Then
                            e.DataRow("是否合格") = True
                        Else
                            e.DataRow("是否合格") = False
                        End If
                    End If
                End If
            End If
        End If
End Select

 

我改了一下,语法有错,现在不强退了,但好象没反应


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


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

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "原技术资格等级","原等级取得时间","身份证号码"
        If e.DataRow("鉴定等级") = "技师" Then
            If e.DataRow("原技术资格等级") = "助理工程师" AndAlso e.DataRow("原等级取得时间") <= Date.Today.Year - 4 Then
                e.DataRow("是否合格") = True
            Else
                e.DataRow("是否合格") = False
                If e.DataRow("原技术资格等级") = "工程师"
                    e.DataRow("是否合格") = True
                Else
                    e.DataRow("是否合格") = False
                    Dim fdr As DataRow = DataTables("证书编号表").Find("身份证号码 = '" & e.DataRow("身份证号码") & "' And 申报鉴定工种 = '" & e.DataRow("申报鉴定工种") & "' And 证书编号 = '" & e.DataRow("原资格证书编号") & "' And convert(substring(证书编号,1,2),'System.Int32') <= " & Date.Today.Year - 2000 - 5)
                    If fdr IsNot Nothing Then
                        e.DataRow("是否合格") = True
                    Else
                        e.DataRow("是否合格") = False
                    End If
                End If
            End If
        End If
End Select

 

调用

 

With DataTables("报名登记表")
    .DataCols("原技术资格等级").RaiseDataColChanged()

End With

[此贴子已经被作者于2015-1-12 15:46:54编辑过]

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


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

调用

 

With DataTables("报名登记表")
    .DataCols("原技术资格等级").RaiseDataColChanged()

End With

 

这个直接加在表事件里?


 回到顶部
总数 125 上一页 1 2 3 4 5 6 7 8 9 10 下一页 ..13