设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[模块/函数] dcount函数能设定两个条件吗

[复制链接]
跳转到指定楼层
1#
发表于 2010-5-4 16:28:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想在录入住宿数据时,当某宾馆中的某个区域超过额定的人数时即给予提示,例如,“明星宾馆”中的“A”片区域入宿人数超过2人即提示,但运行时提示“类型不匹配”。在“DCount("id", "入住表", "片号=" & Me.片号 And "宾馆名称=" & Me.宾馆名称)”语句中,“ID”、“片号”、“宾馆名称”三字段均是数字型,为何会出现错误提示?
如果将“DCount("id", "入住表", "片号=" & Me.片号 And "宾馆名称=" & Me.宾馆名称)”语句中的“ And "宾馆名称=" & Me.宾馆名称”去掉就不会有错误提示,是不是用于设定两个条件的AND语句有问题?盼高手指教。

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2010-5-4 20:32:43 | 只看该作者
And 也是表达式的一部分,应该这样:
DCount("id", "入住表", "片号=" & Me.片号 " And 宾馆名称=" & Me.宾馆名称)
3#
 楼主| 发表于 2010-5-4 21:17:59 | 只看该作者
谢谢小宝版主指教!按你的办法,仍不能正确运行,如何修改?

点击这里给我发消息

4#
发表于 2010-5-4 21:39:30 | 只看该作者
少了一个 & ,再试试:
DCount("id", "入住表", "片号=" & Me.片号 & " And 宾馆名称=" & Me.宾馆名称)
5#
 楼主| 发表于 2010-5-5 09:37:31 | 只看该作者
本帖最后由 ycxchen 于 2010-5-5 09:39 编辑

行了,小宝版主就是版主,高水平!还想请教一个问题,下面的清空代码为何不能执行?
Private Sub 片号_BeforeUpdate(Cancel As Integer)
Dim Jylou As Integer
Dim Xianlang As Integer
Jylou = DCount("id", "入住表", "片号=" & Me.片号 & " And 宾馆名称=" & Me.宾馆名称)

Xianlang = DLookup("名额", "名额表", "区号=" & Me.片号 & " And 宾馆名称=" & Me.宾馆名称)

If Jylou <= Xianlang Then
MsgBox "该区号还没有住满人!", vbInformation + vbOKOnly, Me.Caption

Else
MsgBox "该区号已经住满人,请选择别的区号!", vbInformation + vbOKOnly, Me.Caption
Cancel = True
Me.片号 = ""   为何此句不能运行?

End If

点击这里给我发消息

6#
发表于 2010-5-6 13:04:45 | 只看该作者
Me.片号 = ""   为何此句不能运行?

""是空字符串,该字段是数字类型,不能赋予字符串类型的值,但可以使它等于空值:Me.片号 = Null
7#
 楼主| 发表于 2010-5-7 09:11:51 | 只看该作者
十分多谢小宝版主!其实,我也试过6楼的办法了,是不行的,如何办?

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-11-17 22:47 , Processed in 0.092634 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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