powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Recordset...
28 сообщений из 28, показаны все 2 страниц
Recordset...
    #32184813
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Recordset...
    #32184825
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадя, да что ж ты раз за разом на одни и же грабли наступаешь?
Кто тебе мешает добавить запись куда надо не трогая Me.Recordset? Потом сделать Requery и встать на нужную запись???
Вот блин привязался к рекордсету как банный лист к жопе.
...
Рейтинг: 0 / 0
Recordset...
    #32185397
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно сделать по всякому, но хочется узнать для чего это (Recordset) нужен и отвязаться от него и забыть как страшный сон. или использовать. ведь по сути это удобное средство. надо только знать где применять и что ждать в результате. а то можно уподобиться людям говорившим "... нечитал, но осуждаю.." . существует море хаящих винды . а посмотришь как они их ипользуют - появляется желание дать дубину в руки и отправить в лес....
...
Рейтинг: 0 / 0
Recordset...
    #32185952
S. Fedorenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если хочеш рекордсет делай так.
Код: 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
Recordset...
    #32185958
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто сказал что добавленная запись после Requery будет последней?
...
Рейтинг: 0 / 0
Recordset...
    #32187041
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2S. Fedorenko
у меня ADP, ADO


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


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


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

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

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

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

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

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

режим такой

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

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

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

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


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

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

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

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


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

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

твой ответ - обяснение моей неудачи в последнем опыте или спор с Pavel?
...
Рейтинг: 0 / 0
Recordset...
    #32188031
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не спор. Это нормальное обсуждение. Тем более похоже что Лох прав, и это обьясняет причину твоей неудачи.
...
Рейтинг: 0 / 0
Recordset...
    #32188053
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Возможно я прав, и то, что возвращает св-ов Me.Recordset у формы (подформы в случае Вади), не является объектом ADO.Recordset.
2) Возможно я не прав. Вполне может быть, что в форме (внутри) есть нормальный ADO-шный рекордсет, который и возвращается. Тогда форма должна внутри себя ловить события этого рекордсета и реагировать на изменения в нем изменениями в своем внешнем виде. Я так себе это представляю по крайней мере. Если это так - то задача весьма нетривиальная, слишком много вариантов пользовательский действий с рекордсетом, отданным на откуп прользователю. Ничего удивительного, что в каких-то случаях форма неадекватно обрабатывает какие-либо последовательности операций.
Я так подумал еще, и второй вариант мне даже больше катит как объяснение происходящего безобразия.
Вывод из обоих вариантов все равно один - не стоит пользоваться Me.Recordset для модификации данных. Для чтения - да, для позиционирования - да, для изменений - только если хочется время лишнее убить. Или суррогатный объект сделает фигню (вариант1), или форма сделает фигню при обработке событий изменения рекордсета (вариант2)
З.Ы. Респект Ваде. Не часто можно наблюдать такую настойчивость в попытках разобраться в причине неудач. Однако признак (потенциально) хорошего программиста.
...
Рейтинг: 0 / 0
Recordset...
    #32188604
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
за комплименты спасибо.
2 Лох
есть все тенденции склониться к твоим выводам. плохо только то, что это не на основе знаний о предмете а из резудьтатов опытов с предметом.

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

по этому поводу вспоминаются времена работы на АССЕМБЛЕРЕ .
где на 99% зависило только от собственных мозгов. а не от ADO, DAO ...
...
Рейтинг: 0 / 0
28 сообщений из 28, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Recordset...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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