设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 4587|回复: 10
打印 上一主题 下一主题

[ADO/DAO] 判断重复值

[复制链接]
跳转到指定楼层
1#
发表于 2013-11-26 10:59:58 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
在排单窗体输入排单批次值PlanBath时,对记录进行检查,判断同一天同一台机不能重复PlanBath值的输入。下面的代码放在PlanBath 更新后事件里。发现会出错,有时候不能检查出同一天同一台机已经输入同样的PlanBath值,没有反应。请高手帮忙看看那里的问题?谢谢!

排单顺序: PB01 => PB02 => PB03 => PB04   同一天DyelotDate同一台机MachineName不能重复PlanBath值的输入。

Private Sub PlanBath_AfterUpdate()
Dim rs As New ADODB.Recordset
rs.Open "SELECT Tbl_DyeHistory.DyelotDate, Tbl_DyeHistory.MachineName, Tbl_DyeHistory.PlanBath FROM Tbl_DyeHistory WHERE Tbl_DyeHistory.DyelotDate=# " & Me.DyelotDate.Value & " # ", CurrentProject.Connection, adOpenStatic, adLockReadOnly
Do While Not rs.EOF
  If rs.RecordCount > 0 Then
    If Me.MachineName.Value = rs("MachineName") And Me.PlanBath.Value = rs("PlanBath") Then
       MsgBox "系统检测到当天" & Me.MachineName.Value & " 机台的这个" & Me.PlanBath.Value & " 已经存在," & "请核对后重新输入新的PlanBath ", vbInformation, "提示重复"
       Me.PlanBath = Null
       Me.PlanBath.SetFocus
    Exit Sub
  Else
    End If
  End If
rs.MoveNext
Loop
End Sub
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2013-11-28 13:33:11 | 显示全部楼层
先谢谢 smilingkiss 和 todaynew 。我改用你们的代码测试发现也不行。同一天同一机台已经输入这个PlanBath值了,第一次输入PlanBath值可以判断出来重复,再次重复输入后不会判断,没反应。请大家再帮忙看看。图片如下:

本帖子中包含更多资源

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

x
3#
 楼主| 发表于 2013-11-28 14:11:29 | 显示全部楼层
也先谢谢 Henry D. Sy。刚刚我把上面三段代码分别放在更新前事件里测试,结果也不行。问题同样。请大家再帮忙看看。谢谢!{:soso_e100:}
4#
 楼主| 发表于 2013-12-6 14:59:08 | 显示全部楼层
先谢谢大家回复。这两天反复测试,结果也是有时候不能检查出同一天同一台机已经输入同样的PlanBath值,没有反应。先上传附件,请高手帮忙看看如何写代码?附件里更新后判断的代码已经删除的。谢谢!操作如下:
1.打开窗体F_Tbl_DyeHistory_Sch
2.选择BathID下拉框中任意一条BathID。
3.Weight(g)随便输入数值,
4.MachineName 请选择BD01
5.PlanBath 请选择PB01或者PB02,( 需要您添加更新后判断的代码 )

本帖子中包含更多资源

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

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-15 15:12 , Processed in 0.114433 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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