VBA не IsNull

Работа с некоторым VBA кодирует в Доступе, что, когда очень определенный набор условий встречены, он откроется InputBox, просящий целое число.Пока все хорошо.

Private Sub Command10_Click()

    If Not IsNull(mrf) Then
        If min <> max Then
            If qty <= min Then
                mrf = GetParamValue
            End If
        End If
    End If
    End Sub

Проблема состоит в том, что Не IsNull, кажется, проигнорирован. Я хотел бы, чтобы это попросило значение вводиться, если значение уже не присутствует. Это продолжает исчерпывать InputBox целый минута <> макс. и количество <=, минимальные условия соблюдают. Что я пропускаю здесь?

5
задан Fionnuala 27 August 2012 в 21:55
поделиться

4 ответа

Если mrf Различно, затем это первоначально Empty, нет Null. Поэтому необходимо использовать IsEmpty() функция.

11
ответ дан 18 December 2019 в 09:53
поделиться

Нет, Не IsNull работает отлично.

Помните, IsNull является функцией, которая возвращает TRUE, если параметр передал ему, является пустым, и ложным иначе.

Ваш оператор "If Not IsNull (mrf) Then" переводит на английский язык как, "Если mrf не является пустым затем"

то, что это означает, - когда mrf имеет значение, затем Вы обрабатываете код в если оператор. При необходимости чтобы внутренний код стрелял, когда mrf ЯВЛЯЕТСЯ пустым, то необходимо удалить НЕ из оператора.

4
ответ дан 18 December 2019 в 09:53
поделиться

Мое предположение - то, что mrf не является пустым, даже если это пусто или что-то еще. Это могло также быть Ничто, которое отличается от пустого указателя на земле VBA (я думаю). Попытайтесь выполнить код в отладчике и посмотреть на значение mrf. В зависимости от того, каков mrf, можно сделать другой тест (как проверка len (mrf) или не isNothing (mrf) или если это - целое число, и это - init для обнуления, затем mrf <> 0.... Вы получаете идею. Надежда, которая помогает!

1
ответ дан 18 December 2019 в 09:53
поделиться

Вы могли бы интересоваться этой частью на VB6/VBA null/nothing/empty:

http://blogs.msdn.com/ericlippert/archive/2003/09/30/53120.aspx

1
ответ дан 18 December 2019 в 09:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: