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的主要内容,如果未能解决你的问题,请参考以下文章
更新取消事件之前的 MS Access 不适用于未绑定的组合框