【问题标题】:Setting Form Field to autopopulate with previous record entry for text, date, and combo box将表单字段设置为自动填充文本、日期和组合框的先前记录条目
【发布时间】:2021-10-30 10:11:24
【问题描述】:

我对大多数 vba 编码还是很陌生。我正在尝试做与这篇文章几乎完全相同的事情: Microsoft Access Form Setting Default Value to Previous Entry for Both Text Boxes and Drop Down Lists 但它似乎对我没有任何作用。我想通过按钮Autofill_Click()

用上一条记录的数据填充表单中的每个字段
Private Sub Autofill_Click()

    Me!DateTimeID.DefaultValue = Me![DateTimeID].Value
    Me.frmDate.DefaultValue = "#" & Me.frmDate & "#"
    Me.Location.DefaultValue = "'" & Me.Location & "'"
    
End Sub

我收到错误代码“类型不匹配”与 DateTimeID 的第一行,以及错误代码“. 或 ! 运算符或无效括号的使用无效。”对于带有 frmDate 的第二行。第三行甚至没有抛出错误代码,但它没有用我想要的内容填充所需的字段(或任何字段)。

任何帮助将不胜感激。

【问题讨论】:

  • 尝试将第一行更改为Me.DateTimeID.DefaultValue = Me.DateTimeID.Value,看看是否有任何改变。第一个错误通常会导致其他错误,因此我通常主要关注它。
  • 如果 frmDate 是一个表单,表单没有 DefaultValue。在通过输入新记录的任何控件启动记录编辑之前,不会填充字段。 DateTimeID 是什么字段类型?
  • @jonnyHenly 我尝试改变它,它抛出一个错误代码,说“无效使用 null”。我还尝试注释掉第一行,以便它自动运行到第二行,这就是我得到第二个错误的地方。还有其他建议吗?
  • @June7 frmDate 不是表单,我是从以前的用户那里命名的。它只是一个日期字段。 DateTimeID 是一个短文本字段类型,它可以包含来自用户的数字、字母和字符。
  • @June7 抱歉,我不确定我在上述回复中是否正确标记了您的姓名。

标签: vba ms-access default-value autofill


【解决方案1】:

对于文本:

Me.[DateTimeID].DefaultValue = "'" & Me.[DateTimeID] & "'"

日期/时间:

Me.frmDate.DefaultValue = "#" & Me.frmDate & "#"

号码:

Me.Quantity.DefaultValue = Me.Quantity

代码通常放在控件的 AfterUpdate 事件中,因此用户除了正常的数据输入/编辑之外无需执行任何操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多