2015-02-26 4 views
0

Я создал 5 текстовых полей в форме, и я искал код VBA, который подскажет пользователю ввести значение хотя бы в одном из 5 полей. Я вычислил код, чтобы пользователь поместил данные в указанное текстовое поле, но я хочу проверить все пять одновременно.Выполнение ввода информации пользователя в текстовые поля перед отправкой

ответ

0

Рассмотрите 3 текстовых поля. Если ни одно из них не содержит значения, IsNull() будет True для каждого из них. Таким образом, вы можете проверить состояние If ... Then, чтобы определить, когда все они являются Null.

If IsNull(Me.Text1) And IsNull(Me.Text2) And IsNull(Me.Text3) Then 
    MsgBox "Please enter a value in at least one text box." 
End If 

Вы можете использовать это в Before случае обновления вашей формы и установить Отмена = True, чтобы отменить обновление, когда все равны нулю:

Private Sub Form_BeforeUpdate(Cancel As Integer) 
    If IsNull(Me.Text1) And IsNull(Me.Text2) And IsNull(Me.Text3) Then 
     MsgBox "Please enter a value in at least one text box." 
     Cancel = True 
    End If 
End Sub 

Если это предложение полезно, все, что вам нужно нужно для этого нужно расширить его от 3 до 5 текстовых полей.

+0

Удивительно, что сработало большое спасибо! Знаете ли вы, что код, который вводит то, что пользователь ввел в форму, не вводится в таблицу, если введено текстовое поле arent. В коде теперь окна сообщений отображаются отлично, но запись все еще отображается в таблице. –

+0

'Отмена = Истина' должна предотвратить сохранение измененной записи. Я не понимаю, почему это не так. Если вам нужна такая же проверка для новых записей, попробуйте код в 'Form_BeforeInsert'. – HansUp

+0

Я даже не понимаю, что даже моя таблица не обновляется автоматически, когда я нажимаю кнопку отправки, я должен войти в таблицу и нажать кнопку обновления, чтобы показать новую запись, которая была добавлена ​​из формы –

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