以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 代码错误求指教! (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=63639) |
-- 作者:lisheng7177 -- 发布时间:2015/1/25 16:11:00 -- 代码错误求指教! Select Case e.DataCol.Name
表里有"申报性质","申报鉴定工种","是否合格","理论考否","考试性质"等列, 1、“申报性质”有 正常申报、补考实操、补考潜能、补考两项、重新申报 等形式,除了 正常申报 是要考理论(分机考和纸考),其它的都和申报性质中的一样,在考试性质列得出 补考实操、补考潜能、补考两项、重新申报 等; 2、另 正常申报 的如其申报鉴定工种 和 机考工种表的里工种一样,则要“机考”,否则“纸考”; 3、按照以上要求,“考试性质”列就不能为逻辑型,因为有“纸考、机考、补考实操、补考潜能、补考两项”等结果。 我现在写了半天也只能达到: 1、合格且正常申报的能判断为要考理论,如还达到申报鉴定工种和机考工种表一样则要考“机考”,否则“纸考”; 2、其它的不是1的,只要达到申报鉴定工种和机考工种表一样则要考“机考”,否则“纸考”;(这是不对的); 我应该怎样写代码才正确?求指教? (考试性质列我已改成了字符型) |
-- 作者:有点甜 -- 发布时间:2015/1/25 16:29:00 -- Select Case e.DataCol.Name
|
-- 作者:lisheng7177 -- 发布时间:2015/1/25 16:32:00 -- 谢谢甜版指教!我去试试。 |
-- 作者:lisheng7177 -- 发布时间:2015/1/25 16:49:00 -- 甜版,代码写入后,在“考试性质”列得出“-1”和“0”两个数字,这是什么原因?是列的格式问题吗? |
-- 作者:lisheng7177 -- 发布时间:2015/1/25 16:53:00 -- 找到原因了,是要重置一下列就行了,谢谢甜版! |
-- 作者:lisheng7177 -- 发布时间:2015/1/25 17:05:00 -- 经过测试发现还有一个条件没有加入,就是当 申报鉴定工种=机考工种表中的相应的工种则“考试性质”才是“机考”;我这样把代码加进去是否妥当?
Select Case e.DataCol.Name |
-- 作者:有点甜 -- 发布时间: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 -- 发布时间:2015/1/25 17:09:00 -- 少写了1句 END IF ,但好象也不行不行! |
-- 作者:lisheng7177 -- 发布时间:2015/1/25 17:12:00 -- 另外,好象进入项目,每次都要重置一下列是才行。 |
-- 作者:有点甜 -- 发布时间:2015/1/25 17:21:00 -- 那你就重置列啊,代码没有问题 |