更改记录时保留文本框值
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
我有一种表格可以查看从客户那里购买的物品,但是当我想在该表格中添加新记录时 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