设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[模块/函数] [求助] if 语句执行半句,问题出在哪?

[复制链接]
跳转到指定楼层
1#
发表于 2010-8-18 17:31:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的这个句子,只会执行ELSE部分,前半部分不执行,请高手帮忙看看问题出在哪,多谢了!
会不会我这个条件用错了啊。。。

Dim a
Dim b, c As Long
a = Nz(DLookup("[工作号]", "[工作号表]", "[业务大类]=''"), "") '通过判断“工作号表”.[业务大类]字段是否为空来判断有没有空置的工作号
If a = 0 Then
b = DMax("工作号", "工作号表")  '如果a=0说明没有找到空的“业务大类”记录,判断没有空置的工作号,则生成一个最新的
c = b + 1
Me.工作号.Value = c
Else
b = DMin("工作号", "筛选空置的工作号供优先使用")    '如果有空置的工作号就到空记录表内去挑选一个最早的工作号先用
Me.工作号.Value = b
End If
End Sub

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2010-8-18 17:58:41 | 只看该作者
a = Nz(DLookup("[工作号]", "[工作号表]", "[业务大类]=''"), 0)
3#
 楼主| 发表于 2010-8-18 19:24:44 | 只看该作者
todaynew,我按照你的意思修改了后,IF A=0会执行了,可是ELSE又不执行了。
我的本意是想通过DLOOKUP返回的情况判断,DLOOKUP可能的结果是不止有一个空记录,所以我只能判断有没有找到,没找到生成新的,找到的话,到查询表内去挑一个用。
麻烦再看看,行不
4#
 楼主| 发表于 2010-8-18 20:08:40 | 只看该作者
上传实例,这样更直观。请各位前辈指导一下。

本帖子中包含更多资源

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

x
5#
发表于 2010-8-18 22:01:15 | 只看该作者
方法一:将“工作号表”的业务大类字段的默认值改为""
方法二:如不改“工作号表”的业务大类字段的默认值,则按如下改:
DLookup("工作号", "工作号表", "业务大类 Is Null")
6#
 楼主| 发表于 2010-8-18 22:31:14 | 只看该作者
多谢koutx,可是测试后还是不行啊
7#
发表于 2010-8-19 05:20:45 | 只看该作者
本帖最后由 todaynew 于 2010-8-19 05:23 编辑

If DCount("[工作号]", "[工作号表]") = 0 Then
    Me.工作号.Value = "0001"
Else
    If DCount("[工作号]", "[工作号表]", "nz([业务大类],'')=''") = 0 Then
        Me.工作号.Value = DMax("工作号", "工作号表") + 1
    Else
        Me.工作号.Value = DMin("[工作号]", "[工作号表]", "nz([业务大类],'')=''")
    End If
End If
8#
 楼主| 发表于 2010-8-19 09:06:20 | 只看该作者
回复 todaynew 的帖子

谢谢,todaynew。问题解决,我又学到了这种情况下dlookup和dcount的用法,谢谢。
5点就回帖,太感动了


   
9#
发表于 2010-8-19 11:41:00 | 只看该作者
回复 Y9X 的帖子
为了回你的帖子,一夜未眠。


   
10#
发表于 2010-8-19 11:51:04 | 只看该作者
老头一般都早睡早起!看看早上的公园就知道了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 09:40 , Processed in 0.089204 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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