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


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

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

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
这是错在哪?判断代码问题求指点!!!!!!  发帖心情 Post By:2015/1/10 17:47:00 [只看该作者]

表里有“原技术资格等级”、“原等级取得时间”……以及“是否合格”等列,想根据条件自动在“是否合格”列里得出“是或否”,我在表的DataColChanged事件里输入下面代码,但不报错也没有反应,这是什么原因?

If Forms("报名审核").Controls("TabControl1").Selected("报名登记表").txt
        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


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2015/1/10 18:04:00 [只看该作者]

这样的问题,最好例子传上来,至少传个表。

第一句:
If Forms("报名审核").Controls("TabControl1").Selected("报名登记表").txt
就看不明白。

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


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

 

还没完成,现在就发现不知是哪的问题,不能进行条件查询了,在我清空数据之前都可以,只是重新导入后就不可以了,代码我检查了好象没错;另外就是想在报名登记表通过代码自动判断该员工是不是符合报名条件,在“是否合格”列自动“是或否”,1楼的代码就是进行判断的,但好象不对,本人对代码很小白,应该还是理解上出了问题,看了N次帮助也想不出怎么写,请用一指教!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:鉴定管理v1.rar


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


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

1、从证书编号表里的“证书编号”列取得证书年份,如证书号:0551003183400001,固定的前两位就是取得证书年份,这个号意思就是2005年取得的,2015-2005=10,满足高级工证书拿满3年的报考要求之一,我如果再加上“申报鉴定的工种”判断,如没变则该员符合报考条件,在“是否合格”列自动出现“是”,要不就出现“否” 

2、因为只要两表的身份证号码列、证书编号(在报名登记表里是“原资格证书编号”列、在证书编号表里是“证书编号”列)、以及在原资格证书编号列中提取的年份>=3,那就证明该员工符合报名条件,则在“是否合格”列自动填充“是”;

3、如报名登记表里的“原技术资格工种”是“助理工程师”且年份满4年,如果是“工程师”可直接报考,则在“是否合格”列自动填充“是”;

 

高级工报考技师条件如下:1、高级工证书拿满3年(如2012年的,2015-2012=3,可以报考,为避免员工做假或写错,就要拿证书编号表的“证书编号”列里的号与“报名登记表”里的“原技术等级编号”列的号进行对比,另外加2个表里的身份证号对比);2、助理工程师则拿满证4年就可报考;3、工程师则可直接报;

 

这3条只要满足1条就算符合报名条件,可以报考


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


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

查询条件:以“工作单位”“是否合格”也查不了,之前都可以,不知是什么问题?但从姓名等几个可以模糊查询的好象又可以,真是怪事!

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


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

版主,能帮我看看是什么问题?


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


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

 不知道你想表达什么,去掉 If Forms("报名审核").Controls("TabControl1").Selected("报名登记表").txt

 

 或者,直接写

 

If Forms("报名审核").Controls("TabControl1").SelectedPage.Name = "报名登记表"

 

 


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


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

1、不能查询的原因我找到了:就是“报名登记表”表不能全部清空,否则再导入数据就会出现“工作单位、鉴定批次、是否合格”等复选框没反应,但下面的几个文本框可以正常用,这不知是什么原因?

 

2、我刚才正在找错误原因:为什么用您写的代码放在“报名登记表的”DataColChanged事件里去判断,表的“是否合格”列没反应,所以我就加了句If Forms("报名审核").Controls("TabControl1").Selected("报名登记表").txt(意思是:当页面集合选择的是“报名登记表”时,进行判断),现在证明我写错了。


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


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

 1、代码写到导入按钮

 

Dim gzdw As WinForm.ComboBox = e.Form.Controls("工作单位")
Dim jdpc As WinForm.ComboBox = e.Form.Controls("鉴定批次")
Dim sfhg As WinForm.ComboBox = e.Form.Controls("是否合格")
gzdw.ComboList = DataTables("报名登记表").GetComboListString("工作单位")
jdpc.ComboList = DataTables("报名登记表").GetComboListString("鉴定批次")
sfhg.ComboList = DataTables("报名登记表").GetComboListString("是否合格")
gzdw.ComboList = DataTables("审核合格表").GetComboListString("工作单位")
jdpc.ComboList = DataTables("审核合格表").GetComboListString("鉴定批次")
sfhg.ComboList = DataTables("审核合格表").GetComboListString("是否合格")

 

 或者,在对应控件的enter事件写入

 

2、

 

If Forms("报名审核").Controls("TabControl1").SelectedPage.Text = "报名登记表"

 

 


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


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

求助版主,为什么不会自动判定?

 

项目目的:通过对“报名员工”的条件判定其是否符合报名条件,符合则在报名记表的“是否合格”列自动填入“是”,不符合则填入“否”;

判定条件:1、“报名登记表”中的“原资格证书编号”列中的号和“证书编号表”中的号一致且是员工本人的,且“原等级取得时间”到现在年份满3年;

              2、“报名登记表”中的“原技术资格工种”列是“助理工程师”,且“原等级取得时间”到现在年份满4年;

              3、“报名登记表”中的“原技术资格工种”列是“工程师”,则直接符合;

以上3点符合1点即可;

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:鉴定管理.rar


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