powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Различие обращений к объектам в форме и в модуле
25 сообщений из 55, страница 1 из 3
Различие обращений к объектам в форме и в модуле
    #32476494
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему в форме работает по всякому
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Form_Form1 :
Private Sub Ввод_Click()
 f=Me.Form!Поле1
 f=Me!Поле1
 Me.Requery 
 Me.Parent.Form.Requery
 Func1(Me)
End Sub

а в в вызванной функции,находящейся в отдельном модуле только так :
Код: plaintext
1.
2.
3.
4.
5.
Module :
public function Func1(My as object)
 f=My!Поле1
 My.Parent.Form.Requery
end function
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476495
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
И в чем вопрос? В том, что модуль не понимает слово Me? Потому что Me - это тот объект, в модуле которого это написано. Если модуль не при форме/модуле и если это не модуль класса, то такого объекта нет.
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476545
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да не модуль не понимает Me,
я ж ему передаю этот объект через параметр My функции и функция-то работает как я написал,
а вопрос в том, почему она если работает как написано не хочет работать с теми обращениями какие были в модуле формы - объект же Me передан через параметр!
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476550
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
авторпочему она если работает как написано не хочет работать с теми обращениями какие были в модуле формы
И какие там были обращения?
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476553
Фотография Deminik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя бы уж так
Код: plaintext
1.
Func1(Me.Name)

...возможно...
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476554
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо:
public function Func1(My as Form)
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476555
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 Deminik:

И что это даст? Если параметр описан как Object, а в него передан стринг, то будет ошибка. Какова цель этого?
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476557
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И помоему ссылаться на свойства объекта было бы правильнее так:

Func1(Me.Form)
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476558
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 EDUDK01:

Почему? Ведь Me - это и так форма.
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476560
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Погнал я, масло масленое выходит, извеняйте.
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476596
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Владимир Саныч >
И какие там были обращения? >

Ну я могу только повторить - почему в функцию я передаю объет Me
и он там перестает работать , почему в функции нельзя (если My:=Me)

My.Requery
My.Parent.Form.Requery

, да все же это любой может увидеть , скопировав приведенный пример в Access
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476598
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Но на этот вопрос я ответил в 16:46.
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476612
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Или вопрос в том, почему нельзя обратиться к параметру My не как My, а как Me? Потому что к параметру надо обращаться так, как он описан.
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476628
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Владимир Саныч >
Но на этот вопрос я ответил в 16:46. - Если модуль не при форме/модуле и если это не модуль класса, то такого объекта нет.


НЕ ВРУБАЮСЬ (дело конечно не в My , Me)
почему я не могу передать "Me" объект в функцию постороннего модуля и работать там с этим объектом.
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476629
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Передать можно все что угодно. Но:

Вот описание функции:
Function XXX(A As ...) As ...

Вот обращение к ней:
... XXX(B) ...

Внутри функции видна переменная A, но не B.
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476635
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Внутри функции видна переменная A, но не B.>
НЕ понимаю - в чем разница - А - ссылка на тот же объект, что и В ссылается
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476638
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ты задолбал (без обид)
Ты передаешь объект как параметр. Этот параметр (в описании функции) ты назвал My . Ну так твоя функция и понимает объект по имени Му . То что ты хочешь было бы возможно если бы Ме был определен как глобальный параметр на на самом высоком уровне ( пример такого объекта -Application). Ну и кроме того ( что в данном случае не важно , но так справедливости ради) - Me ,это не объект ,а ссылка (указатель) на текущую форму ( что -то типа this d C++)
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476640
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
авторА - ссылка на тот же объект, что и В ссылается
А если я захочу два раза обратиться к функции с разными параметрами, то она должна их оба понимать?

... XXX(B) ...
... XXX(C) ...
... XXX(D+E) ...

Внутри функции это все называется A, независимо от того, что при очередном вызове туда подставлено.
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476641
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понимаю что Yuniki пытается использовать функцию Func1 и для этого задает переменной Мy значение с помощью ссылки на текуйщую форму Ме. В таком случае нужно в функции определить тип переменной не как Object, а как Form:

public function Func1(My as Form)

Или имеется в виду что то другое?
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476642
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Имеется в виду имя объекта. Чтобы можно было, обратившись к функции как XXX(B), внутри функции пользоваться именем B.

То, что описывать как Form лучше, это верно. Но и как Object работать будет, хотя при написании функции не будет подсказывать все свойства и методы.
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476644
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я уже закипаю - причем здесь "внутри функции пользоваться именем B" - разве я это хочу ?! Я просто хочу пользовать сяобъектом внутри функции, что и делаю многие годы - в чем разница в обращениях то, - почему Me ссылка переданная параметру My перестает работать со старвм синтаксисом ?

PS А с Form я тоже пробовал- "понимание" тоже остается.
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476646
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
авторДа я уже закипаю - причем здесь "внутри функции пользоваться именем B" - разве я это хочу ?! Я просто хочу пользовать сяобъектом внутри функции
Каким объектом? My или Me?
My - ты им пользуешься. В исходном посте ты написал, что это работает.
Me - нельзя, потому что внутри функции ему соответствует My.
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476650
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Cпокойствие, только спокойствие" (Малыш и Карлссон)
Еще раз. Нет обьекта по имени Ме. Просто для удобства работы товарищи из Микрософта придумали короткое имя из 2 букв, которое позволяет обращаться к любому объекту внутри текущей формы ,не упоминая всуе имя самой формы
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476652
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Итак, обобщаю то, что сказали VIG и я.

В модуле формы - Me существует, но обозначает в каждом модуле разное (его форму).
В модуле отдельном - Me не существует.
Можно описать переменную или параметр функции по имени Me, но это будет не то Me, которое в модуле какой-нибудь формы.
Можно передать в функцию какое-нибудь Me через параметр, но обращаться к нему можно будет только по имени параметра.
...
Рейтинг: 0 / 0
Различие обращений к объектам в форме и в модуле
    #32476656
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yuniki, что ты делаешь:

Из формы запускаешь функцию в отдельном модуле. В функции ты используешь переменную Му. Этой переменной ты хочешь задать значение формы.

В таком случае ты не можешь использовать для указания формы Ме, потому что Ме это ссылка на активный обьект а функция расположена за границей активного объекта , в данном случае в отдельном модуле. Поэтому для вызова функции ты должен указать обьект явно:

Func1 Form_frmForm

А вот если бы эта функция распологалась внутри модуля самой формы то тогда бы ты мог ссылаться на форму как на активную используя Ме.

Func1 Ме

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


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