Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

求二个打错数据跳出警告的代码

马山杨梅  发表于:2008-08-06 22:38:24  
复制

第一个:

在窗体上X和Y两个文本框一旦输入数据后(长整型数字,默认值0),就需要与另一个文本框A进行对比,条件是X+Y=A,如果不相符,则一定是刚才X或Y中有打错字,就在光标离开Y时立刻跳出警告,不改正前不让操作人继续往下操作,更不允许保存此条记录。

X=0,Y=0,   A=5,    正常不警告

X=5,Y=0,   A=5,    正常不警告

X=2,Y=3,   A=5,    正常不警告

X=2,Y=0,   A=5,    警告!

X=2,Y=2,   A=5,    警告! 

第二个:

在窗体上有一个不绑定文本框,其数值是通过窗体上的其他文本框相互计算而来的,一般不会超过 + 2.5%,如果超过了,就有可能是本条数据中有一个文本框的数字有打错了,就要在转入下一条数据前跳出一个提示。但只是提示一下,引起注意罢了,若操作人回头检查后各个数据都无误,则就是本批产品确实超标了,数据还是照常保存。按回车进入下一条。

 

请哪位朋友给我写二段完整的代码,完整得我只需剪下贴在我那窗体里就可以用的那种,谢谢了!

 

Top
蒋海兵 发表于:2008-08-07 08:26:27
现在的人真会偷懒,连问题都不知道问,直接让人家代劳了。无语中,即使知道也懒得说了

钱玉炜 发表于:2008-08-07 08:31:05

感觉用个判断语句就可以实现了啊

 



马山杨梅 发表于:2008-08-07 10:13:17
先接受2位老师的批评。本人从2001年开始学用Access就是为了偷懒,以前为了统计计算每个员工各种品种的定额工资,要费几天时间还要出错。后来自己学做了Access,半小时搞定。这些年小儿科的工作数据库做了几个都是为了偷懒,省得去写去算那些枯糙的数字。无奈一直学不会VBA,所有的东西都停留在查询与宏的层面,若有VBA语句也全是从别人的上面剪贴来的,自己根本不懂。站在新华书店书架前翻遍所有不是感觉深了就是浅了,再看见一堆英文就头疼,看来这辈子学不会了。上面这两个问题就是我现在用的一个数据库里的,我现在用的办法是几天后用查询搜索一遍,把打错字的记录挑出来再回去窗体改正。能用但不方便。所以才到论坛求助。

pc高手 发表于:2008-08-07 10:21:41

我给你一个实例吧, 按照你的要求写的, 完全符合你的严格要求!  但是, 也不可能粘贴解决问题 !!! 因为, 我用到了“字定义函数” 和 文本框属性的设置, 这些都是不能粘贴的。  你只能首先看懂我的意思, 才能逐步粘贴到你的数据库中。

 

如果, 只想粘贴过去, 那只能写简单的提示(根据你的计算要求)。 这样的话, 实际使用时不能满足你的需求(如果录错了, 就不允许用户跳离这个文本框), 只能仅仅是提示, 用户可以继续做别的工作。

 

这种用法在我的许多系统里频繁使用!!! 效果比较好! 用户不更正错误, 就是不让走人!

 

供参考!

 

点击下载此附件

马山杨梅 发表于:2008-08-07 13:35:16

谢谢park05老师,我将您的bas自定义函数模块直接导入我的数据库,并将Y文本框属性有效性规则内容复入我的“Y文本框”,只改掉3个中括号内的名称,嘿!还真管用。我这样做法对吗?但后来却发现一个问题,具体如下红色部分:

1.  X=0, Y=5,  A=5     正常不警告

2.  X=5, Y=0,  A=5     正常不警告

3.  X=2, Y=3,  A=5     正常不警告

4.  X=0, Y=4,  A=5     正常警告!

5.  X=2, Y=2,  A=5     正常警告!

6.  X=6, Y=0,  A=5     奇怪,不警告

我又将Y的有效性规则同样贴入X框后,则当X=0或已经=A时可以工作,但要输入X=2, Y=3,这种数据时就迈不过X这个框,无法输入Y。后来我又把您的实例绑定一个表,试试也是如此。我把这个例子回传上来,您再帮我改改,顺便帮我写一个前面第二个问题的代码语句在里面。麻烦您了!我确实不会,82年农村初中毕的业。英语还偷看从未考过及格。



马山杨梅 发表于:2008-08-07 13:35:35
pc高手 发表于:2008-08-07 15:50:11

6. 。。。。奇怪,不提示!

 

其实, 一点也不奇怪!!! 因为 Y 没有UPDATE , 就没有调用改事件, 没有执行程序。

到底如何提示, 或增加其他功能, 都需要你自己在实践中去补充和完善, 有多少需求都写在

XYA 函数里就行了!

 

X 里面如果加了这样的功能, 就不行了。 因为 Y 没有录入, 数据不完整,计算结果无意义。 锁住 X ,就没有意义了!

 

程序是永远没有尽头的完善!!!

 

我发去的程序虽然很小, 但是里面用了一些技巧, 很值得你们初学者借鉴, 模仿 和 举一反三。

 

既然进入了这个论坛, 就不能什么都让别人替你写代码。 别人只能给你一个提示或给你一个思路。 主要的代码还是需要自己来完成。

要学会“举一反三”,“照葫芦画瓢”。

 

第二个提示, 我没有给你写。 原因很简单: 就是问题本身太简单了, 太基础了, 你自己完全可以完成,不需要别人替你写! 就是一个判断句加一个 MSGBOX .  还是你自己来写吧! 有问题了, 再挂在网上让大家帮你忙, 解决错误问题!

 

你回传的文件, 我也不用看了! 就按我的思路,你自己动动脑筋就解决了!

 



马山杨梅 发表于:2008-08-07 16:51:35
谢谢您不厌其烦地给我帮助,看来我只能去学VBA编程了,只是不知何处有合适的老师或适合的自学书籍。再次对您说声谢谢!

总记录:8篇  页次:1/1 9 1 :