【问题标题】:referring to last value of a column as default in a form in Microsoft Access 2010在 Microsoft Access 2010 的表单中引用列的最后一个值作为默认值
【发布时间】:2021-01-18 17:45:29
【问题描述】:

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

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

我尝试在表单设计工具 --> 设计 --> 属性表 --> 数据 --> 默认值中为“来自”文本框添加默认值(例如通过选择最小值或最大值“to”列默认为 =Min([rawDataTimeInMotion]![to])=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


    【解决方案1】:

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

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

    【讨论】:

    • 您好 Gustav,感谢您抽出宝贵时间查看我的问题。我在表单设计工具 --> 设计 --> 属性表 --> 事件 --> 更新后输入了rawDataTimeInMotion![from].DefaultValue = "#" & Format(rawDataTimeInMotion![to].Value, "yyyy\/mm\/dd hh\:nn\:ss") & "#"。转到布局视图中的新(空白)记录时,“发件人”仍然为空。我还将上面的行输入到 Form Design Tools --> Design --> Property Sheet --> Event --> Before Update 中,效果相同。将=[rawDataTimeInMotion]![to].[Value] 添加到属性表 --> 数据 --> 默认值只返回“#Name?”。
    • rawDataTimeInMotion 是包含运动数据时间的表格
    • 1) 使用我发布和解释的代码。 2) 在您创建或修改记录之前,不会设置默认值。
    • 我将Me![From].DefaultValue = "#" & Format(Me![To].Value, "yyyy\/mm\/dd hh\:nn\:ss") & "#" 复制并粘贴到上述更新后事件中。基础表中有很多记录,不幸的是布局视图中的“来自”文本框仍然是空的。根据Me![from].DefaultValue = "#" & Format(Me![to].Value, "yyyy\/mm\/dd hh\:nn\:ss") & "#" 更改列名的大写字母也没有帮助。
    • 请记住,它只会出现在记录中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-27
    相关资源
    最近更新 更多