MS Access - Dlookup根据另一个表的内容设置字段值

时间:2017-05-07 02:42:14

标签: ms-access lookup

我是Access的新手。 我有两张桌子。 第一个叫做日期 - 它有3列(除了键):

从日期(例如2017年7月1日)

迄今(例如2017年9月30日)

期间(例如2017-2018 Q1)

第二个表名为费用,它有很多列,其中两列是费用日期期间

费用日期由用户输入。

我想通过基于费用日期日期表中的DLookup功能来填充期间,例如(使用Excel语法)

`DLOOKUP(["From Date":"To Date","Expense Date","Period")`

我假设这个函数需要在Expenses设计视图的Lookup选项卡下的Row Source中编写。

是否有人能够告诉我Access的正确语法是什么以及我应该在哪里编写所需的函数?

2 个答案:

答案 0 :(得分:0)

不,你不会在RowSource中使用DLookup。您将使用SQL语句。

DLookup()表达式可以在文本框的ControlSource属性中使用,也可以在查询设计视图的Field单元格中使用。

在这种情况下,表达式为:

DLookup("Period", "Dates", "#" & [Expense Date] & "# BETWEEN [From Date] AND [To Date]")

如果您使用国际日期,请查看http://allenbrowne.com/ser-36.html。可能需要古斯塔夫关于格式化数据的建议。

请参阅访问帮助或Google搜索,详细了解域聚合功能。

建议名称中没有空格或标点符号/特殊字符(仅限下划线异常)。

答案 1 :(得分:0)

如果您有一个绑定到表费用的表单,您将使用绑定到字段费用日期的文本框的 AfterUpdate 事件(此处名为TextExpenseDate):

scaleMode