更改记录时保留文本框值

Keep textbox value when changing record

我有一种表格可以查看从客户那里购买的物品,但是当我想在该表格中添加新记录时 owner_id(以我的语言 ID_vlasnika)设置为空,我想要自动将 owner_id 设置为与之前记录相同的值。

其他人可能有更优雅的修复方法,但这里有一些可行的方法:

由于这看起来像绑定表单,因此只要您单击新记录导航按钮,它就会清除所有字段。据我所知,没有办法改变这种行为。

但是,您可以在表单的 属性 窗格中隐藏导航按钮,而是使用命令按钮 "Create New Record"。然后有一个宏或 VBA 运行 一些操作来捕获当前记录值,创建一个新记录,然后将值复制回您的控件。

这是 VBA 代码的示例:

Dim a As String
'Declare as many dimensions as fields you want to copy

a = Me![Naziv uredaja]
'Set variables for all of your other fields

'Next line creates a new record on your form
DoCmd.GoToRecord , , acNewRec

'Set your field back to the previous value
Me![Naziv uredaja] = a
'Repeat for each field you want to copy.

End Sub

有"a more elegant fix" - 在OnCurrent事件中设置字段的DefaultValue:

Private Sub Form_Current

    If Not Me.NewRecord = True Then
        Me!ID_vlasnika.DefaultValue = Me!ID_vlasnika.Value
    End If

End Sub