【问题标题】:acNewRec doesn't work for combobox NotInListacNewRec 不适用于组合框 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 有什么问题?如何使用此事件添加新记录?

【问题讨论】:

    标签: ms-access combobox vba ms-access-2016


    【解决方案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 添加到您的代码中,以使答案完整。
    猜你喜欢
    • 2021-02-04
    • 2014-02-27
    • 2022-11-11
    • 2011-06-08
    • 1970-01-01
    • 1970-01-01
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多