Foxtable(狐表)用户栏目专家坐堂 → 点击“按钮”项目强退是为什么?


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

主题:点击“按钮”项目强退是为什么?

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
点击“按钮”项目强退是为什么?  发帖心情 Post By:2015/6/12 16:33:00 [只看该作者]

在窗口1中有1按钮,作用是将符合条件的人员导到另1个表中,但一点击就强退,不知什么原因,求帮助!!!!!!

 

代码如下:

 

Dim Result As DialogResult
Result = MessageBox.Show("确定导出?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question,MessageBoxDefaultButton.Button2)
Dim Cols1() As String = {"工作单位","县公司","姓名","性别","身份证号码","文化程度","现岗位名称","参加工作时间","现工种工作时间","原技术资格等级","原等级取得时间","原资格证书工种","原资格证书编号","鉴定等级","申报鉴定工种","鉴定批次","申报性质","用工性质","原人才当量值","备注","照片","是否合格","资格审核","鉴定时间"}
Dim Cols2() As String = {"工作单位","县公司","姓名","性别","身份证号码","文化程度","现岗位名称","参加工作时间","现工种工作时间","原技术资格等级","原等级取得时间","原资格证书工种","原资格证书编号","鉴定等级","申报鉴定工种","鉴定批次","申报性质","用工性质","原人才当量值","备注","照片","是否合格","资格审核","鉴定时间"}
For Each dr1 As DataRow In DataTables("报名登记表").Select("[资格审核] = True ")
    Dim dr2 As DataRow = DataTables("审核合格表").Find("身份证号码 = '" & dr1("身份证号码") & "' And 鉴定批次 = '" & dr1("鉴定批次") & "'")
    If dr2 Is Nothing Then
        dr2 = DataTables("审核合格表").AddNew
    End If
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next


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


加好友 发短信
等级:九尾狐 帖子:2180 积分:13804 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By:2015/6/12 16:37:00 [只看该作者]

只保留一行数据,试试看问题出在哪里

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


加好友 发短信
等级:幼狐 帖子:180 积分:1582 威望:0 精华:0 注册:2011/8/30 10:28:00
  发帖心情 Post By:2015/6/12 16:46:00 [只看该作者]

你这个是还有个覆盖dr2数据的功能吗?

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


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

 应该是datacolchanged事件写得有问题,死循环了

 

方法1:关闭事件 http://www.foxtable.com/help/topics/2218.htm

 

方法2:http://www.foxtable.com/help/topics/1522.htm

 


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


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

图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看

谢谢大家,我找到原因了,其它的都没问题,就是“鉴定批次”这列单元格内容中有“、”号,去除后就没问题了。


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


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

图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看又有新问题了:是不是表里总行数有什么限制?行数少的时候不出现强退!!!!!!

 


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


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

无非是你行数少,或者是行的内容没有达到死循环的条件.

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/6/13 15:32: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

 

 

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

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

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

 

想达到的目的:

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

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

 

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

 

 

这是表Datacolchanged事件代码


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


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

If e.DataRow("鉴定等级") = "高级技师" Then
    Dim fdr As DataRow = DataTables("证书编号表").Find("身份证号码 = '" & e.DataRow("身份证号码") & "' And 证书编号 = '" & e.DataRow("原资格证书编号") & "' And 鉴定等级 = '" & 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

搞错了,是上述这段代码


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/6/13 17:22:00 [只看该作者]


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