在MS访问中使用具有多个条件的If语句

时间:2015-02-22 14:19:12

标签: vba ms-access

我有一个名为" EmployeeHours"我有以下列:

Agent_Name Agent_Number Start_Date时间状态持续时间周团队

在州列中,我有"通话后#34;,"培训","午餐","茶歇"在这些"通话和培训之后"被视为工作时间,其他人是"非工作时间"。我想在此表中添加一列,用于识别工作和非工作时间。

我知道如何在Excel中执行此操作:我已使用IF OR条件完成此操作,但我在MS访问中遇到同样的问题时遇到了困难..

任何人都知道如何在MS访问中实现此IF OR Criteria并准备该列?

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

你可以做的事情并没有完全规范你的数据库,但仍然提供你正在寻找的功能是创建一个映射表,你将拥有不同的状态(“呼叫后”,“训练”......)和另一个领域,你将与工作/非工作时间相对应。

完成此操作后,您可以通过将两个表放在查询中并链接到“状态”字段来创建查询以计算“工作/非工作”对应关系。

如果您愿意,也可以利用这个机会创建一个表格“状态”,其中包含文本格式的不同状态和唯一标识的代理键(想想自动增量),并用当前表替换当前表中的值。这样你就无法确定数据库中的文本数量(更轻),如果你需要的话,你可以在一个地方而不是所有的地方更改描述。

答案 1 :(得分:3)

在存储的查询,表格计算列或表单控件中,您可以使用IIF()函数。

IIF([State]="After Call" OR [State]="Training", "Work hours", "Non work hours")