acNewRec 不适用于组合框 NotInList

Posted

技术标签:

【中文标题】acNewRec 不适用于组合框 NotInList【英文标题】:acNewRec doesn't work for combobox NotInList 【发布时间】:2017-06-12 02:55:22 【问题描述】:

我在 Access 表单中有 ComboBox。它显示 db 表中的项目列表。如果找不到项目,我想创建此记录。所以我使用 NotInList 事件:

Private Sub Combo9_NotInList(NewData As String, Response As Integer)

    DoCmd.GoToRecord , , acNewRec

End Sub

当我尝试在 ComboBox 中输入不存在的项目时,它会给出错误:

但是我创建了按钮并添加了相同的代码 onClick 事件,它可以正常工作。

NotInList 有什么问题?如何使用此事件添加新记录?

【问题讨论】:

【参考方案1】:

您需要清除错误和输入的任何内容。

Private Sub cboSelect_NotInList(NewData As String, Response As Integer)

    Response = acDataErrContinue
    MsgBox "New entries are not permitted." & vbCrLf & vbCrLf & _
        "Please select an entry from the list or " & vbCrLf & _
        "move to a new record and add a new item below. ", , _
        "MsgBox Title"
    Me.cboSelect.Undo

End Sub

【讨论】:

然后DoCmd.GoToRecord。我认为你可以在同一个过程中做到这一点。 是的,Combo9.Undo 完成了这项工作。我也使用了 Combo9.Value = ""。否则我有无限循环的 NotInList 事件,这导致了这个错误。 然后将 DoCmd.GoToRecord , , acNewRec 添加到您的代码中,以使答案完整。

以上是关于acNewRec 不适用于组合框 NotInList的主要内容,如果未能解决你的问题,请参考以下文章

过滤组合框不适用于常见的商店组合

组合框级联效应不适用于不同的行

WPF 双向绑定不适用于组合框中的复选框

更新取消事件之前的 MS Access 不适用于未绑定的组合框

Visual Studio C ++组合框控件不适用于多字节字符集

更改组合框样式[重复]