Изменение значения в полесосписком.

Alex_Wong
Дата: 08.01.2012 19:51:26
Добрый день.

Форма в лент.виде содержит подчененную.
В подчиненной есть полесосписком73.
При выборе значения из этого псп
по коду:

Private Sub ПолеСоСписком73_Change()
MsgBox " Хотим изменить Решение ?"
' Программно нажимаю кнопку, чтобы произошли нужные мне события...
Forms!frmOctPGN!Кнопка200.SetFocus
SendKeys "{ENTER}"
End Sub

все происходит как мне нужно.

Единственное, если вошел в псп и ничего
не изменил, например - было значение 'отказать',
и остался на нем, то опять происходит букет
тех событий, которые мне уже категорично не
нужны. Варианты с Dirty, Afterupdate ...
-не помогают.

Как сделать, чтоб при НЕ изменении значения
в псп на новое в моем случае ничего не
происходило, либо еще и писало :
MsgBox "Изменения не произошли!"

Спасибо.
EvAnd
Дата: 08.01.2012 22:12:55
Если правильно понял вопрос, то
    If MsgBox("Вопрос", vbQuestion + vbYesNo, "Заголовок") = vbYes Then
    'ваша последовательность команд, если нажата кнопка Да
    Else
    'если нажата кнопка Нет
End If
mds_world
Дата: 08.01.2012 22:56:56
Выбор события Change крайне спорен для высказанной задачи. Это же на каждый чих будет подниматься мсгбокс - стерли букву, написали букву, а он уже здесь.

Чтобы ничего не происходило когда вторично выбрано прежнее значение, надо в BeforeUpdate комбо сравнивать выбранное значение с OldValue и, если совпадают, взводить флажок. А в AfterUpdate его проверять. Если он True, ничего не делать, если False, значит изменение произошло. И здесь же флажок сбрасывать
Alex_Wong
Дата: 09.01.2012 00:38:59
To mds_world,

Спасибо Вам за ответ.
Ваше решение подошло.
Всё работает.