在不限制显示数据的情况下限制表单中的用户输入

时间:2013-06-26 20:27:07

标签: ms-access

我有一个带有字段Status的表单,它是表单记录源表中的一个字段;它是基于表StatusType的查找字段。我想显示表的现有内容,但只允许用户输入Status条目,例如以“X”开头。我尝试将控件的行源设置为:

select Status from StatusType where left(Status,1)="X"

但是这导致表单在Status字段中显示空白,表示该字段不以“X”开头的记录。我希望这些数据项显示在表单中,我只是不希望它们成为表单Status下拉列表中的选项。我该怎么设置呢?

2 个答案:

答案 0 :(得分:0)

尝试更改为

select Status from StatusType where Mid(Status,1,1)="X"

答案 1 :(得分:0)

我使用BeforeUpdate解决了这个问题,检查用户的输入并取消更改,如果它违反了我的验证规则:

Private Sub Form_BeforeUpdate(Cancel As Integer)

If Not CheckValid(Me.Status.Value) Then
 Cancel = 1
 MsgBox "You must enter a valid status."
End If

End Sub