设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[与其它组件] 急救,怎么限定这个有效性规则阿?

[复制链接]
跳转到指定楼层
1#
发表于 2006-12-25 21:17:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
需要限定输入的是最多3位小数的非负值。

我想到用此方法:

(x-fix(x))*1000<=999 即原来的数-原来的数取整数部分 再乘以1000要小于999

但是,在access中具体怎么写代码阿?

我发现表设计视图中有有效性规则,窗体中也有,应该在哪里限制应该怎么设置阿,急啊,望大虾相救,谢谢。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-12-25 21:23:00 | 只看该作者
有效性规则应该作不到.在更新前事件中到是可以加以判断

3#
 楼主| 发表于 2006-12-25 21:31:00 | 只看该作者
应改怎么写代码阿?
4#
发表于 2006-12-25 21:33:00 | 只看该作者
格式:0.000

有效性规则:>=0

有效性文本:不能输入负数
5#
发表于 2006-12-25 21:35:00 | 只看该作者
格式:0.000 只是用来显示的[em01]
6#
发表于 2006-12-25 22:14:00 | 只看该作者
楼上的正解,0.000只是显示出来时3位小数而已,输入4位小数还是会纪录4位小数的
7#
发表于 2006-12-25 23:21:00 | 只看该作者
如果要一定限制只能输入三位数,可以这样

有限性规则:IIf([数量]>=0,Len(Mid([数量],InStr([数量],".")+1)))<4

问题是如果没有输入小数的话还要进行判断

[此贴子已经被作者于2006-12-25 17:00:54编辑过]

8#
发表于 2006-12-25 23:36:00 | 只看该作者
例如用户通过窗体上一个叫金额的文本框进行输入,在这个文本框的更新前事件加入以下代码就可以强制用户只能输入符合要求的数字了:

If me.金额>=0 and Len(Me.金额 - Fix(Me.金额)) > 4 Then
MsgBox "只能输入最多3位小数的正数!"
Cancel = True
End If

9#
发表于 2006-12-26 00:24:00 | 只看该作者
哈,这个问题我懂,我来详细解释一下:

楼主的原来规则(x-fix(x))*1000<=999是行不通的,假设X=3.3333,(3.3333-3)*1000=0.3333*1000=333.3<=999

用Instr函数找小数点位置当然还要判断是否输入小数了

这是一个判断输入的数字有多少位小数的问题,将整数部分切掉,判断小数部分的长度即可,楼上的方法是正解!但是判断条件错了,应该是

If me.金额<=0 or Len(Me.金额 - Fix(Me.金额)) > 4 Then





楼主不用代码的话可以直接在有效性规则中输入:  >=0 And Len([金额]-Fix([金额]))<5

有效性文本中输入:只能输入最多3位小数的正数!

10#
发表于 2006-12-26 01:03:00 | 只看该作者
楼主不用代码的话可以直接在有效性规则中输入:  >=0 And Len([金额]-Fix([金额]))<5

输入2位正数以上出错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-14 15:14 , Processed in 0.090621 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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