Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / много одинаковых обработчиков событий / 25 сообщений из 36, страница 1 из 2
19.08.2003, 14:06
    #32240313
A-Lex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
Кто нибудь знает, можно ли в конструкторе в свойствах события поставить уже готовую процедуру, а то есть куча одинаковых обработчиков, которые я уже запарился клонировать
...
Рейтинг: 0 / 0
19.08.2003, 14:09
    #32240322
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
В конструкторе чего???
Что такое свойства события???
...
Рейтинг: 0 / 0
19.08.2003, 14:13
    #32240332
A-Lex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
В конструкторе формы, где допустим ставим обработчик на открытие формы, при этом тот же обработчик надо поставить на обновление пары тройки полей и т.д.
Не хочеться каждый раз копировать текст обработчика в новую процедуру.
...
Рейтинг: 0 / 0
19.08.2003, 14:14
    #32240335
Serge Gavrilov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
Пишите функцию, например test(), в конструкторе выбираете все нужные контролы и в событии пишите
=test()
...
Рейтинг: 0 / 0
19.08.2003, 14:15
    #32240337
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
Пихаешь в модуль Public sub
И вызываешь когда надо
типа CALL
...
Рейтинг: 0 / 0
19.08.2003, 14:23
    #32240362
A-Lex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
Говорит нет такой функции
а по нажатию в конструкторе в свойствах обработчика кнопки ...
Выдает ее родимую (слово public и в модуль ее засунуть не забыл)
В чем прикол
...
Рейтинг: 0 / 0
19.08.2003, 14:27
    #32240371
A-Lex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
Догнал, нужна функция, а уменя процедура.
Сейчас переделаем, хотя стоп, а че она возвращать должна?
...
Рейтинг: 0 / 0
19.08.2003, 14:30
    #32240382
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
Типа мой сообщения в игноре?

В любой модуль суешь что-то вроде

Public Sub MyProcedure
...

End Sub

Вызываешь так

Call MyProcedure
...
Рейтинг: 0 / 0
19.08.2003, 14:32
    #32240389
A-Lex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
Уважаемый Vsevolod Вас я читаю и пробую ваши рекомендации в первую очередь, так вот ругается он на слово call
...
Рейтинг: 0 / 0
19.08.2003, 14:32
    #32240391
Serge Gavrilov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
>хотя стоп, а че она возвращать должна?
А зачем ей что-то возвращать? Необязательно.
И Public она быть не обязана, если находится в той же форме
...
Рейтинг: 0 / 0
19.08.2003, 14:33
    #32240393
A-Lex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
Если это функция, она должна вернуть значение, а если это процедура, он ее не видит
...
Рейтинг: 0 / 0
19.08.2003, 14:39
    #32240407
TatianaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
а кто сказал что функция прям таки обязана что-либо возвращать?
...
Рейтинг: 0 / 0
19.08.2003, 14:42
    #32240416
кам
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
2 TatianaT

а кто сказал что функция прям таки обязана что-либо возвращать?

Бил Гейтс.
Но можно конечно не принимать возвращаемое
...
Рейтинг: 0 / 0
19.08.2003, 14:44
    #32240418
A-Lex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
Ок, переделал ее в функцию, но возникла другая проблема
С перемещением ентой функции в модуль VBA стал ругаться на Me!
говорит: неправильно ты ее юзаешь уважаемый
...
Рейтинг: 0 / 0
19.08.2003, 14:47
    #32240425
Serge Gavrilov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
>Но можно конечно не принимать возвращаемое
И что вернет такая функция
Public Function test()
MsgBox "test"
End Function
...
Рейтинг: 0 / 0
19.08.2003, 14:49
    #32240429
кам
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
Естественно.
Есть два пути:
1) set mee = ActiveForm внутри функции
2) в функции параметр типа форма, а при использовании =Func([form])
...
Рейтинг: 0 / 0
19.08.2003, 14:50
    #32240431
Serge Gavrilov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
>С перемещением ентой функции в модуль VBA стал ругаться на Me!
>говорит: неправильно ты ее юзаешь уважаемый

А зачем вы ее в общий модуль?
...
Рейтинг: 0 / 0
19.08.2003, 14:53
    #32240439
A-Lex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
В общий модуль потому, что используется она в двух основных формах
с шестью подставляемыми на выбор подчиненками
...
Рейтинг: 0 / 0
19.08.2003, 14:54
    #32240443
кам
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
2 Serge Gavrilov

И что вернет такая функция
Public Function test()
MsgBox "test"
End Function


Выполни и посмотри.
(Для тех кому лень смотреть - Empty)
...
Рейтинг: 0 / 0
19.08.2003, 14:56
    #32240448
A-Lex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
To: кам
выдает ошибку на activeForm
говорит незнаю ентого слова
...
Рейтинг: 0 / 0
19.08.2003, 14:58
    #32240454
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
Screen.ActiveForm

но при применении этой функции, в случае наличия модальных (диалоговых), окон вас ждут сюрпризы :)
...
Рейтинг: 0 / 0
19.08.2003, 14:59
    #32240459
A-Lex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
Я не догнал.
Из-за переноса функции в модуль, разве форма перестала быть активной.
Почему перестала работать Me!, что изменилось и как с этим бороться
...
Рейтинг: 0 / 0
19.08.2003, 15:01
    #32240465
A-Lex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
Кстати
Set Me = Screen.ActiveForm
тоже неработает, говорит неправильно Me юзаем
...
Рейтинг: 0 / 0
19.08.2003, 15:04
    #32240472
Serge Gavrilov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
>Выполни и посмотри.
>(Для тех кому лень смотреть - Empty)

Я прям смутился :)

И что такое Empty?
Это лишь ключевое слово указывающее на неинициализированное значение.
А вы это видимо за значение принимаете?

А такая функция что вернет:
Public Function test() As Object
MsgBox "test"
End Function

Уж точно не "Empty" :)
...
Рейтинг: 0 / 0
19.08.2003, 15:04
    #32240473
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
много одинаковых обработчиков событий
dim frm as access.form
Set frm = Screen.ActiveForm

или вместо Me использовать Forms("FormName")
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / много одинаковых обработчиков событий / 25 сообщений из 36, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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