Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-教程

【access小品】巧用逻辑表达式和逻辑值

时 间:2011-09-05 14:39:14
作 者:煮江品茶   ID:10802  城市:武汉
摘 要:巧用逻辑表达式和逻辑值
正 文:

    逻辑值在编程中非常有用,在很多情况下巧妙的利用逻辑值可以简化算法。逻辑值可以是一个逻辑表达式的结果,构造表达式和运用表达式的结果是两个有着密切联系的环节,同时要知道这两个环节各自的侧重面和角度是不同的。如果能经常的从结果的运用来考虑问题,逻辑表达式(包括其他类型的表达式)就可以简化。以下的示例想要说明的上述的问题,希望初学者能从中琢磨出点东西来。


一、利用逻辑值True的特性计算平均值问题:


版友wanghuaiqi1005问题:
查询表中6个字段:S、a、b、c、d、e,S为数量,其它为具体人员。S数量按照比例给人员分配,当其中一个字段为空时,其分配的数量平均分给其它四人。

 

老汉版主解法:
select *,S/(5+(a is null+b is null+c is null+d is null+e is null)) as 平均值 from tbname

 

二、利用逻辑表达式排序问题:


版友Lee问题:
在SQL中我已用“ORDER BY 供应商”进行了排序,结果虽然能把名称相同的供应商排列在一起,但我想把所有“XX部”的供应商先排列在一起(例如图中的五金部和注塑部),然后才把其它不是XX部的再进行排序,不知能否这样呢?语句应怎样写?

 

老汉版主解法:
select * from tbname orDER BY Right(供应商,1)="部",供应商

 

三、用逻辑表达式的结果得到一个查询字段值


版友徐弈问题:
查询表中qry_tjlygmx,字段pphgr除以字段PPH值大于1为真,反之为假,此条件应该怎么操作,请各位教师指点!!

 

老汉版主解法:
select *,[pphgr]/[pph]>1 as 判断 from tbname

 

四、用逻辑值分区域显示记录


版友白桦林问题:

我的ACCESS中有两个结构完全相同的表:表1(未成年)和表2(成年),其中都有字段[出生日期]。如何实现在我打开该数据库时,根据系统日期判断表1中的人是否满18岁;如何满18岁,将表1中的满18岁的人的记录字段复制到表2中,同时删除表1中的该记录。

 

老汉版主解法:
select *,DateDiff("yyyy",出生日期,Date())=>18 as 成年否 from tbname order By DateDiff("yyyy",出生日期,Date())=>18

 



Access软件网官方交流QQ群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助