Придумал функцию для текстового поля, которая делает заглавной первую букву в текстовом поле:
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)
Пробовал объявить локальную переменную для записи изменений в текстовом поле, но результат тот же...
Каким образом нужно засунуть функцию на форму, чтобы при вводе данных в текстовое поле оно обрабатывалось функцией?
Что можете мне посоветовать?
За любые советы буду премного благодарен
Здравствуйте, 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) Козьма Прутков
не, не сработало... т.к. фокус не получен, то acess отказывается что-либо делать
Спасибо, за подсказку...
Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков