powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Создание рекордсера из рекордсета
25 сообщений из 32, страница 1 из 2
Создание рекордсера из рекордсета
    #32664585
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создаю рекордсет из другого рекордсета (подвыборку)

sviazi_doc_rst.Filter = "[in_kod] = " + CStr(out_doc_kod)
Set vbIborka_sviazey_rst = sviazi_doc_rst.OpenRecordset(dbOpenSnapshot)

Все бы ничего. Но если до этого из рекордсета - родителя производилось удаление - выскакивает ошибка.ю

Может кто знает как ее убрать, или другой способ создания новой выборки без обращения к источнику записей.

(requery не предлагать-исчезает смысл вего деяния.)
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664638
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А .Clone не подходит?
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664647
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это как?
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664651
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в справке по DAO глянуть влом?
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664663
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая ошибка, на какой строке?
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664666
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я понял - клоны полностью идентичны, а мне бы выборочку.
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664669
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
фильтр
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664689
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
фильтры не очень надежны в работе (в общем то из-за этого и создаю новый рекордсет)
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664698
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Установленный фильтр сбивает текущую запись.

А если делать клон, то как я понял, сначала надо скопировать все, а потом выбрать нужное. - потеря скорости.
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664701
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
рекордсет на рекордсете - это такая редкая вещь, а судя по твоим задаваемым вопросам, я подозреваю, что оно тебе нафиг не нужно. просто ты не знаещь других путей. потому и спрашиваешь про него. лучще опиши задачу и тебе подскажут КАК это можно сделать
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664724
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача проста.

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


sviazi_doc_rst.Filter = "[in_kod] = " + CStr(out_doc_kod)
Set vbIborka_sviazey_rst = sviazi_doc_rst.OpenRecordset()
ну и удалить 2 строки и добавить 1 в эту выборку.

Если есть иные способы охотно приму их на вооружение.
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664740
Bor-L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Select case на каждую "выборку" ?
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664746
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понял - куда селект кэйз ?
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664762
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сообщение об ошибке можно увидеть?
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664793
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Запись удалена"

Но сейчас пробую то же самое вызвать ескуственно - не получается.
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664813
Bor-L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача проста.
есть цикл по рекордсету - от первой до последней.
...
Select case ТИП_ВЫБОРКИ
Case "ЭТА ВЫБОРКА"
ну и удалить 2 строки и добавить 1 в эту выборку.
Case "ДРУГАЯ ВЫБОРКА"
...
end select
конец цикла

то бишь вести обработку "по выборкам" не последовательно, а параллельно
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664829
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, здесь вся штука в том, что выбор из рекордсета в нескоько раз быстрее, чем выбор из начальной таблицы и на порядок - чем из сложного запроса.

таким образом -
рекордсет:
цикл выборок из рекордсета.
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664876
Bor-L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если применить Метод GetRows и удалять,корректировать,добавлять SQL-запросами ?
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664883
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim rst1 As Recordset, rst2 As Recordset
Set rst1 = CurrentDb.OpenRecordset("SELECt * FROM vvod_doc_tmp")
DoCmd.RunSQL "DELETE * FROM vvod_doc_tmp"

rst1.Filter = "[Код]>35"
Set rst2 = rst1.OpenRecordset()

runtime error 3167
Ошибка "Запись Удалена"
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664890
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал recordset на основе таблицы, удалил из него запись, создал фильтр, создал второй recordset из первого. Нет ошибок. Может я что-то не понял? Приведи весь код
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664904
Евгешка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мы для такого случая создавали новый рекордсет, делали структуру, как у исходного и каждую запись копировали. Правда, это было ADO и Java Script. Если надо, могу функцию дать.
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664912
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL не всегда получается.

Например добавляешь запись и надо знать ее код. (для дальнейших действий со связанными таблицами)
Счетчик - случайный ,
и как??
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664924
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roma RСделал recordset на основе таблицы, удалил из него запись, создал фильтр, создал второй recordset из первого. Нет ошибок. Может я что-то не понял? Приведи весь код

Пример чуть выше
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664944
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bor-LА если применить Метод GetRows и удалять,корректировать,добавлять SQL-запросами ?

Ну в общем-то вариант, хотя как-то корявенько.

И как фильтровать?
А что за номер у GetRows в параметре.
...
Рейтинг: 0 / 0
Создание рекордсера из рекордсета
    #32664973
Bor-L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А зачем фильтровать (здалась им эта бронированная комната...) в памяти итак все ну очень быстро
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Создание рекордсера из рекордсета
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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