我遇到绑定文本框的问题。该字段必需,并且不允许在数据库中使用 Null 。
当我想要清除文本框时,这会给我一个问题。例如,如果我输入了某些内容并将其删除,则验证规则会启动并且不允许我离开该字段。如果我按ESC键,我只能离开该字段,将其重置为原始(未改变)状态。
我尝试在Nothing
事件中将字段设置为DefaultValue
和_After-/_BeforeUpdate()
,但这不起作用。
感谢您的帮助。
答案 0 :(得分:0)
由于注释,我最终解决此问题的方法是使用未绑定的文本框,然后以On Load
过程的形式从数据库中复制验证规则。
Private Sub Form_Load()
Me.MyTextbox.ValidationRule = CurrentDb.TableDefs("SomeTable").Fields("SomeColumn").ValidationRule & " Or Is Null"
Me.MyTextbox.ValidationText = CurrentDb.TableDefs("SomeTable").Fields("SomeColumn").ValidationText
End Sub
注意我在规则中添加了“Or Is Null”,否则如果删除输入,我会被卡在文本框中。 数据库中的验证规则是:> = 1和< = 10
希望这有助于某人:)
答案 1 :(得分:0)
我也遇到过这个问题。我发现Me.Undo
有效,其中Me
指的是表单。
如果您必须与Undo
进行一些相关操作,例如要删除像我这样的硬盘文件,请使用Form_Undo
事件。