更改记录时保留文本框值

时间:2016-05-24 16:20:20

标签: vba ms-access access-vba ms-access-2010

我有一个表单可以查看客户购买的商品,但是当我想在该表单中添加新记录时,owner_id(在我的语言ID_vlasnika上)设置为null,我想自动将owner_id设置为与记录之前。

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:1)

其他人可能有一个更优雅的解决方案,但这里有一些可行的方法:

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

但是,您可以隐藏表单属性窗格中的导航按钮,而是使用命令按钮来创建新记录"。然后让宏或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

答案 1 :(得分:1)

有一个更优雅的解决方案" - 在OnCurrent事件中设置字段的 DefaultValue

Private Sub Form_Current

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

End Sub