Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Access 2003, функции
 
 автор: marina   (06.02.2007 в 09:25)   личное сообщение
 
 

Как при использовании функции InputBox отразить событие на нажатие кнопки Отмена?

  Ответить  
 
 автор: АлексейЕ   (06.02.2007 в 09:51)   личное сообщение
 
 

Из хелпа.
Функция InputBox
Выводит на экран диалоговое окно, содержащее сообщение и поле ввода, устанавливает режим ожидания ввода текста пользователем или нажатия кнопки, а затем возвращает значение типа String, содержащее текст, введенный в поле.

У Вас что возвращает при нажатии кнопки отмена?
Вот и проверяйте, и в зависимости от результата отрабатывайте тот или иной код.

  Ответить  
 
 автор: marina   (06.02.2007 в 10:02)   личное сообщение
 
 

При нажатии кнопки Cancel я получаю ошибку такую же, как и при пустом поле ввода нажимаю кнопку ОК.

  Ответить  
 
 автор: Explorer   (06.02.2007 в 10:11)   личное сообщение
 
 

куда вы передаете значение инпутбокса и как

  Ответить  
 
 автор: marina   (06.02.2007 в 10:46)   личное сообщение
 
 

Значение передаю в поле, по которому идет поиск записи

  Ответить  
 
 автор: Explorer   (06.02.2007 в 11:46)   личное сообщение
 
 

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

  Ответить  
 
 автор: Serge Gavrilov   (06.02.2007 в 10:27)   личное сообщение
 
 


Sub TestInputBox()
    Dim strInput As String
    strInput = InputBox("Тест кнопки отмена")
    If StrPtr(strInput) = 0 Then
        MsgBox "Кнопка Cancel"
    Else
        MsgBox "Кнопка OK"
    End If
End Sub

  Ответить  
 
 автор: marina   (06.02.2007 в 12:06)   личное сообщение
 
 

Непонятно StrPtr!!!
У меня не рабтает!

  Ответить  
 
 автор: Serge Gavrilov   (06.02.2007 в 12:34)   личное сообщение
 
 

Что именно не работает? Где ваш код?

  Ответить  
 
 автор: marina   (06.02.2007 в 12:56)   личное сообщение
 
 

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

  Ответить  
 
 автор: Serge Gavrilov   (06.02.2007 в 13:06)   личное сообщение
 
 

marina, но в вашем коде вообще нет анализа значения возвращаемого функцией InputBox.
Что вы вообще хотите, в зависимости от действий пользователя?
Пользователь может
1. ввести правильный номер
2. ввести неправильный номер
3. ничего не вводить и нажать Ok
4. нажать отмена.

А что не работает конкретно в том примере, который я вам дал?
Этот пример позволяет определить, какую кнопку нажал пользователь, Ok или Cancel.
И именно об этом был ваш вопрос:

Как при использовании функции InputBox отразить событие на нажатие кнопки Отмена?

  Ответить  
 
 автор: marina   (06.02.2007 в 13:32)   личное сообщение
 
 

я и хочу сделать анализ вводимого значения, но не получается задать уславие:
если нажать Отмена то ....

  Ответить  
 
 автор: Serge Gavrilov   (06.02.2007 в 14:05)   личное сообщение
 
 

вот это не работает?

...
strTelephone = InputBox("Введите номер", "Поиск") 
If StrPtr(strTelephone) = 0 Then 
      MsgBox "Кнопка Cancel" 
Else 
...

  Ответить  
 
 автор: marina   (06.02.2007 в 14:27)   личное сообщение
 
 

Извиняюсь, почти работает, т.е. MsgBox появляется, но при закрытии MsgBox опять
MsgBox "Вы должны ввести номер телефона!", vbOKOnly, "Ошибка поиска"

  Ответить  
 
 автор: marina   (06.02.2007 в 14:27)   личное сообщение
 
 

Извиняюсь, почти работает, т.е. MsgBox появляется, но при закрытии MsgBox опять
MsgBox "Вы должны ввести номер телефона!", vbOKOnly, "Ошибка поиска"

  Ответить  
 
 автор: marina   (06.02.2007 в 15:05)   личное сообщение
 
 

Все получилось! Спасибо!

  Ответить  
 
 автор: Explorer   (06.02.2007 в 13:06)   личное сообщение
 
 

ну и на что, пo Вашему, Access ругается :^)

меня еще несколько настораживает конструкция strTelephone = "0"

  Ответить  
 
 автор: Bellerofont   (06.02.2007 в 12:38)   личное сообщение
 
 

>Непонятно StrPtr!!!
>У меня не рабтает!
В этом коде нечему не работать.
Для проверки скопируйте ее в стандартный модуль и запустите из окна отладки (Immediate).

  Ответить  
 
 автор: marina   (06.02.2007 в 12:59)   личное сообщение
 
 

В моем коде не работает!

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList