Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Колбасит от Me.RecordSource = Me.RecordSource / 17 сообщений из 17, страница 1 из 1
25.12.2003, 16:22
    #32363492
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Колбасит от Me.RecordSource = Me.RecordSource
В силу того, что был объявлен новогодний конкурс на самый глупый топик и самого тупого ламера, я решил поучаствовать. Тем более что свербит в одном месте и колбасит по черному.
Скажите мне, уважаемые, одинок ли я в своей аллергии к выражениям типа
Код: plaintext
Me.RecordSource=Me.RecordSource

которое согласно последним веяниям программистской моды должно что-то изменять в моем объекте, т.е. (ИМХО) выступать в качестве метода, применяемого над объектом (по типу Requery), а не являться просто оператором присваивания свойству (RecordSource string- слева) значения (он же – справа).
На мой взгляд, написанный пример – есть тавтология, если только не скрывать какие-то подспудные смыслы в:
1. Левой части оператора
2. В знаке присвоения «=»
3. В правой части оператора.

И ладно если свойство было бы какое-то сложное, само обращение к которому предполагало бы выполнение каких-то встроенных процедур. Но ведь RecordSource – строка-строкой. Чего тут может неявно исполняться?

Дело в том, что я – старый перышник, привыкший к дисциплине, и если вижу, что А – есть свойство, а Б – метод, то ситуация, когда А вдруг становится методом, меня начинает расстраивать и вводить в тоску – вдруг я в маразме перестал уже гибко реагировать на действительность? Хотя на самом деле в жизни такое случается сплошь и рядом – правда содержит в себе некоторую ложь и называется истинной (Жванецкий), черное становится белым, добро – злом, победа через некоторое время – оборачивается поражением.

Так что если уважаемое сообщество найдет в этом топике предмет для философского трепа – я буду очень рад, обратная ситуация даст мне шанс на победу в конкурсе чудаков – тоже неплохо. А может просто объясните ламеру подспудные смыслы 1-3 (повторно, потому что я уже как-то задавал подобный вопрос, но забыл где ибо склероз).
...
Рейтинг: 0 / 0
25.12.2003, 16:29
    #32363513
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Колбасит от Me.RecordSource = Me.RecordSource
Уже обсуждалось:\r
\r
FAQ. А почему у меня перестало работать...\r
\r
:^)))
...
Рейтинг: 0 / 0
25.12.2003, 16:30
    #32363516
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Колбасит от Me.RecordSource = Me.RecordSource
Старый кто?
В общем, не суть
Был бы ты достаточно старым - знал бы, что пропертя - это и есть набор из одного, двух или трех методов. Для удобства в VB эти методы идут под одним именем. Ну и что?
...
Рейтинг: 0 / 0
25.12.2003, 16:40
    #32363551
IgorM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Колбасит от Me.RecordSource = Me.RecordSource
2ЛП: свойство не обязательно должно быть представлено методом ("бывают и просто сны" (с) :) Но, это так, к слову. :)

2All: Вот вы лучше скажите мне, есть ли у кого-нибудь стабильно повторяемые условия, требующие такого использования RecordSource? Что надо сделать, чтобы форма никак не обновлялась, кроме как через Me.RecordSource = Me.RecordSource?

2Лифчик: Никаких подспудных смыслов. Access'у пофиг на что ты меняешь свойство, важен сам факт его смены, в результате чего происходит обновление набора данных.
...
Рейтинг: 0 / 0
25.12.2003, 17:06
    #32363614
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Колбасит от Me.RecordSource = Me.RecordSource
Саныч, спасибо, что напомнил.

Лох, спасибо, что разъяснил. Свойство есть метод. Все правильно. Как я мог забыть! Хотя про старость как-то уже намекал, что не все так просто, типа если долго жить, то ветры разучишься пускать.

А дальше вопрос конкретный, без всякой философии - почему в тьме случаев, описанных на этом форуме, не работает Requery, как раз для того вроде и предназначенный, а работает обновление через одно место Me.RecordSource = Me.RecordSource (откуда ветры дуют) Хорошо ли это? Не теряется ли стройность в теории, приводящая к гемору на практике?

ПС Старательно иду на победу в номинации
...
Рейтинг: 0 / 0
25.12.2003, 17:33
    #32363667
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Колбасит от Me.RecordSource = Me.RecordSource
Me.RecordSource=""
сколько записей будет в форме?

в чем разница
найди отличия

Код: plaintext
1.
mystr = Me.RecordSource
Me.RecordSource = mystr


и

Код: plaintext
Me.RecordSource =Me.RecordSource


важно не то что ты присвоил этому свойству а сам факт присвоения ибо инициируется событие формы изменение источника строк
...
Рейтинг: 0 / 0
25.12.2003, 17:48
    #32363689
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Колбасит от Me.RecordSource = Me.RecordSource
Я уже понял (давно, спасибо Лоху), что в момент присвоения происходят фоновые процедурки, события, в которых может твориться все что угодно. Не возражаю. Мне просто кажется, что некоторые методы аксесса не делают того, что вроде бы должны делать, и наоборот - свойства выполняют роли методов. В моей (но только в моей!) голове возникает каша, мешающая разложить аксесс по полочкам.
А что касается вопроса про строки в форме с пустым RecordSource, то как я понимаю - в обоих случаях пресловутое событие формы изменения источника строк происходит один раз, когда Me.RecordSource = ... т.е. стоит слева. Нет?
...
Рейтинг: 0 / 0
25.12.2003, 17:50
    #32363695
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Колбасит от Me.RecordSource = Me.RecordSource
Лично у меня это встречается на каждом шагу (ADP, SQL2000 + Access2000).
Ибо без него формы со сложными источниками строк - хранимыми процедурами просто не обновляются. Почему не работает requery - скорее вопрос к разработчикам, я полагаю... Потому же ИМХО, почему, например, в некоторых случаях Access не может получить для формы списка полей в случаях, когда в ХП используются сложные батчи.
...
Рейтинг: 0 / 0
25.12.2003, 18:02
    #32363727
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Колбасит от Me.RecordSource = Me.RecordSource
ЛифчикЯ уже понял (давно, спасибо Лоху), что в момент присвоения происходят фоновые процедурки, события, в которых может твориться все что угодно.
Ну почему что угодно?
В правой части равенства мы запоминаем текущее свойство RecordSource, а в правом присваиваем его заново. Естественно, при этом удобно сразу сделать и requery, что, видимо, автоматом и делается. Вроде как ничего лишнего?!
...
Рейтинг: 0 / 0
25.12.2003, 20:13
    #32363830
Shkurenko Alexander
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Колбасит от Me.RecordSource = Me.RecordSource
Л>>Я уже понял (давно, спасибо Лоху), что в момент присвоения происходят
Л>>фоновые процедурки, события, в которых может твориться все что угодно.

AJ>Ну почему что угодно?


Разработчикам никто не мешал наваять такое:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Property Let RecordSource(ByVal RecordSource as String)
    If CurrentUser =  "ЛОХ ПОЗОРНЫЙ"  Or CurrentUser =  "IgorM"  Then
        Call СуперМетод
        ExitProperty
    Else 
        If CurrentUser =  "Лифчик"  Or CurrentUser =  "AlexJuice"  Then
            For i =  0  to  999 
                DoEvents
            Next
        End If
    End If
    Call ОбычныйМетод
End Property
...
Рейтинг: 0 / 0
26.12.2003, 09:31
    #32364013
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Колбасит от Me.RecordSource = Me.RecordSource
2 Shkurenko Alexander:
Не спорю
А смысл?
...
Рейтинг: 0 / 0
26.12.2003, 09:45
    #32364033
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Колбасит от Me.RecordSource = Me.RecordSource
Как это "а смысл"?
Как бы у меня иначе получилось пальцы гнуть, мол у меня все работает, причем быстро, а у вас все глючит, и медленно?
Это хитрый маркетинговый ход со стороны МС. Позволяет все остальные (необнаруженные ими) глюки списать на неопытность разработчиков.
...
Рейтинг: 0 / 0
26.12.2003, 10:51
    #32364136
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Колбасит от Me.RecordSource = Me.RecordSource
>Каша в голове, Access по полочкам.
Мне кажется, что Access трудно разложить по полочкам. У Access-а масса достоинств, но один из недостатков- нелогичность синтаксиса. Многие вещи надо программировать именно определенным образом, и вопрос "почему" не имеет смысла. И квалификация разработчика на Access в основном определяется знанием этих трюков.
Пример- обновление связанных таблиц. Почему они обновляются так, а не иначе- вопрос нелепый.
...
Рейтинг: 0 / 0
26.12.2003, 10:59
    #32364158
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Колбасит от Me.RecordSource = Me.RecordSource
2 Shark
Какая связь между "нелогичностью синтаксиса" и внутренними кривостями библиотек?
...
Рейтинг: 0 / 0
26.12.2003, 11:05
    #32364169
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Колбасит от Me.RecordSource = Me.RecordSource
>Какая связь
Дык причинно-следственная. Первое следствие второго:-)
...
Рейтинг: 0 / 0
26.12.2003, 11:19
    #32364193
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Колбасит от Me.RecordSource = Me.RecordSource
Т.е. глюки библиотеки DAO влекут за собой нелогичность языка C++ (например)? Что-то вы батенька фигню какую-то говорите.
...
Рейтинг: 0 / 0
26.12.2003, 11:27
    #32364208
IgorM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Колбасит от Me.RecordSource = Me.RecordSource
2Shark: Кстати, а что со связанными таблицами? Меняется строка Connect, по-моему, всё логично...
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Колбасит от Me.RecordSource = Me.RecordSource / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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