LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Не могу п...
 Тема: Не могу получить доступ к полям формы из VBA
 
 15.06.2007 21:02:39
Евгений5
15 сообщения


Тема: Не могу получить доступ к полям формы из VBA
Использую событие Change для поля в форме.

В процедуре пытаюсь присвоить строковой переменной значение поля.

Private Sub MyField_Change()
Dim StTest As String
StTest = Me.MyField
'StTest = Me.MyField.Value
End Sub

Получаю сообщение: "Run-time error '94': Invalid use of Null" на строку "StTest = Me.MyField" или ниже расположенную.


В чем дело? В поле же находятся введенные символы, а даже если бы их не было, разве нельзя присваивать строковой переменной пустое значение. Но иногда эта конструкция работает. В чем причина? помогите разобраться. Вопрос несолидный конечно, но работать-то надо.

Спасибо.


P.S. События в формах
Автор: Евгений от 23.06.2002 15:07:02 Источник ...
 15.06.2007 21:02:40
All
4316 сообщения
1-ый


RE: Не могу получить доступ к полям формы из VBA
Чтобы присвоить пустое значение, можно поступить так: StTest = nz(Me.MyField,"")



P.S. События в формах
Автор: Виктор от 0:00:00 Источник ...
 15.06.2007 21:02:40
All
4316 сообщения
1-ый


RE: Не могу получить доступ к полям формы из VBA
Присвоить пустое значение оно конечно присваивает, но задача немного другая (не совсем корректно извините задал вопрос).

1. Почему когда отрабатывается событие Change или Key_Press нельзя пока не выйдешь из процедуры получить доступ к полю, по которому отрабатываятся события

Private Sub MyField_KeyPress(KeyAscii As Integer)
StTest = Me.MyField
msgbox StTest
Me.MyField="Проверка"

2. Как прямо в этой процедуре, если меня не устроит значение KeyAscii, запретить ввод этого последнего символа в поле? Как я понял, символ появляется в поле только по выходу из процедуры нажатия клавиши. Как на уровне процедуры обработки KeyPress запретить его появление в поле?

Вопрос задаю второй раз, так никто и не ответил.
Спасибо.



P.S. События в формах
Автор: Anonymous от 0:00:00 Источник ...
 15.06.2007 21:02:40
All
4316 сообщения
1-ый


RE: Не могу получить доступ к полям формы из VBA
1 Почему нельзя? - вполне можно.
Дело в том, что значение поля (Value) изменяется ПОСЛЕ ввода данных, т.е события BeforeUpdate, AfterUpdate
А при событии Change изменяется ТЕКСТ поля (но не его значение)
Поэтому и получается в приведенном примере - то нормально (в поле до этого были занесены данные, то ошибка - поле было пустым)
2 KeyAscii=0


P.S. События в формах
Автор: Николай от 0:00:00 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Не могу п...
ПоискПоиск  Список форумовСписок форумов  
right