2015-09-24 2 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 является одним из УЛХ в который имеет пустой статус.

Похоже, вам нужно изменить текстовое поле как поле со списком, основанное на запросе, и для свойства combo box «limit to list» установлено значение true. Это позволит пользователю выбирать (или вводить вручную) SIDS, которые отображаются в списке.

Отсортировано!

Звучит хорошо?

+0

Вы нашли это полезным? Если да, пожалуйста, отметьте в качестве ответа. – HarveyFrench

Смежные вопросы