清除必需/非空绑定文本框

时间:2012-03-15 10:24:15

标签: ms-access vba access-vba

我遇到绑定文本框的问题。该字段必需,并且不允许在数据库中使用 Null

当我想要清除文本框时,这会给我一个问题。例如,如果我输入了某些内容并将其删除,则验证规则会启动并且不允许我离开该字段。如果我按ESC键,我只能离开该字段,将其重置为原始(未改变)状态。

我尝试在Nothing事件中将字段设置为DefaultValue_After-/_BeforeUpdate(),但这不起作用。

感谢您的帮助。

2 个答案:

答案 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事件。