Access交流中心

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

请帮我看看这个表达式哪儿错了

马山杨梅  发表于:2008-09-23 22:10:31  
复制

一个表有6个字段
A      B     C         a     b     c


后面三个小写abc字段的数据要么=对应的大写字段内的数据,要么=它自己设定的默认值。于是我在表的有效性规则里写入如下表达式,试图相互牵制前后的数据强行保持一致。
[a] = [A] or [a] =  a的默认值  And  [b] = [B] or [B] =  b的默认值  And  [c] = [C] or [c] =  c的默认值
但不起作用。   可我把表达式缩短成其中一段,那一对字段倒能正常牵制,如[a] = [A] or [a] =  a的默认值,加了 And  [b] = [B] or [B] =  b的默认值 还是只有其中一对起限制作用,再加了 And  [c] = [C] or [c] =  c的默认值,干脆3对都不起作用了,我想请教高手我这个表达式哪儿错了。谢谢。

 

Top
符鸿敏 发表于:2008-09-24 21:40:59
如果情形完全如楼主所述,使用 A      B     C     a     b     c  6个字母作字段名称,我觉得不太合适,应该将后面的a b c换成d e f 或其它名称.可避免程序执行过程的辨识不清.

马山杨梅 发表于:2008-09-24 22:01:13
我为了尽量让大家看懂才这么写的,我现在把我做的试样给大家看,如果这条思路行得通,其实很实用的。点击下载此附件

马山杨梅 发表于:2008-09-25 15:18:07
多谢大家的关注,我自己已经把这个表达式改好了,其实只要在每个字段的表述上加上括号,如下:
([a] = [A] or [a] =  a的默认值) And ([b] = [B] or [B] =  b的默认值) And ( [c] = [C] or [c] =  c的默认值)
当我们把前面大写的字段做成窗体进行数据输入,后面小写字段放在后台。当需要将某几条记录在窗体上锁死,不让人有意无意修改时,只要用更新查询把前面字段的数据复制到右边对应字段。简单又可靠。现在我把做的演示效果的简例传上来,给今后有和我类似需求的人参考。
点击下载此附件

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