将未绑定的组合框添加到可以触发BeforeUpdate()事件的表单中?

时间:2013-07-09 22:28:03

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

根据表格ItemsForm,我有Items的数据表格式。 ItemsStatusHistoryItems.ID之间的表StatusHistory.ItemID是一对多的。还有一个Status表,其中包含Status.IDStatusHistory.StatusID之间的关系。

我想向StatusBox添加一个ItemsForm组合框,以便当用户从框中选择Status值然后移出记录时,应该触发{ {1}}事件,新条目会添加到Form_BeforeUpdate(),其中包含当前所选条目的StatusHistory

我已成功将Items.ID字段添加到表单中,并通过将其RowSource设置为StatusBox的查询来填充其列表。但是有两个大问题:

  1. 我可以滚动框中列表中的值,但在我之后 选择一个,它不会出现在现场;该字段保持空白。

  2. 当我在Status中选择一个值,然后点击另一个 记录,StatusBox未触发。看起来 Form_BeforeUpdate()仅在我修改数据时触发 表单所基于的Form_BeforeUpdate()字段。我应该在这里使用不同的事件吗?

1 个答案:

答案 0 :(得分:1)

解决方法如下:

  1. Status的ID字段实际上是StatusID而不是ID BeforeUpdate()。修复此问题后,我可以在字段中输入值。

  2. 我将代码放入StatusBox的{​​{1}}事件中,即:

  3. Private Sub StatusBox_BeforeUpdate(Cancel As Integer)
    
    End Sub
    

    这意味着每当我选择列表中的项目时,它就会被触发,而不是当我移动到新记录时,但是现在这就是我所需要的。