以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 为什么基本一样的代码在两个项目中会出现不同的结果?谢谢 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=5122) |
||||||||
-- 作者:雨中的泪 -- 发布时间:2009/11/24 15:47:00 -- 为什么基本一样的代码在两个项目中会出现不同的结果?谢谢 在“人事工资管理系统”-“调资基础数据”表-“调资基础数据修改录入窗口”窗口,点击“办理职务变动”按钮时,在“职务变动基础信息”表中已有姓名的人员不会追加!!! 在“地方津贴及绩效工资”中点击“转为退休”时,如果前一张表中有姓名相同的人员,却仍然是追加到前一张表中,人员在前一张表中就重复了!!! 此主题相关图片如下:1.jpg 此主题相关图片如下:2.jpg |
||||||||
-- 作者:雨中的泪 -- 发布时间:2009/11/24 15:49:00 --
|
||||||||
-- 作者:雨中的泪 -- 发布时间:2009/11/24 15:49:00 -- 两个按钮的代码原理都是一样的,就是没找到原因?谢谢 |
||||||||
-- 作者:雨中的泪 -- 发布时间:2009/11/24 15:53:00 -- Dim Q1 As String Q1 = e.Form.Controls("单位名称").Value Dim Q2 As String Q2 = e.Form.Controls("姓名").Value Dim Q3 As String Q3 = e.Form.Controls("身份证号").Value Dim Q4 As String Q4 = e.Form.Controls("性别").Value Dim Q5 As String Q5 = e.Form.Controls("现任职务").Value Dim Vbl As string Vbl= e.Form.Controls("身份证号").Value Dim dr As DataRow dr = DataTables("职务变动基础信息").Find("身份证号= \'" & vbl & "\'") if Q1 = "" then MessageBox.Show("人员基础信息不全(单位名称),不能办理职务变动业务!!!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information) Return \'终止代码的执行 Else if Q2 = "" then MessageBox.Show("人员基础信息不全(姓名为空),不能办理职务变动业务!!!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information) Return \'终止代码的执行 Else if Q3 = "" then MessageBox.Show("人员基础信息不全(身份证号为空),不能办理职务变动业务!!!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information) Return \'终止代码的执行 Else if Q4 = "" then MessageBox.Show("人员基础信息不全(性别为空),不能办理职务变动业务!!!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information) Return \'终止代码的执行 Else If e.Form.Controls("出生时间").Value Is Nothing then MessageBox.Show("人员基础信息不全(出生时间为空),不能办理职务变动业务!!!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information) Return \'终止代码的执行 Else If e.Form.Controls("参加工作时间").Value Is Nothing then MessageBox.Show("人员基础信息不全(参加工作时间为空),不能办理职务变动业务!!!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information) Return \'终止代码的执行 Else if Q5 = "" then MessageBox.Show("人员基础信息不全(职务为空),不能办理职务变动业务!!!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information) Return \'终止代码的执行 Else IF MessageBox.Show("是否要办理此人的职务变动业务?", "提示", MessageBoxButtons.YESNO,MessageBoxIcon. Question) = DialogResult.Yes then dim fff As New Filler fff.SourceTable = DataTables("调资基础数据") \'指定数据来源 fff.SourceCols = "序号,单位名称,姓名,身份证号,性别,出生时间,参加工作时间,职务" \'指定数据来源列 fff.DataTable = DataTables("职务变动基础信息") \'指定数据接收表 fff.DataCols = "序号,单位名称,姓名,身份证号,性别,出生日期,参加工作时间,变动前职务" \'指定数据接收列 fff.ExcludeExistValue = "true" fff.ExcludeNullValue = "true" With e.Form.Controls("身份证号") If .Value IsNot Nothing Then fff.Filter= "[身份证号]= \'" & .Value & "\'" End If End With fff.Fill() \'填充数据 MessageBox.Show("该人员基础信息已经读入职务变动人员数据库!!!", "提示") Forms("调资基础数据修改录入窗口").Close() MainTable = Tables("职务变动基础信息") Forms("职务变动人员基础信息录入").Open() dr = DataTables("职务变动基础信息").Find("身份证号= \'" & vbl & "\'") If Vbl IsNot Nothing Then Dim wz As long = Tables("职务变动基础信息").FindRow(dr) If wz >= 0 Then Tables("职务变动基础信息").Position = wz End If End If Else Return \'终止代码的执行 End if End if End if End if End if End if End if End if |
||||||||
-- 作者:雨中的泪 -- 发布时间:2009/11/24 15:54:00 -- Dim Vbl As string Vbl= e.Form.Controls("身份证号").Value Dim dr As DataRow dr = DataTables("TXGF").Find("身份证号= \'" & vbl & "\'") IF MessageBox.Show("是否要执行退休操作?", "提示", MessageBoxButtons.YESNO,MessageBoxIcon. Question) = DialogResult.Yes then dim fff As New Filler fff.SourceTable = DataTables("SYGF") \'指定数据来源 fff.SourceCols = "归口股室,乡镇名称,单位类型1,单位类型2,是否教龄津贴单位,是否护龄津贴单位,单位代码,单位名称,部门名称,岗位,姓名,性别,出生日期,身份证号,民族,学历,参加工作时间,职务职称级别,标准起始时间,最迟起始时间,执行起始时间,补发月数" \'指定数据来源列 fff.DataTable = DataTables("TXGF") \'指定数据接收表 fff.DataCols = "归口股室,乡镇名称,单位类型1,单位类型2,是否教龄津贴单位,是否护龄津贴单位,单位代码,单位名称,部门名称,原工作岗位,姓名,性别,出生日期,身份证号,民族,学历,参加工作时间,原享受津贴补贴级别,标准起始时间,最迟起始时间,退休前执行起始时间,退休前已补发月数" \'指定数据接收列 fff.ExcludeExistValue = "true" fff.ExcludeNullValue = "true" With e.Form.Controls("身份证号") If .Value IsNot Nothing Then fff.Filter= "[身份证号]= \'" & .Value & "\'" End If End With fff.Fill() \'填充数据 Forms("事业实施绩效工资审批表").Close() MainTable = Tables("TXGF") Forms("在职转退休审批表").Open() dr = DataTables("TXGF").Find("身份证号= \'" & vbl & "\'") If Vbl IsNot Nothing Then Dim wz As long = Tables("TXGF").FindRow(dr) If wz >= 0 Then Tables("TXGF").Position = wz End If End If END IF |
||||||||
-- 作者:雨中的泪 -- 发布时间:2009/11/24 15:54:00 -- 这两段代码原理基本一样,得到的结果就是有区别!!! 斑竹 帮帮 |
||||||||
-- 作者:lihe60 -- 发布时间:2009/11/24 16:46:00 -- 巨无霸代码。 |
||||||||
-- 作者:雨中的泪 -- 发布时间:2009/11/24 17:44:00 -- 斑竹 帮忙 看看 谢谢 |
||||||||
-- 作者:狐狸爸爸 -- 发布时间:2009/11/24 17:57:00 -- 提醒一下: 1、ExcludeExistValue 设为True,排除现有值,只要有一列内容不同,就不会认为存在现有值,意思是根据所有列来比较的,不是单单根据姓名列来比较 2、ExcludeNullValue排除空值,要填充的列中,只要有一列为空,就不会填充。 你自己分析一下,为啥有的填充了,有的却不填充。 |
||||||||
-- 作者:雨中的泪 -- 发布时间:2009/11/25 8:41:00 -- 有一列的内容是为空~~~ |