Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Recordset... / 25 сообщений из 28, страница 1 из 2
17.06.2003, 21:56
    #32184813
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
ADP/ SQLXXXX / ADO 2.7
(источник ХП, однозначная таблица, команда синхронизации) = ОК
что происходит с подформой после использовании в форме следующей конструкции
(из основной формы к подформе)
sub
Set sdf = Me("ххх").Form.Recordset
sdf.AddNew
sdf![pic] = 0
sdf![pic1] = 201
sdf.Update
sdf.MoveLast
Set sdf = Nothing
end sub

результат:
1 данные добавляются
2 происходит перемещение в конец
3 ??? после изменении значений с клавиатуры происходит мерцание строк в подформе. такой режим сохраняется до F9. если после Set sdf = Nothing сделать Requery то мерцания нет , но цель - после добавления встать в конец т.е. на добавленную запись.

и вообще после применении в форме recordset поведение отображения в форме меняются как этого избежать?
...
Рейтинг: 0 / 0
17.06.2003, 23:35
    #32184825
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
Вадя, да что ж ты раз за разом на одни и же грабли наступаешь?
Кто тебе мешает добавить запись куда надо не трогая Me.Recordset? Потом сделать Requery и встать на нужную запись???
Вот блин привязался к рекордсету как банный лист к жопе.
...
Рейтинг: 0 / 0
18.06.2003, 13:41
    #32185397
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
можно сделать по всякому, но хочется узнать для чего это (Recordset) нужен и отвязаться от него и забыть как страшный сон. или использовать. ведь по сути это удобное средство. надо только знать где применять и что ждать в результате. а то можно уподобиться людям говорившим "... нечитал, но осуждаю.." . существует море хаящих винды . а посмотришь как они их ипользуют - появляется желание дать дубину в руки и отправить в лес....
...
Рейтинг: 0 / 0
18.06.2003, 19:29
    #32185952
S. Fedorenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
Если хочеш рекордсет делай так.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Dim sdf  As Recordset
Set sdf = CurrentDb.OpenRecordset( "Название таблицы подчиненной формы" , dbOpenDynaset)
sdf.AddNew
sdf.Fields( "pic" ).Value =  0 
sdf.Fields( "pic1" ).Value =  201 
sdf.Update
sdf.Close
[Починенная форма].Requery

и переходи на последюю запись

...
Рейтинг: 0 / 0
18.06.2003, 19:55
    #32185958
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
Кто сказал что добавленная запись после Requery будет последней?
...
Рейтинг: 0 / 0
20.06.2003, 09:05
    #32187041
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
2S. Fedorenko
у меня ADP, ADO


у меня получилось..
хотя не знаю почему....
запись становится последней...
какието настройки влияют, но какие


есть новая версия ADO 2.71 она более стабильная рекомендую. только надо проверить как она встает - не заменяет старые файлы - видимо при замене проверяет даты если ручками то нормально


всетаки на работу ADP влияют какието установки , текст проги вроде один а работает по разному . изменял все подряд и не удалось отследить что на что влияет.
...
Рейтинг: 0 / 0
20.06.2003, 13:49
    #32187384
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
Это как оно может получитья (насчет последней записи)? Что, независимо от того что вставили добавленная запись последней становится? У вас что, таблицы без первичного ключа и вообще без индексов?
Не знаю как насчет MS SQL, но в mdb если явно не указана сортировка, то сортируется по индексам, и только если индекса нет - тогда выдает записи в порядке их создания.
...
Рейтинг: 0 / 0
20.06.2003, 19:07
    #32187777
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
2Лох

"вставляет не подетски" как в рекламе.
первичный ключ есть.
столбец идентификации таблицы - ind
тип - int
по возрастанию
CLASTERED

вставляет в конец таблицы . нута видно при открытии таблицы и на форме
записи вставляет одну за другой в конец . ну та мне это и нада.
А шо это похоже на шаманство?
на та меня ужо в этом обвинили...
А шо?...

меня боле волнует вопрос почему заработало. и как это можно еще повторить.
я тут бился на этим 3 недели (шаманил).

мож не получалось из-за того что уменя ета прога прога иде от 95Акса
(через все Аксы)
...
Рейтинг: 0 / 0
20.06.2003, 19:21
    #32187791
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
Ты счастливый человек, вадя , иожешь себе позволить роскошь терзать проблему столько времени. Тебе за танцы с бубном еще наверное и деньги платят?
P.S.
Не наезд, шутка юмора.
...
Рейтинг: 0 / 0
20.06.2003, 19:30
    #32187795
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
Т.е. даже если вставляешь запись с таким ID, что, согласно индексу, она должна быть в начале - при выборке она все равно в конец встает (если сортировку не указать)?? Очень странный индекс, тем более что он кластерный. Ну да и хрен бы с ним. Буду считать что не понимаю я пока MS SQL.
Теперь насчет того, почему оно заработало. Заработало оно потому что не было у него причин не заработать. Это ровно тот способ, что я предложил в самом начале - не трогать Me.Recordset. Понадобится повторить - повторишь точно так же, не трогая Me.Recordset.
А не работало до этого потому, что была причина не работать. Причина - Me.Recordset. Надо в хелпе к Me.Recordset и Me.RecordsetClone огромными красными буквами написать - "Не влезай! Убьет!". Или наоборот, сделать оба этих св-ва скрытыми. Чтобы не пользовались ими от нечего делать. Ибо колбасит аксес от них.
...
Рейтинг: 0 / 0
20.06.2003, 19:48
    #32187799
Sirios
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
А в рекордсете MoveLast не бывает сделать?
...
Рейтинг: 0 / 0
20.06.2003, 19:52
    #32187801
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
Этта бил каккой та вапросс?
Я егго не ппонял
...
Рейтинг: 0 / 0
20.06.2003, 19:59
    #32187803
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
Лох, не горячись. Очень полезная штука Ме.Recordset. А вот за связку визуализации и обьектного представдения я бы разработчикам на той самой трамвайной остановке яйца бы пооткручивал...
...
Рейтинг: 0 / 0
20.06.2003, 20:01
    #32187805
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
Вернее сказать за частичное отсутствие подобной связки, что очевиднее всего проявляется при Ме.Recordset.AddNew().
...
Рейтинг: 0 / 0
20.06.2003, 20:12
    #32187814
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
Я не горячусь. Действительно, Me.Recordset полезная вещь. Если ей пользоваться грамотно. Если не грамотно - это страшное оружие против того кто использует.
Микроскоп тоже очень полезная вещь. Если им гвозди не забивать. Причем микроскоп не виноват в том, что им нежелательно гвозди забивать. Просто получилось так. Вот и Me.Recordset тоже не виноват в том, что не надо через него записи добавлять. Просто так получилось.
Кому хочется 3 недели х%йней страдать - ну так я же не против...
...
Рейтинг: 0 / 0
20.06.2003, 20:48
    #32187827
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
Микроскоп не отрицает обратную связь. Наоборот, он ее в микрохирургии поддерживает :)
Кроме шуток. Связанная форма наследует рекордсет от ичточника данных. Значит должна наследовать все его свойства и методы. Но это не так, что очевидно доказывает Ме.Recordset.AddNew().
...
Рейтинг: 0 / 0
20.06.2003, 21:19
    #32187844
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
2All

3 недели это как считать везет или нет..

режим такой

пока откроешь акс. пока вспомнишь что делал. пока вспомнишь где остановился. пока до этого дойдешь. - зовут гарным криком чёото другое делать, чёто исправить, комуто поправит. кого-то обслужить. кто-то кричит "я ничего не делал - она сама такая.." пока объя снишь что он(она) сам (сама) =0. далее кто чай идет во внутрь/наружу , кто дым в легкие. а я к аксу (быстро-быстро). далее - смотри параграф сначала

2Лох
Set sdf = Me("ххх").Form.Recordset
разре не " не трогать Me.Recordset"

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

и усе пашет и довольно быстро


(это я не хвастую .... а так погладил себя любимого)
...
Рейтинг: 0 / 0
20.06.2003, 21:37
    #32187848
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
Писал. И не могу. И строки цветом выделять не могу (пока - через год с момента, когда я аккес первый раз увидел. А в остальном я из него и сам много чего уже наковырял. В т.ч. и несколько подформ, друг от друга зависящих, и иерархию в одной из них, и копирование оной иерархии или ее кусков со всеми вложениями. И много чего еще. Жаль, времени не хватает по-хорошему во всем, что пишу, разобраться. Поэтому и читаю здесь как местные друг перед другом меряются причиндалами. Половину не понимаю, но тешу себя мыслью, что вот-вот горящие дела доделаю - и в отпуск, и во всем сразу разберусь, и все сразу пойму. Но понимаю, что пока свист на горе раком не станет, в отпуск я не уйду (не каждый день найдешь работу, где за год с 0 можно подняться до 800 зеленых гривен, и чтобы не в Москве, а где-нить поближе к дому).
Вот. Закончу о наболевшем.
Теперь ближе к телу. А не соблаговолит ли многоуважаемый джинн... (с) Мюнхаузен ...слить мине форму, где выделяется все цветами?
...
Рейтинг: 0 / 0
20.06.2003, 21:45
    #32187849
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
2Geo

весь прикол в том , что это ADP со своими прибамбасами.
а для mdb всё делается намного проще и давно работает
а форму скину . хотя я уже где-то показывал на этом форуме.
надо только лишнее убрать
...
Рейтинг: 0 / 0
20.06.2003, 21:50
    #32187852
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
2вадя
Делай добро и бросай его в воду (с) тоже отличный советский мультик.
Искренне и много признателен.
...
Рейтинг: 0 / 0
20.06.2003, 21:51
    #32187853
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
ЗЫ
за джина спасибо

а то некоторые шаманом обзывают...
...
Рейтинг: 0 / 0
21.06.2003, 08:41
    #32187956
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
я попробовал сделать тоже самое но только в таком виде

Me("xxx").Form.Recordset.AddNew
Me("xxx").Form!наименование = Me!ПолеСоСписком37
Me("xxx").Form.Recordset.Update
Me("xxx").Form.Recordset.MoveLast


и вот что получил
Automation error Вызванный объект был отключет от пользователя

в чем моя ошибка?
...
Рейтинг: 0 / 0
21.06.2003, 08:47
    #32187959
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
2Geo\r
здесь описано\r
/topic/31407
...
Рейтинг: 0 / 0
21.06.2003, 09:16
    #32187973
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
2 Pavel
Связанная форма наследует рекордсет от ичточника данных. Значит должна наследовать все его свойства и методы
Грубейшая ошибка. Нет в COM наследования реализации. Есть наследование интерфейса. Св-ва и методы (их реализация) - не наследуются.
У формы есть св-во, возвращающее объект, у которого есть все св-ва и методы объекта ADO.Recordset. Но как эти св-ва и методы реализованы - хрен его знает. Ну и кроме хрена еще только разработчики аксеса могут догадываться.
Поэтому не надо думать, что с Me.Recordset можно работать абсолютно так же как с ADO.Recordset. Это было бы хорошо если бы оно было. Но этого нет. Работа этих двух объектов может отличаться и отличается (как показывает практика). С этим можно/нужно смириться. Единственное что плохо - то, что эти отличия нигде не описаны.
...
Рейтинг: 0 / 0
21.06.2003, 10:11
    #32188024
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset...
2Лох

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


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