Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Создание рекордсера из рекордсета / 25 сообщений из 32, страница 1 из 2
25.08.2004, 12:59:24
    #32664585
vam911
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание рекордсера из рекордсета
Создаю рекордсет из другого рекордсета (подвыборку)

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

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

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

(requery не предлагать-исчезает смысл вего деяния.)
...
Рейтинг: 0 / 0
25.08.2004, 13:16:43
    #32664638
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание рекордсера из рекордсета
А .Clone не подходит?
...
Рейтинг: 0 / 0
25.08.2004, 13:18:17
    #32664647
vam911
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание рекордсера из рекордсета
А это как?
...
Рейтинг: 0 / 0
25.08.2004, 13:19:21
    #32664651
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание рекордсера из рекордсета
А в справке по DAO глянуть влом?
...
Рейтинг: 0 / 0
25.08.2004, 13:23:23
    #32664663
Roma R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание рекордсера из рекордсета
Какая ошибка, на какой строке?
...
Рейтинг: 0 / 0
25.08.2004, 13:23:53
    #32664666
vam911
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание рекордсера из рекордсета
Как я понял - клоны полностью идентичны, а мне бы выборочку.
...
Рейтинг: 0 / 0
25.08.2004, 13:24:42
    #32664669
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание рекордсера из рекордсета
фильтр
...
Рейтинг: 0 / 0
25.08.2004, 13:32:35
    #32664689
vam911
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание рекордсера из рекордсета
фильтры не очень надежны в работе (в общем то из-за этого и создаю новый рекордсет)
...
Рейтинг: 0 / 0
25.08.2004, 13:35:58
    #32664698
vam911
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание рекордсера из рекордсета
Установленный фильтр сбивает текущую запись.

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

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


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

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

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

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

таким образом -
рекордсет:
цикл выборок из рекордсета.
...
Рейтинг: 0 / 0
25.08.2004, 14:37:48
    #32664876
Bor-L
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание рекордсера из рекордсета
А если применить Метод GetRows и удалять,корректировать,добавлять SQL-запросами ?
...
Рейтинг: 0 / 0
25.08.2004, 14:39:43
    #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
25.08.2004, 14:42:14
    #32664890
Roma R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание рекордсера из рекордсета
Сделал recordset на основе таблицы, удалил из него запись, создал фильтр, создал второй recordset из первого. Нет ошибок. Может я что-то не понял? Приведи весь код
...
Рейтинг: 0 / 0
25.08.2004, 14:45:50
    #32664904
Евгешка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание рекордсера из рекордсета
Мы для такого случая создавали новый рекордсет, делали структуру, как у исходного и каждую запись копировали. Правда, это было ADO и Java Script. Если надо, могу функцию дать.
...
Рейтинг: 0 / 0
25.08.2004, 14:47:13
    #32664912
vam911
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание рекордсера из рекордсета
SQL не всегда получается.

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

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

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

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


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