vba+access: некорректный вызов функции из формы
От: Aiki  
Дата: 14.09.11 08:44
Оценка:
Придумал функцию для текстового поля, которая делает заглавной первую букву в текстовом поле:

Public Function CapitalLetter(text_value As String) As String ' делаем первую букву заглавной

text_value = UCase(Left(text_value, 1)) + LCase(Right(text_value, Len(text_value) — 1))

End Function
Функция будет использоваться на многих формах, поэтому она сделана public

На форме есть текстовое поле Form_f_Student.Surname

На загрузку формы делаю следующее:

Private Sub Form_Load()

Form_f_Student.Surname.Text = CapitalLetter(Form_f_Student.Surname.Text)

End Sub


При запуске дебага получаю сообщение, что невозможно обратиться к свойству или методу у которого не получен фокус.

Если я функцию привязываю к событию "изменение", то получаю сообщение о некорректном вызове функции или аргумента (invalid procedure call or argument)

Пробовал объявить локальную переменную для записи изменений в текстовом поле, но результат тот же...

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

Что можете мне посоветовать?
За любые советы буду премного благодарен
vba access формы обработка событий
Re: vba+access: некорректный вызов функции из формы
От: ZAMUNDA Земля для жалоб и предложений
Дата: 14.09.11 11:27
Оценка:
Здравствуйте, Aiki, Вы писали:

Вообще ничего про Access формы нинаю, так что тупо правлю мелкие ошибки.

Public Function CapitalLetter(byval text_value As String) As String ' делаем первую букву заглавной
'                                                                            И много вас там это делают? :-)

 Mid$(text_value,1,1) = UCase$(Left$(text_value, 1)) ' Ну это не ошибка, это оптимизация.

End Function

Private Sub Form_Load()

Me.Surname.Text = CapitalLetter(Me.Surname.Text)
 
End Sub


A>Что можете мне посоветовать?

Попробуй, можа заработаэ.
Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков
Re[2]: vba+access: некорректный вызов функции из формы
От: Aiki  
Дата: 14.09.11 12:26
Оценка:
не, не сработало... т.к. фокус не получен, то acess отказывается что-либо делать

Спасибо, за подсказку...
Re[3]: vba+access: некорректный вызов функции из формы
От: ZAMUNDA Земля для жалоб и предложений
Дата: 14.09.11 12:32
Оценка:
Здравствуйте, Aiki, Вы писали:

A>не, не сработало... т.к. фокус не получен, то acess отказывается что-либо делать

Лови событие получения фокуса, если оно там есть. Другого ничё придумать не могу.
Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.