Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共13 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:为什么基本一样的代码在两个项目中会出现不同的结果?谢谢

1楼
雨中的泪 发表于:2009/11/24 15:47:00
在“人事工资管理系统”-“调资基础数据”表-“调资基础数据修改录入窗口”窗口,点击“办理职务变动”按钮时,在“职务变动基础信息”表中已有姓名的人员不会追加!!!
在“地方津贴及绩效工资”中点击“转为退休”时,如果前一张表中有姓名相同的人员,却仍然是追加到前一张表中,人员在前一张表中就重复了!!!

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看
2楼
雨中的泪 发表于:2009/11/24 15:49:00
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:rsgzglxt.rar

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:地方津贴及绩效工资.rar

3楼
雨中的泪 发表于:2009/11/24 15:49:00
两个按钮的代码原理都是一样的,就是没找到原因?谢谢
4楼
雨中的泪 发表于: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
5楼
雨中的泪 发表于: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
6楼
雨中的泪 发表于:2009/11/24 15:54:00
这两段代码原理基本一样,得到的结果就是有区别!!!
斑竹
帮帮
7楼
lihe60 发表于:2009/11/24 16:46:00

巨无霸代码。

8楼
雨中的泪 发表于:2009/11/24 17:44:00
斑竹
帮忙
看看
谢谢
9楼
狐狸爸爸 发表于:2009/11/24 17:57:00
提醒一下:
1、ExcludeExistValue 设为True,排除现有值,只要有一列内容不同,就不会认为存在现有值,意思是根据所有列来比较的,不是单单根据姓名列来比较
2、ExcludeNullValue排除空值,要填充的列中,只要有一列为空,就不会填充。

你自己分析一下,为啥有的填充了,有的却不填充。
10楼
雨中的泪 发表于:2009/11/25 8:41:00
有一列的内容是为空~~~
共13 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04688 s, 3 queries.