设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 4563|回复: 13
打印 上一主题 下一主题

[Access本身] 求助:录入窗体某字段值重复时(允许重复字段),如何判断并弹出提示

[复制链接]
跳转到指定楼层
1#
发表于 2009-1-15 15:09:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求助:录入窗体字段值重复时(允许重复字段),如何判断并弹出提示?

一个简单的人员档案表,ID是唯一的,但是"姓名"字段记录是允许重复的,
如何在录入"姓名"时,自动判断表中已有记录中有否相同的姓名值,如果有则弹出提示,并显示同名的记录(有可能多条),让操作员判断是否是同一个人,如果无则继续正常添加记录?

先谢谢了
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-1-15 15:17:20 | 只看该作者
在姓名控件更新前判断
3#
 楼主| 发表于 2009-1-15 15:25:13 | 只看该作者
版主在啊,先谢谢了
一直没理解应该是更新前还是更新后
判断的代码应该怎么写呢?
麻烦版主给个代码示例,需要我传例子也行
4#
发表于 2009-1-15 15:33:02 | 只看该作者
一直没理解应该是更新前还是更新后
应该是更新前,如果是更新后记录已经保存了。
你把例子传上来
5#
发表于 2009-1-15 16:33:00 | 只看该作者
更新前事件,用DLookup来判断
if  IsNull(DLookup("[ID]", "人员档案表", "[姓名] = '" & me.姓名 & "'")=False then
    msgbox "有重复"
end
6#
发表于 2009-1-15 16:56:29 | 只看该作者
上面的好像还出错呢。系统报是语法错误。

[ 本帖最后由 01ymym 于 2009-1-15 17:04 编辑 ]
7#
发表于 2009-1-15 17:50:39 | 只看该作者
if  IsNull(DLookup("[ID]", "人员档案表", "[姓名] = '" & me.姓名 & "'"))=False then
    msgbox "有重复"
end

[ 本帖最后由 WDLRCZT 于 2009-1-15 17:52 编辑 ]
8#
发表于 2009-1-15 20:34:22 | 只看该作者
用dcount性能相对要好点
9#
 楼主| 发表于 2009-1-16 15:07:40 | 只看该作者
不好意思,年前比较忙,昨天发完帖子临时有事情忙得没时间上来。
根据版主和WDLRCZT的提示,做了个例子
存在的问题:
1、ID是自动编号的,姓名字段也绑定,一旦输入姓名则记录自动保存
则调出人员同名记录后即使判断出和以前的记录是同一个人,这条错误的记录也已经保存了;
2、调出的人员子窗体好象不能筛选
3、个人感觉版主的DCOUNT也可以,只是不知道代码该怎么写,版主有心请帮我用DCOUNT写段代码,学习学习

请版主和高手更正下例子中的错误,谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
10#
发表于 2009-1-16 19:57:43 | 只看该作者
Private Sub 姓名_BeforeUpdate(Cancel As Integer)
    Dim Response
    If DCount("[人员ID]", "人员", "[姓名] = '" & Me.姓名 & "'") > 0 Then
        DoCmd.OpenForm "人员子窗体", acFormDS, , "[姓名] ='" & Me.姓名 & "'"
        Response = MsgBox("已经有名叫" & Me.姓名 & "的人员" & vbCrLf & "保存按OK,不保存按Cancel", _
                          vbOKCancel, "重复提示")
        If Response = vbCancel Then
            Cancel = True
            Me.姓名.Undo
        End If
        DoCmd.Close acForm, "人员子窗体"
    End If
End Sub
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-1 13:30 , Processed in 0.092382 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表