设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

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

我想到用此方法:

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

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

我发现表设计视图中有有效性规则,窗体中也有,应该在哪里限制应该怎么设置阿,急啊,望大虾相救,谢谢。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
17#
发表于 2006-12-26 20:54:00 | 只看该作者
恭喜你,发现了新大陆
16#
 楼主| 发表于 2006-12-26 20:50:00 | 只看该作者
以下是引用一点通在2006-12-26 8:51:00的发言:





这本来不是在一楼的原意,原意是限定输入三位小数而并不是显示三位小数,害得每人都为你出主意呢,四楼早就解决你的问题了,你这样设定是不能限定输入负数的

这位大哥没仔细看截图,截图中有两个选项

“小数位数”=3  控制显示

“数值范围”=3  控制小数点后可储存的最大位数,这个才是关键

至于那个非负应该很简单,在有效性里填>=0就行了

不过还是要谢谢各位了!

15#
发表于 2006-12-26 16:51:00 | 只看该作者
以下是引用boogieboy在2006-12-25 23:34:00的发言:


最终我的解决方法:

[em07]


字段大小改为小数

数值范围选为3,即不管你输多少位我只存3位

效果:输3.345943434  截为3.345

把有效性判断的问题绕过去了,哈哈



这本来不是在一楼的原意,原意是限定输入三位小数而并不是显示三位小数,害得每人都为你出主意呢,四楼早就解决你的问题了,你这样设定是不能限定输入负数的

[此贴子已经被作者于2006-12-26 8:53:48编辑过]

14#
 楼主| 发表于 2006-12-26 07:34:00 | 只看该作者
最终我的解决方法:



[em07]


字段大小改为小数

数值范围选为3,即不管你输多少位我只存3位

效果:输3.345943434  截为3.345

把有效性判断的问题绕过去了,哈哈

本帖子中包含更多资源

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

x
13#
 楼主| 发表于 2006-12-26 07:18:00 | 只看该作者
以下是引用一点通在2006-12-25 17:03:00的发言:


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

输入2位正数以上出错

不明白错在哪里了,不过试了一下确实有问题

[此贴子已经被作者于2006-12-25 23:19:24编辑过]

12#
发表于 2006-12-26 02:19:00 | 只看该作者
试试有效性规则设为:a<0 or int(a*1000)<a*1000

[此贴子已经被作者于2006-12-25 18:37:49编辑过]

11#
发表于 2006-12-26 01:43:00 | 只看该作者
测试了一下,好怪!以下的都能输入,就是输不了555.555,555.55,

5.5

5.55

5.555

55.555

555.5

5555.5

55555.5

555555.5

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

输入2位正数以上出错
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位小数的正数!

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

本版积分规则

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

GMT+8, 2025-1-10 20:02 , Processed in 0.109855 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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