首页 > 解决方案 > 在 Microsoft Access 2010 的表单中引用列的最后一个值作为默认值

问题描述

我正在尝试使用 Access 2010 在工作中构建运动跟踪器时间,并rawDataTimeInMotion使用以下列名称填充相应的表(命名为 ):“from”(格式化日期和时间)、“to”(格式化日期和时间)、 “类别”(格式文本)、“位置”(格式文本)和“评论”(格式备忘录)。我使用 Access(而不是像 toggl.com 这样的在线工具)的原因是允许记录潜在的机密信息。

为了简化数据输入,我为上面的每一列创建了一个带有文本框的表单。我想在“发件人”文本框(绑定到上面的“发件人”列)中引用“收件人”列中的最新条目作为默认值。

我尝试在表单设计工具 --> 设计 --> 属性表 --> 数据 --> 默认值中为“从”文本框添加默认值(例如,通过选择“到”的最小值或最大值" 列默认使用=Min([rawDataTimeInMotion]![to])or =Max([rawDataTimeInMotion]![to])),但是在添加新记录时这只返回 "30/12/1899 00:00" (这对我没有意义)。

我还在https://www.access-programmers.co.uk/forums/threads/setting-the-default-value-to-the-last-used-value.279442/中搜索并尝试指导,但没有成功(新记录的默认值保持为空)。

有没有不使用 Visual Basic 的解决方案?

标签: ms-access

解决方案


使用表单的AfterUpdate事件将 DefaultValue 属性设置为日期值的文本表达式

Me![From].DefaultValue = "#" & Format(Me![To].Value, "yyyy\/mm\/dd hh\:nn\:ss") & "#"

推荐阅读