powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / обращение к полю-источнику аргумента функции
3 сообщений из 3, страница 1 из 1
обращение к полю-источнику аргумента функции
    #39940549
blackbuster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть функция вида
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Public Function fAkpYearCheck (cAkpId As Long, fName As String)

Set FRM = Forms(fName)

If Not IsNull(cAkpId) Then
    If Year(DLookup("Akp_data", "Akp", "[akp_id] = " & cAkpId)) <> FRM.God Then 
        cAkpId.SetFocus 'тут функция должна установить фокус на поле-источник аргумента cAkpId. 
    End If
End If
End Function


как правильно обратиться к полю-источнику аргумента cAkpId?
...
Рейтинг: 0 / 0
обращение к полю-источнику аргумента функции
    #39940580
blackbuster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так как функция вызывается на событие После обновления поля, пока обошелся решением
Код: vbnet
1.
2.
3.
4.
5.
If Not IsNull(cAkpId) Then
    If Year(DLookup("Akp_data", "Akp", "[akp_id] = " & cAkpId)) <> FRM.God Then 
        Then Screen.ActiveControl.SetFocus 
    End If
End If

но понимаю, что это криво, так как не будет работать, если, например, функция будет активироваться другим способом.
можно, конечно, перед вызовом функции переместить фокус в нужное поле, но это совсем уж костыли получаются.. должно же быть другое решение
...
Рейтинг: 0 / 0
обращение к полю-источнику аргумента функции
    #39940604
blackbuster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сам спросил сам ответил :)
В итоге решил в качестве аргумента задать не значение поля, а само поле:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Public Function fAkpYearCheck(AkpIdName As String, fName As String)

Set FRM = Forms(fName)
Dim cAkpId
cAkpId = FRM.Controls(AkpIdName).Value
If Not IsNull(cAkpId) Then
    If Year(DLookup("Akp_data", "Akp", "[akp_id] = " & cAkpId)) <> FRM.God Then FRM.Controls(AkpIdName).SetFocus
End If
End Function
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / обращение к полю-источнику аргумента функции
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]