如果特定组合框值,则从前一个字段复制记录

时间:2013-10-30 15:39:01

标签: vba ms-access combobox

我有一个访问表单,需要每天由不同的人填写。

这是为了记录网站的变化,我现在为各个部分设置了一个组合框,说明它们是AMENDS,REVERTS还是NO CHANGE。

我已经设置了条件格式,然后突出显示这些部分,但我也试图让它工作,这样如果用户选择“NO CHANGE”,那么该字段的数据将从之前的记录中复制。

我已经在组合框的AfterUpdate代码中进行了设置,但没有发生任何事情,甚至没有错误......任何人都可以帮忙吗?

Private Sub COMBOBOX1_AfterUpdate()
If Me.COMBOBOX1 = 3 Then
Me.[FIELD_TO_CHANGE] = DLookup("[FIELD_TO_CHANGE]", "tb_TABLE", "[ID]=Forms![form_FORM]![ID]-1")
End If
End Sub

(其中3是组合框中NO CHANGE的值,FIELD_TO_CHANGE,tb_TABLE和form_FORM是各种元素的名称)

谢谢!

1 个答案:

答案 0 :(得分:0)

首先,您应该定义控件COMBOBOX1,在“属性窗口”中输入,定义

COMBOBOX1.AfterUpdate = "[Event Procedure]"

然后将考虑您的Private Sub COMBOBOX1_AfterUpdate()。可能会出现错误并弹出给您。

然后像这样更改事件处理程序以启动:

Private Sub COMBOBOX1_AfterUpdate()
  If Me.COMBOBOX1 = 3 Then
    Me.[FIELD_TO_CHANGE] = DLookup("[FIELD_TO_CHANGE]", "tb_TABLE", "[ID]=" & (Me.[ID] - 1))
  End If
End Sub

在您的表单工作之前,需要纠正许多错误...