如果存在重复,则文​​本框撤消不起作用

时间:2018-04-16 07:56:12

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

我有一个带有文本框和列表框的表单。我想在文本框中输入一条新记录来填充表和列表框(列表框行源是表)。我编写了一个代码来防止重复进入表。当有重复的条目时,我会弹出一个提醒用户。什么不起作用是清除文本框的撤消选项。代码粘贴在下面,带有一些必要的信息。任何有关代码的帮助将不胜感激。

表名:tblNewComponents

字段名称:NewComponents

文本框名称:TextCOMPONENTS

有人能帮助我吗?感谢

Private Sub TextCOMPONENTS_AfterUpdate()
Dim NewComponent As String
Dim stLinkCriteria As String
Dim custNo As Integer
'Assign the entered customer name to a variable NewCustomer
NewComponent = Me.TextCOMPONENTS.Value
stLinkCriteria = "[NewComponents] = " & "'" & NewComponent & "'"
If Me.TextCOMPONENTS = DLookup("[NewComponents]", "tblNewComponents",     stLinkCriteria) Then
MsgBox "This Component, " & NewComponent & ", has already been entered in    database." _
& vbCr & vbCr & "Please check the component name again.", vbInformation, "Duplicate information"
Me.Undo
end if
exit sub

2 个答案:

答案 0 :(得分:0)

只需执行此操作即可清除文本框(并将焦点设置为文本框)

Me.TextCOMPONENTS.Value = Null
Me.TextCOMPONENTS.SetFocus

而不是Me.Undo

答案 1 :(得分:0)

您的错误是由于您的事件所致,您应将其保留在下一个文本框getfocus事件中,而不应将其保留在更新后的当前文本框中, 在下一个文本框中获得焦点事件,并且将完美运行。 非常感谢SOF俱乐部