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


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

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

帅哥哟,离线,有人找我吗?
雨中的泪
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1432 积分:9061 威望:0 精华:0 注册:2009/8/19 8:19:00
  发帖心情 Post By:2009/9/3 10:54:00 [只看该作者]

如何改?谢谢

 回到顶部
美女呀,离线,留言给我吧!
yangming
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/9/3 10:59:00 [只看该作者]

以下是引用雨中的泪在2009-9-3 10:54:00的发言:
如何改?谢谢

你用20楼的代码试试啊,我不是已改过了吗


 回到顶部
帅哥哟,离线,有人找我吗?
雨中的泪
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1432 积分:9061 威望:0 精华:0 注册:2009/8/19 8:19:00
  发帖心情 Post By:2009/9/3 11:03:00 [只看该作者]

 

Dim Val As string

Val= 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

Forms("删除指定单位数据").Open()

Else

Return

End if

  Else

dim f As New Filler

 f.SourceTable = DataTables("人事工资管理") '指定数据来源

f.SourceCols = "序号,单位名称,姓名,身份证号,性别,出生时间,参加工作时间,职务" '指定数据来源列

f.DataTable = DataTables("调资基础数据") '指定数据接收表

f.DataCols = "序号,单位名称,姓名,身份证号,性别,出生时间,参加工作时间,职务" '指定数据接收列

f.ExcludeExistValue = "true"

f.ExcludeNullValue = "true"

With e.Form.Controls("单位名称")

    If .Value IsNot Nothing Then

        f.Filter= "[单位名称]= '" & .Value & "'"

Else

End If

End With

f.Distinct = false

f.Fill() '填充数据

DataTables("调资基础数据").DeleteFor("[姓名] Is Null OR [身份证号] Is Null")

MessageBox.Show("原始数据已经读入完成!!!", "提示")

DataTables("审核").DataRows.Clear()

dim ff As New Filler

ff.SourceTable = DataTables("调资基础数据") '指定数据来源

ff.DataTable = DataTables("审核") '指定数据接收表

ff.ExcludeExistValue = true

ff.ExcludeNullValue = true

f.Distinct = false

ff.Fill() '填充数据

For Each dr As DataRow In DataTables("审核").DataRows

     dr("审核")=""

With Tables("审核")

    .Filter = ""

    .Select(.RowSel,.cols("身份证号").Index)

    Syscmd.Filter.ShowSameValues

    For Each r As Row In .Rows

        r("审核") = "身份证号码重复,请核实!!!"

    Next 

      .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

DataTables("审核").DeleteFor("[审核] Is Null ")

if DataTables("审核").DataRows.Count = 0 Then

MessageBox.Show("在数据转移过程中,未有不符合基本审核限制的数据!!!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)

Dim Q As  String

Q = e.Form.Controls("单位名称").Value

if Q = "" then   

Return       '终止代码的执行

Else

For Each dr As datarow In datatables("调资基础数据").datarows

if dr("单位名称") = Q then

   dr.locked = true

end if

Next

End if

Return       '终止代码的执行

else

MessageBox.Show("在数据转移过程中,在原始数据中,存在不符合基本审核限制的数据,请仔细复核!!!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning)

Dim Q As  String

Q = e.Form.Controls("单位名称").Value

if Q = "" then   

Return       '终止代码的执行

Else

For Each dr As datarow In datatables("调资基础数据").datarows

if dr("单位名称") = Q then

   dr.locked = true

end if

Next

End if

Dim frm As WinForm.Form

frm = Forms("查看错误提示")

frm.Open()

End If

End If

Else

MessageBox.Show("请认真核对你选择单位的名称和性质,本窗口用于公务员(参公管理)性质单位的人员基础信息读入,你录入的是非公务员(参公管理)单位!!!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information)

  End If

End If


 回到顶部
帅哥哟,离线,有人找我吗?
雨中的泪
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1432 积分:9061 威望:0 精华:0 注册:2009/8/19 8:19:00
  发帖心情 Post By:2009/9/3 11:04:00 [只看该作者]

视过了,不行

 回到顶部
帅哥哟,离线,有人找我吗?
雨中的泪
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1432 积分:9061 威望:0 精华:0 注册:2009/8/19 8:19:00
  发帖心情 Post By:2009/9/3 11:05:00 [只看该作者]

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


 回到顶部
美女呀,离线,留言给我吧!
yangming
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/9/3 11:15:00 [只看该作者]

看你的代码,头都大了,呵呵

 回到顶部
帅哥哟,离线,有人找我吗?
雨中的泪
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1432 积分:9061 威望:0 精华:0 注册:2009/8/19 8:19:00
  发帖心情 Post By:2009/9/3 11:15:00 [只看该作者]

图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
雨中的泪
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1432 积分:9061 威望:0 精华:0 注册:2009/8/19 8:19:00
  发帖心情 Post By:2009/9/3 11:35:00 [只看该作者]

版主帮忙看看!!!xiexie

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


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

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

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望: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编辑过]

 回到顶部
总数 30 上一页 1 2 3