ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3768|回复: 8

[讨论] Access中的if公式怎么写

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-6-10 19:12 | 显示全部楼层 |阅读模式
请教各位达人:我现在Access中遇到一个问题,我们用ACCESS数据库计算存货的减值准备。
原先的公式是:SurplusReserve: [UnitCostForCalc]*[SurplusQty]*0.9714,此公式就是将0.98这个系数应用到所有的物料上。

现在我想达到的目的是按不同存货种类运用不用的系数来计算减值准备。我们的存货种类分2种,以valuation class(3000和3010)这个字段分类,valuation class 为3000的存货的系数假设是0.9714, valuation class 为3010的系数是0.5346。
那么这个公式我在access就写成是:
SurplusReserve: iif [Valuation Class]=3010 [UnitCostForCalc]*[SurplusQty]*.5346, otherwise [UnitCostForCalc]*[SurplusQty]*.9714
但是系统报错了,抱错信息请看附件,麻烦达人相助,万分感谢! Access error1.jpg


Access error2.jpg

TA的精华主题

TA的得分主题

发表于 2013-6-10 19:27 | 显示全部楼层
  1. SurplusReserve: iif ([Valuation Class]=3010, [UnitCostForCalc]*[SurplusQty]*.5346,[UnitCostForCalc]*[SurplusQty]*.9714)
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-6-10 19:38 | 显示全部楼层
本帖最后由 Lisa@cat 于 2013-6-10 19:39 编辑

Access error3.jpg 谢谢,可以run不出报告来,请看出错屏幕:

TA的精华主题

TA的得分主题

发表于 2013-6-10 21:14 | 显示全部楼层
Lisa@cat 发表于 2013-6-10 19:38
谢谢,可以run不出报告来,请看出错屏幕:

该查询可能有2个表连接,且Valuation Class字段分别为2个表的关键字,需要在该字段前加入一个表的名称。
如该表的名称为tblA,则
  1. SurplusReserve: iif (tblA.[Valuation Class]=3010, [UnitCostForCalc]*[SurplusQty]*.5346,[UnitCostForCalc]*[SurplusQty]*.9714)
复制代码
建议以后送上附件!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-6-10 21:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 Lisa@cat 于 2013-6-10 22:29 编辑

马上,谢谢!【华为网盘】 13Q2 EB Surplus Reserve (2)-24mos.zip
华为网盘附件:
【华为网盘】 13Q2 EB Surplus Reserve (2)-24mos.zip

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-6-10 22:30 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 Lisa@cat 于 2013-6-10 22:37 编辑

EH上传不上来呢,怎么办?

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-6-10 22:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 Lisa@cat 于 2013-6-10 23:02 编辑
ly 发表于 2013-6-10 21:14
该查询可能有2个表连接,且Valuation Class字段分别为2个表的关键字,需要在该字段前加入一个表的名称。
...


加了文件名,Inventory. 但是计算结果是:error,能否再帮我看下吗?谢谢!

Access error4.jpg
Access error4.jpg

TA的精华主题

TA的得分主题

发表于 2013-6-11 06:17 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Lisa@cat 发表于 2013-6-10 22:59
加了文件名,Inventory. 但是计算结果是:error,能否再帮我看下吗?谢谢!

还有个问题是,Valuation Class字段是文本的话,则引用的值需要""。
  1. SurplusReserve: iif (Inventory.[Valuation Class]="3010", [UnitCostForCalc]*[SurplusQty]*.5346,[UnitCostForCalc]*[SurplusQty]*.9714)
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-6-11 08:02 | 显示全部楼层
ly 发表于 2013-6-11 06:17
还有个问题是,Valuation Class字段是文本的话,则引用的值需要""。

hi,谢谢,已经解决。准备校验数据的准确性!

再次感谢
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 00:08 , Processed in 0.034341 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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