2015-09-24 48 views
0

我有一個包含兩個字段的查詢; SID &狀態。訪問2013:基於查詢結果的驗證規則

我已將我的標準設置爲僅包含空白狀態。

我現在想要爲我的表單設置一個驗證規則,所以當用戶嘗試輸入SID時,它會檢查它是否存在於查詢結果中。如果沒有,則返回一個消息框,通知用戶SID已經完成。

+0

這不是真的被認爲是「驗證」。驗證更像是「我期待一個數字,這是一個數字嗎?」有多種方法可以做你想做的事。您可以使用查詢並對記錄進行計數,也可以使用記錄集在VBA中執行所有操作。你到目前爲止嘗試了什麼?你卡在哪裏? – Gene

+0

iv嘗試了一些表達式,但是像你說的那樣,也許它不是驗證,我基本上只是想檢查用戶輸入是否與我的查詢結果匹配 – Chris

回答

0

在文本框的AfterUpdate事件,做這樣的事情:

Dim db as Database 
Dim rec as Recordset 

Set db = CurrentDB 
Set rec = db.OpenRecordset("SELECT Status FROM MyTable WHERE SID = '" & txtSID.Value & "'") 

If rec.EOF Then 
    'All is well, the SID hasn't been found 
Else 
    MsgBox "This SID has already been completed" 
End If 
0

所以,你要用戶輸入一個SID到一個文本框,檢查SID是小島嶼發展中國家一個窗體上該列表具有空白狀態。

這聽起來像您需要將文本框更改爲基於查詢的組合框,並且組合框「限制列表」屬性設置爲true。這將只允許用戶選擇(或手動輸入)出現在列表中的SIDS。

Sorted!

聽起來不錯?

+0

您是否發現上述有用?如果是這樣,請舉出答案。 – HarveyFrench