2016-05-16 2 views
0

У меня есть форму, заполненную элементами из таблицы. У каждого элемента есть флажок, который позволяет пользователю запрашивать этот элемент после нажатия кнопки. Запрошен флажок. Я пробовал  Me!Requested = 0, и это дает тот же результат.Флажок всегда возвращает false

Проблема в том, что значение флажка всегда возвращает false, даже если оно проверено. Ссылаясь на код, я всегда получаю первое сообщение.

Private Sub btnSubmitRequest_Click() 

If Me!Requested = False Then 
    MsgBox ("Please select at least 1 item to check out.") 
    Exit Sub 
Else 
    MsgBox ("123") 
End If 

End Sub 
+1

Me! Requested.Value = False просто добавить .Value после – jcarroll

+0

Я попробовал, и я получаю тот же результат. – duberry

+0

Try Me.Requested.Value = False вместо "!" – jcarroll

ответ

0

Как я уже писал выше, Me!Requested будет смотреть только на Requested флажок в текущей записи. Так каково бы ни было случайное значение, оно будет определять результат.

Если вы хотите, чтобы убрать , по крайней мере одинRequested checkbox выбрано, вам необходимо взглянуть на все из них. Вы можете сделать это, например. с петлей над Me.RecordsetClone, например.

Dim rs As DAO.Recordset 
Dim nSelected As Long 

nSelected = 0 
Set rs = Me.RecordsetClone 
Do While Not rs.EOF 
    If rs!Requested = True Then 
     nSelected = nSelected + 1 
    End If 
    rs.MoveNext 
Loop 
rs.Close 

MsgBox "Selected: " & nSelected 
+0

Это имеет смысл, однако в сообщении говорится, что я выбрал 0 записей, даже когда я устанавливаю флажок. – duberry

+0

@duberry: Вы сохранили запись? Что делать, если вы проверяете несколько ящиков? Это поможет: [Как отладить ваш код VBA] (http://www.cpearson.com/Excel/DebuggingVBA.aspx) – Andre

+0

Да, я проверил несколько ящиков. Как ни странно, код работает только тогда, когда в форме записана одна запись. Например, как вы можете видеть на скриншоте, у меня есть кнопки для фильтрации записей. Фильтр «Инструменты» показывает только одну запись, потому что у меня есть только один инструмент, указанный в таблице. Когда я выберу единственный инструмент, а затем нажмите кнопку «Отправить запрос», в сообщении будет указано, что я выбрал 1 запись. Если я переключу фильтры или проверю любые другие поля, в сообщении будет указано, что я выбрал 0 записей. – duberry