关于access中iif函数的基本用法

2020-11-22 17:16:04 字数 3672 阅读 8641

1楼:

iif(公司="1",发票金额*15,"") as 日元金额!

因为发票金额是数字,所以不应该加双引号,加了双引号就变成文本型的,而文本型是不能参与计算的,而"公司=1"的那个1就应该加双引号表示引用这个文本值!

这个表达已经在access里面测试通过!

关于access中iif函数的问题

2楼:匿名用户

试试这样吧

切换到sql视图这样

select姓名,iif(性别='男','先生','小姐')as称谓from学生简况表

access中关于iif函数的使用疑问

3楼:匿名用户

有可能。你把公司名改成字符串试试 如test

4楼:

公司名的格式不对吧。isnull(【公司名】)试试。

5楼:

格式有问题!

在access查询里面,字段名称像你的"公司名"是不用中括号的,还有你的那个计算字段也不对,不用引号,因为引号表示引用文本值,而文本是不可以用来计算的!

所以正确的写法应该是:iif(公司名="1","",金额*15) as 新金额

已经测试通过!

access中的iif函数的使用问题

6楼:懒虫

分成二步来完成,即先取出select top 1 cardkind from mem_members的值,然后再执行update

1、在access中用宏来完成。

2、在其它的专编程调用环境中,可以属先赋值给变量,然后再传入update语句

另外你外部的iif根本就不起作用,iif(***<>'次卡',-1,0)>0恒不成立,因为iif(***<>'次卡',-1,0)的取值范围为-1, 0 恒不大于0,所以无论如何,你的最终表达式的结果都是-1

access 中的iif使用

7楼:匿名用户

可以这样写4层嵌套iif函数表达式:

iif(isnull(bss项目编号) andisnull(固网项目编码),"bss和固网项目均为空",iif(isnull(bss项目编号) and not isnull(固网项目编码),"新建工程无bss号",iif(notisnull(bss项目编号) andisnull(固网项目编码),"开户无bss编号",iif(bss项目编号=固网项目编码,"匹配成功","项目乱挂"))))

写成sql查询语句:

selectbss项目编号,固网项目编码,

iif(isnull(bss项目编号)andisnull(固网项目编码),'bss和固网项目均为空',

iif(isnull(bss项目编号)andnotisnull(固网项目编码),'新建工程无bss号',

iif(notisnull(bss项目编号)andisnull(固网项目编码),'开户无bss编号',

iif(bss项目编号=固网项目编码,'匹配成功','项目乱挂'))))

as项目使用情况from表名;

楼主要求[固网项目编码]的值为空那么输出的值为“开户无bss编号”,我觉得似乎不太准确,判断为“无固网项目编码”也许更准确;

另外还存在[bss项目编号]和[固网项目编码]两项同时为空的情况,提问里并未提及,但是表达式必须考虑这种情况存在的可能,因此我在上述表达式里也做了相应判断。

access中的iif()函数在sql server中是什么?

8楼:匿名用户

iif 函数

[ 2006-12-26 12:09:00 | by: qcjxberin ]

示例根据表达式的值,来返回两部分中的其中一个。

语法iif(expr, truepart, falsepart)

iif 函数的语法含有下面这些命名参数:

部分 描述

expr 必要参数。用来判断真伪的表达式。

truepart 必要参数。如果 expr 为 true,则返回这部分的值或表达式。

falsepart 必要参数。如果 expr 为 false,则返回这部分的值或表达式。

说明由于 iif 会计算 truepart 和 falsepart,虽然它只返回其中的一个。因此要注意到这个***。例如,如果 falsepart 产生一个被零除错误,那么程序就会发生错误,即使 expr 为 true。

iif 函数示例本示例使用 iif 函数来判断 checkit 过程之 testme 参数的值,如果参数值大于 1000 则传回“large”;否则传回“小图标”。

checkit (testme as integer) checkit = iif(testme > 1000, "large", "**all")end

相关基础知识:

表达式关键字、运算符、变量、字符串常数、数字或对象的组合。表达式可用来执行运算、操作字符或测试数据。

命名参数

一参数,在对象库中预先定义了其名称。对每个参数,不必拘泥于语法所规定的特定顺序来提供值,而是只需按任何顺序用命名参数分配值。例如,假设一方法接受了三个参数:

dosomething namedarg1, namedarg2, namedarg3

在对命名参数赋值时,可使用以下语句:

dosomething namedarg3 := 4, namedarg2 := 5, namedarg1 := 20

注意,命名的参数不必按语法中安排的正规顺序出现。

请问关于access中iif函数的问题:

9楼:机智的小白

是不是因为引号的问题,一般加引号是说明里面是字符串的,aceess不太懂,只是给个建议,希望能够帮到你

10楼:解0人

select iif(条件,1-1,1+1) as *** from tablename...

access中iif函数套用时间函数的问题

11楼:匿名用户

楼主的表达式“iif([机加完成]=-1,now(),null)”在语法上完全正确、没有问题,按理是可以实现的。在access里该表达式运行不成功,应该受到其他原因影响所致。导致不成功的原因很多,这里很难一一列举。

请告知该表达式使用的环境(例如窗体还是查询里等等)、报错提示信息等,以便做进一步分析。

access 查询语句 iif怎么返回值?

12楼:匿名用户

1、iif严格说是一个函数。

2、该函数格式为:iif(条件

表达式,表达式1,表达式2)。

3、该函数运算方法:当条件表达式为真时,表达式1的值作为函数返回值;当条件表达式为假时,表达式2的值作为函数返回值。

4、举例说明:iif(3>5,5+3,5-3),由于3>5结果为假,所以返回5-3的值,即为2。

13楼:匿名用户

access中的iif其实就是if一样的效果只是iif用在查询中,而if用于**中

iif格式

iif(表达式为真,执行真,执行假)

比如iif(1=1,2,3) 返回值为2,因为1=1为真