设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[模块/函数] 还是请教DLOOKUP应用问题,请路过朋友帮忙

[复制链接]
跳转到指定楼层
1#
发表于 2010-8-23 17:01:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请见附图和附件。
我的设计本意是“点击生成新业务”按钮后,先要判断表内是否已经存在这个“工作号”,如果已经存在则终止事件,不再追加记录。我用了DLOOKUP和DCOUNT2个函数,在确定语法没有错误的情况下,运行结果是不对的,DLOOKUP和DCOUNT都给了<>0的结果,其实表内并没有存在重复数据,应该是返回空值或者0的,我不晓得问题出在哪里,请高手帮忙指点下。

代码如下:
If Nz(DLookup("工作号", "[出口业务基本信息表]", "[工作号]]='" & Forms!新业务录入.工作号.Value & "'"), "") Is notnull Then
MsgBox ("工作号" & Me.工作号 & "已被使用")
End
end if

运行结果:即使表内没有存在重复的数据,还是提示“工作号已被使用”

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2010-8-23 17:08:26 | 只看该作者
可能是notnull使用不当
3#
发表于 2010-8-23 17:10:50 | 只看该作者
本帖最后由 todaynew 于 2010-8-23 17:14 编辑

notnull 这是你创造的吧?
此外工作号后面是不是多了半拉方括弧?
4#
 楼主| 发表于 2010-8-23 17:14:48 | 只看该作者
本帖最后由 Y9X 于 2010-8-23 17:17 编辑

IS NOT NULL也不行啊
<>0也不行啊,我都试过了
那个中括号去掉还是没影响运行结果
5#
发表于 2010-8-23 17:17:51 | 只看该作者
干吗放在错误处才判断?在"工作号"更新前不好吗?
if Dconut(""......)>0 then
   cancel=true
end if
6#
发表于 2010-8-23 17:18:23 | 只看该作者
If Nz(DLookup("工作号", "[出口业务基本信息表]", "[工作号]='" & Forms!新业务录入.工作号.Value & "'"), "") <> "" Then
把这句覆盖你原来的语句。
7#
 楼主| 发表于 2010-8-23 17:24:56 | 只看该作者
Todaynew,把<>0改称""就成功了,你的办法成功。
kelind的办法也成功了。不过不能放那里,是实际需要。
我明白了,nz()会把0值变成空格,怪不得IF判断不出来,如果使用DCOUNT应该判断>0而不是<>0,我又学到了,多谢2位,TKS
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 09:37 , Processed in 0.097594 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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