|
|
|
| Как при использовании функции InputBox отразить событие на нажатие кнопки Отмена? | |
|
| |
|
|
|
| Из хелпа.
Функция InputBox
Выводит на экран диалоговое окно, содержащее сообщение и поле ввода, устанавливает режим ожидания ввода текста пользователем или нажатия кнопки, а затем возвращает значение типа String, содержащее текст, введенный в поле.
У Вас что возвращает при нажатии кнопки отмена?
Вот и проверяйте, и в зависимости от результата отрабатывайте тот или иной код. | |
|
| |
|
|
|
| При нажатии кнопки Cancel я получаю ошибку такую же, как и при пустом поле ввода нажимаю кнопку ОК. | |
|
| |
|
|
|
| куда вы передаете значение инпутбокса и как | |
|
| |
|
|
|
| Значение передаю в поле, по которому идет поиск записи | |
|
| |
|
|
|
| проверьте дебаггером значение которое передаете функции поиска
проверьте саму функцию поиска, может быть проблема в ней - не принимает стринг нулевой длины или Null | |
|
| |
|
|
|
|
Sub TestInputBox()
Dim strInput As String
strInput = InputBox("Тест кнопки отмена")
If StrPtr(strInput) = 0 Then
MsgBox "Кнопка Cancel"
Else
MsgBox "Кнопка OK"
End If
End Sub
|
| |
|
| |
|
|
|
| Непонятно StrPtr!!!
У меня не рабтает! | |
|
| |
|
|
|
| Что именно не работает? Где ваш код? | |
|
| |
|
|
|
| Private Sub Кнопка10\10_Click()
Dim strTelephone As String
On Error GoTo mytrap
strTelephone = "0"
Me.Телефон.SetFocus
DoCmd.FindRecord strTelephone
strTelephone = InputBox("Введите номер", "Поиск")
Me.Телефон.SetFocus
DoCmd.FindRecord strTelephone
Me.AllowEdits = False
Me.AllowAdditions = False
Me.AllowDeletions = False
Me.Кнопка10.SetFocus
'DoCmd.GoToControl "Кнопка10"
Exit Sub
mytrap:
MsgBox "Вы должны ввести номер телефона!", vbOKOnly, "Ошибка поиска"
End Sub | |
|
| |
|
|
|
| marina, но в вашем коде вообще нет анализа значения возвращаемого функцией InputBox.
Что вы вообще хотите, в зависимости от действий пользователя?
Пользователь может
1. ввести правильный номер
2. ввести неправильный номер
3. ничего не вводить и нажать Ok
4. нажать отмена.
А что не работает конкретно в том примере, который я вам дал?
Этот пример позволяет определить, какую кнопку нажал пользователь, Ok или Cancel.
И именно об этом был ваш вопрос:
Как при использовании функции InputBox отразить событие на нажатие кнопки Отмена?
|
| |
|
| |
|
|
|
| я и хочу сделать анализ вводимого значения, но не получается задать уславие:
если нажать Отмена то .... | |
|
| |
|
|
|
| вот это не работает?
...
strTelephone = InputBox("Введите номер", "Поиск")
If StrPtr(strTelephone) = 0 Then
MsgBox "Кнопка Cancel"
Else
...
|
| |
|
| |
|
|
|
| Извиняюсь, почти работает, т.е. MsgBox появляется, но при закрытии MsgBox опять
MsgBox "Вы должны ввести номер телефона!", vbOKOnly, "Ошибка поиска" | |
|
| |
|
|
|
| Извиняюсь, почти работает, т.е. MsgBox появляется, но при закрытии MsgBox опять
MsgBox "Вы должны ввести номер телефона!", vbOKOnly, "Ошибка поиска" | |
|
| |
|
|
|
|
| ну и на что, пo Вашему, Access ругается :^)
меня еще несколько настораживает конструкция strTelephone = "0" | |
|
| |
|
|
|
| >Непонятно StrPtr!!!
>У меня не рабтает!
В этом коде нечему не работать.
Для проверки скопируйте ее в стандартный модуль и запустите из окна отладки (Immediate). | |
|
| |
|