powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Объясните разницу между Me.Form.RecordSource и Me.RecordSource
25 сообщений из 46, страница 1 из 2
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36913792
el_sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В чем разница, шеф говорит первое обращение более правильное. Почему?
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36913831
Фотография CoolMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
el_sh, если не ошибаюсь, первое обращения - стандарт 97 Аксесса.
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36913872
Фотография DzonyB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CoolMindel_sh, если не ошибаюсь, первое обращения - стандарт 97 Аксесса.

я думаю что Вы ошибаетесь насчет стандарта 97.
В книшках написано -Ключевое слово Ме указывает на текущую форму или отчет. Поэтому мое мнение что Form можно не указывать , чем меньше текста тем лучше.
А вот при обращении к субформе указывается Form.
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36913875
el_sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CoolMind,

т.е. для Акс 2003 разницы никакой?
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36913882
Фотография DzonyB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
el_shCoolMind,

т.е. для Акс 2003 разницы никакой?

и в 97 прокатывает.
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36913889
el_sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DzonyB,

Нет, тут речь именно о текущей форме.
Шеф говорит, что при Me.Form.RecordSource текущая форма обращается к своей же форме и считывает свойство.
На мои робкие возражения, сказал, что Me.RecordSource бывает отрабатывает как-то не так.
Вот и хочу понять в чем разница...
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36913914
Фотография DzonyB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
el_shDzonyB,
Нет, тут речь именно о текущей форме.
Шеф говорит, что при Me.Form.RecordSource текущая форма обращается к своей же форме и считывает свойство.
На мои робкие возражения, сказал, что Me.RecordSource бывает отрабатывает как-то не так.
Вот и хочу понять в чем разница...

Так попросите шефа пусть покажет пример где именно прокатывает не та.Я для интереса созвонился с человеком который с 97 года программирует на 97 и сейчас скрепя сердце переходит на 2003 сказал что всегда использует Me без добавления Form. И в книжках пишут тоже самое.
Но если не хотите портить с шефом отношения делайте как он сказал.

Сказал муха -это вертолет.Значит вертолет. Будьте умнее.
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36913955
Фотография adv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
el_shНет, тут речь именно о текущей форме.
Шеф говорит, что при Me.Form.RecordSource текущая форма обращается к своей же форме и считывает свойство.
На мои робкие возражения, сказал, что Me.RecordSource бывает отрабатывает как-то не так.
Вот и хочу понять в чем разница...
Так это.., F1 на me и на form почитать, разобраться и рассказать шефу.

для затравки вопрос шефу:
куда обращаемся
Debug.Print Me.Form.Form.Form.Form.Form.Form.Form.Form.Form.RecordSource
?
(не забываем, что мы в текущей форме;)
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36914053
Фотография CoolMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как обратиться к полю формы или подчиненной формы
FAQQ3. Обращение к объекту подчиненной формы.
Корректная ссылка на свойство подчиненной формы или отчета требует указания полного идентификатора формы c использованием свойства Form элемента управления - подчиненная форма:

Forms![Форма1].Controls![Форма2].Form.Controls![Поле1].Value
В общем, видимо, начальник путает с обращением к подчинённой форме.
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36914057
Фотография CoolMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adv, прикольно)))
так их, этих начальников.
поздравляю с успешным прохождением 3000 сообщений :)
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36914098
el_sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CoolMind,

Да нет, не путеает он. Думаю, это жизненная позиция такая, а может философия...
Джони, а с шефом я не спорю (чаще всего), это уже моя жизненная позиция, берегу нервы...
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36914132
Фотография CoolMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
el_sh, есть такая теория, что места начальников занимают не вполне компетентные люди.
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36914153
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
...гм-гм,
я вот тоже всегда считал что это одно и тоже...

но, какгрится - "практика критерий истины" ,
так вот - с "практикой" - что-то не то...

Код: plaintext
1.
2.
3.
4.
5.
6.
Private Sub Кнопка4_Click()
  MsgBox "ObjPtr(Me) = " & ObjPtr(Me) & vbCrLf & _
         "ObjPtr(Me.Form) = " & ObjPtr(Me.Form) & vbCrLf & _
         "ObjPtr(Me.Form.Form) = " & ObjPtr(Me.Form.Form) & vbCrLf & _
         "ObjPtr(Me.Form.Form.Form) = " & ObjPtr(Me.Form.Form.Form)
End Sub
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
---------------------------
Microsoft Office Access
---------------------------
ObjPtr(Me) =  2315888 

ObjPtr(Me.Form) =  9014736 

ObjPtr(Me.Form.Form) =  9014736 

ObjPtr(Me.Form.Form.Form) =  9014736 
---------------------------
ОК   
---------------------------
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36914237
Фотография adv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ё,

теперь перейти в конструктор и обратно, жми кнопку, смотри результат :)

потом создай модуль (t2 - имя формы)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
DoCmd.OpenForm "t2", acNormal
Debug.Print ObjPtr(Forms!t2), ObjPtr(Forms!t2.Form)
DoCmd.OpenForm "t2", acDesign
Debug.Print ObjPtr(Forms!t2), ObjPtr(Forms!t2.Form)
DoCmd.OpenForm "t2", acNormal
Debug.Print ObjPtr(Forms!t2), ObjPtr(Forms!t2.Form)
DoCmd.OpenForm "t2", acDesign
Debug.Print ObjPtr(Forms!t2), ObjPtr(Forms!t2.Form)

запусти

Раскуриваем :)
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36914264
Фотография adv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, кстати, привинти к кнопке Debug.Print Me.Properties.Count, Me.Form.Properties.Count. Можешь глянуть поимённо.
Это про сомнения :)

Я как-то с этим вопросом заморачивался. До конца не нарыл за ненадобностью.
Этот пример остался в тестовой базёнке.

Поверхностный вывод сделал следующий:
me - обращение к контролу формы.
Меня сие объяснение устроило и дальнейшие изыскания прекратил по причине лени :)

зы. в контексте вопроса ТС, me и me.form это одно и то же.
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36914270
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
adv,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sub aaa3()
DoCmd.OpenForm "Форма8", acNormal
Debug.Print "acNormal - " & ObjPtr(Forms!Форма8), ObjPtr(Forms!Форма8.Form)
DoCmd.OpenForm "Форма8", acDesign
Debug.Print "acDesign - " & ObjPtr(Forms!Форма8), ObjPtr(Forms!Форма8.Form)
DoCmd.OpenForm "Форма8", acNormal
Debug.Print "acNormal - " & ObjPtr(Forms!Форма8), ObjPtr(Forms!Форма8.Form)
DoCmd.OpenForm "Форма8", acDesign
Debug.Print "acDesign - " & ObjPtr(Forms!Форма8), ObjPtr(Forms!Форма8.Form)
End Sub
Код: plaintext
1.
2.
3.
4.
aaa3
acNormal -  159265744           9023700  
acDesign -  9023580             9023580  
acNormal -  159265744           9023580  
acDesign -  9023580             9023580  

...и о что это должно было сказать ?

адреса объектов Me и Me.Form - таки и дальше - разные (в acNormal)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
---------------------------
Microsoft Office Access
---------------------------
ObjPtr(Me) =  159265744 

ObjPtr(Forms(Me.Name)) =  159265744 

ObjPtr(Forms(Me.Name).Form) =  9019092 

ObjPtr(Me.Form) =  9019092 

ObjPtr(Me.Form.Form) =  9019092 

ObjPtr(Me.Form.Form.Form) =  9019092 
---------------------------
ОК   
---------------------------
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36914497
Фотография CoolMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ё
Код: plaintext
1.
2.
3.
acNormal -  159265744           9023700  
acDesign -  9023580             9023580  
acNormal -  159265744           9023580  

Заметь, как поменялось значение в правом столбце в 1 и 3 строке.
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36914518
Фотография CoolMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если правильно думаю, то после перехода в режим конструктора и возвращения обратно в режим окна ObjPtr(Forms!Форма8.Form) начинает ссылаться на объект формы, который был в режиме конструктора.
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36914579
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DzonyB,


авторА вот при обращении к субформе указывается Form.

Не всегда:)
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36914587
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
CoolMindЕсли правильно думаю, то после перехода в режим конструктора и возвращения обратно в режим окна ObjPtr(Forms!Форма8.Form) начинает ссылаться на объект формы, который был в режиме конструктора.
так - вроде бы как да,
но если явно закрыть форму - и открыть по новой - то этого нет
...и "игры" с экземпярами - тоже ничиго непрояснили...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
Sub aaa3()

Dim F As Form_Форма8
Dim F1 As Form_Форма8
Dim F2 As Form_Форма8

DoCmd.OpenForm "Форма8", acNormal
Debug.Print "acNormal - " & ObjPtr(Forms!Форма8), ObjPtr(Forms!Форма8.Form)
DoCmd.OpenForm "Форма8", acDesign
Debug.Print "acDesign - " & ObjPtr(Forms!Форма8), ObjPtr(Forms!Форма8.Form)
DoCmd.OpenForm "Форма8", acNormal
Debug.Print "acNormal - " & ObjPtr(Forms!Форма8), ObjPtr(Forms!Форма8.Form)
DoCmd.OpenForm "Форма8", acDesign
Debug.Print "acDesign - " & ObjPtr(Forms!Форма8), ObjPtr(Forms!Форма8.Form)

DoCmd.Close acForm, "Форма8"
Debug.Print "--------- Close ---------"
DoCmd.OpenForm "Форма8", acNormal

Debug.Print "acNormal - " & ObjPtr(Forms!Форма8), ObjPtr(Forms!Форма8.Form)
DoCmd.OpenForm "Форма8", acDesign
Debug.Print "acDesign - " & ObjPtr(Forms!Форма8), ObjPtr(Forms!Форма8.Form)
DoCmd.OpenForm "Форма8", acNormal
Debug.Print "acNormal - " & ObjPtr(Forms!Форма8), ObjPtr(Forms!Форма8.Form)

Debug.Print "----------------------------"
Set F = New Form_Форма8
F.Visible = True
Debug.Print "F - " & ObjPtr(F), ObjPtr(F.Form)

Set F1 = New Form_Форма8
F1.Visible = True
Debug.Print "F1 - " & ObjPtr(F1), ObjPtr(F1.Form)

Set F2 = New Form_Форма8
F2.Visible = True
Debug.Print "F2 - " & ObjPtr(F2), ObjPtr(F2.Form)

End Sub
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
aaa3
acNormal -  1618712             129237024  
acDesign -  129237900           129237900  
acNormal -  1618712             129237900  
acDesign -  129238292           129238292  
--------- Close ---------
acNormal -  1618712             129242252  
acDesign -  129242268           129242268  
acNormal -  1618712             129242268  
----------------------------
F -  1768408      129237820  
F1 -  1618832     129238660  
F2 -  159301544                 9031628  
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36914595
Фотография adv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ё
...и о что это должно было сказать ?

адреса объектов Me и Me.Form - таки и дальше - разные (в acNormal)

вот.

Никто и не говорит, что одинаковые.

кстати, у меня кариночка другая:
Код: plaintext
1.
2.
3.
  2048552         9139604  
  9142248         9142248  
  2048552         9142232  
  9143076         9143076  
может, акс недопатченный.

Видно, что при последовательном acNormal, адрес me одинаков, т. е. обращаемся к одной и той же форме (как к объекту), а Me.Form - разный - разные реализации этой формы (со значением своих свойств).

В дезигне объект один, т. к. реализация дезигна может быть одна.
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36914611
Фотография adv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+

Причём, прилепи на кнопку формы
Код: plaintext
Debug.Print ObjPtr(Me), ObjPtr(Me.Form)
открой форму, дави кнопку, смотри имидиэйт.

в конструктор, обратно, дави, смотри. (можно повторять до посинения :)

в конструктор, добавь поле, переходи в режим формы, дави, смотри. Адрес другой, форма другая.
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36914627
Фотография adv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зы. Я то не спец по этим делам, так, почти забытые наблюдения, которые случайно всплыли из задворок памяти и начали освежаться.

Для полного объяснения нужна тяжёлая артиллерия.
Я в этом вопросе от теории далековат, пою что вижу:)
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36914646
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
adv+

Причём, прилепи на кнопку формы
Код: plaintext
Debug.Print ObjPtr(Me), ObjPtr(Me.Form)
открой форму, дави кнопку, смотри имидиэйт.

в конструктор, обратно, дави, смотри. (можно повторять до посинения :)

в конструктор, добавь поле, переходи в режим формы, дави, смотри. Адрес другой, форма другая.


дык, я ж это и делал в итоге, только без кнопки

воопщем, здаётся мне, что один из этих адресов - это ссылка на элемент коллекции Forms ,
который уже в свою очередь - ссылается на объект-форму (2-ой адрес)
ну это так - типа версия

...подождём, может Бенедикт подойдёт - просвятит ))
...
Рейтинг: 0 / 0
Объясните разницу между Me.Form.RecordSource и Me.RecordSource
    #36914658
Фотография adv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, у вас результат поинтересней будет.
Насчёт того, что из десигна в нормал - реализация формы адрес не меняет, наверное допатчили, это логичнее.
...
Рейтинг: 0 / 0
25 сообщений из 46, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Объясните разницу между Me.Form.RecordSource и Me.RecordSource
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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