Foxtable(狐表)用户栏目专家坐堂 → 如何在按钮实现全列身份证号的重复比较?谢谢


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

主题:如何在按钮实现全列身份证号的重复比较?谢谢

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/9/2 17:19:00 [显示全部帖子]

下面两个自己选择
CurrentTable.Filter = ""
Syscmd.Filter.UnFilter()

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/9/3 15:18:00 [显示全部帖子]

几个马甲,一个问题,无数次的提问,就没说清楚过问题。
东一榔头,西一棒锤,自己又不会很好的组合代码(重复的代码太多)。
可不可以一次性说明白问题,最好不用贴那么多代码,先把你整个按钮要实现的功能一步一步完整的说一遍。
接下来的事你不用管,自会有人帮你写个完整的代码。
否则再贴上几十遍的代码,估计也很难得到圆满的解决。

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/9/3 21:48:00 [显示全部帖子]

按你的代码猜的。


Dim Val As string = e.Form.Controls("单位名称").Value
if Val = "" then
    MessageBox.Show("你未选择需要读入数据的单位!!!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return       '终止代码的执行
Else
    if Val > "" AndAlso DataTables("人事工资管理").Select("[单位名称] = '" & val & "'").Count > 0  then
        if Val > "" AndAlso DataTables("调资基础数据").Select("[单位名称] = '" & val & "'").Count > 0  then
            if MessageBox.Show("已存在相同单位记录,是否删除?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes then
                For Each dr As datarow In datatables("调资基础数据").datarows
                    if dr("单位名称") = Val then
                        dr.locked = false
                    end if
                Next
                DataTables("调资基础数据").DeleteFor("[单位名称] = '" & Val & "'")
            Else
                Return
            End if
        Else
            dim f As New Filler
            f.SourceTable = DataTables("人事工资管理") '指定数据来源
            f.DataTable = DataTables("调资基础数据") '指定数据接收表
            f.ExcludeExistValue = true
            f.ExcludeNullValue = true
            f.Distinct = false
            f.Filter = "[姓名] Is Not Null And [身份证号] Is Not Null And [单位名称]= '" & Val & "'"
            f.Fill() '填充数据
           
            DataTables("审核").DataRows.Clear()
            For Each dr As DataRow In DataTables("调资基础数据").DataRows
                With Tables("调资基础数据")
                    .Select(.RowSel,.cols("身份证号").Index)
                    Syscmd.Filter.ShowSameValues
                    If dr("System_Filter_Unique") = 1 Then
                        dr("审核结果") = "身份证号码重复,请核实!!!"
                    End If
                    .Filter = ""
                End With
                If dr("身份证号").Length <> 15 AndAlso dr("身份证号").Length <> 18 Then '判断是否不符合验证要求
                    dr("审核结果")=dr("审核结果") & Chr(13) & Chr(10)&"录入身份证号位数错误!!!"
                End If
                If dr("性别")<> ReadSex(dr("身份证号")) Then
                    dr("审核结果")= dr("审核结果") & Chr(13) & Chr(10) & "录入性别与身份证号性别不符!!!"
                End If
                If dr("出生时间")<> ReadBirthDay(dr("身份证号")) Then
                    dr("审核结果")= dr("审核结果") & Chr(13) & Chr(10) &"录入出生时间与身份证出生时间不符!!!"
                End If
                If dr("参加工作时间").Year-dr("出生时间").Year < 15
                    dr("审核结果")= dr("审核结果") & Chr(13) & Chr(10)&"参加工作时间逻辑有误,请核实!!!"
                End If
            Next
            dim ff As New Filler
            ff.SourceTable = DataTables("调资基础数据") '指定数据来源
            ff.SourceCols = "序号,单位名称,姓名,身份证号,性别,出生时间,参加工作时间,审核结果"
            ff.DataTable = DataTables("审核") '指定数据接收表
            ff.DataCols = "序号,单位名称,姓名,身份证号,性别,出生时间,参加工作时间,审核"
            ff.ExcludeExistValue = true
            ff.ExcludeNullValue = true
            ff.Distinct = false
            ff.Filter = "[审核结果] Is Not Null"
            ff.Fill() '填充数据
            'Return
            if DataTables("审核").DataRows.Count = 0 Then
                For Each dr As datarow In datatables("调资基础数据").datarows
                    if dr("单位名称") = Val then
                        dr.locked = true
                    end if
                Next
                MessageBox.Show("在数据转移过程中,未有不符合基本审核限制的数据!!!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
            else
                For Each dr As datarow In datatables("调资基础数据").datarows
                    if dr("单位名称") = Val then
                        dr.locked = false
                    end if
                Next
                MessageBox.Show("在数据转移过程中,在原始数据中,存在不符合基本审核限制的数据,请仔细复核!!!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning)
                Forms("查看错误提示").Open()
            End if
        End If
    Else
        MessageBox.Show("请认真核对你选择单位的名称和性质,本窗口用于公务员(参公管理)性质单位的人员基础信息读入,你录入的是非公务员(参公管理)单位!!!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information)
    End If
End If
[此贴子已经被作者于2009-9-3 21:54:51编辑过]

 回到顶部