Правильное добавление записей в иерархические рекордсеты ADO - VB

Узнай цену своей работы

Формулировка задачи:

Суть проблемы следующая:
Как правильно добавляются записи в иерархические рекордсеты созданные, либо с использованием сервис провайдера MSDataShape, либо Data Environment?
Рекордсеты создаются без проблемы, в самый верхний по уровню рекордсет запись добавляется без проблем (метод AddNew). Если после добавления записи сразу сделать Update и добавить запись в подчиненный рекордсет, то такая запись не добавляется. Для того, чтобы добавить запись нужно сделать сделать перезапрос (Requery) для верхнего рекордсета и только потом запись без проблем можно добавить в подчиненный рекордсет. Следующие за первой подчиненной записью, другие записи добавляются без проблем. Метод с перезапросом конечно работает, но во первых это лишний перезапрос, а значит лишние тормоза, во вторых приходится сохранять/восстанавливать ту запись, с которой была работа до перезапроса и в третих для отключенного рекордсета перезапрос просто не применим.
Хотелось бы узнать как это делают другие, неужели с такими же извращениями?

Решение задачи: «Правильное добавление записей в иерархические рекордсеты ADO»

textual
Листинг программы
If m_RS2.BOF Or m_RS2.EOF Then
            vBookmark = m_RS1.Bookmark
                dgData1.RefetchRow
            m_RS1.Bookmark = vBookmark
        End If

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.154 из 5
Похожие ответы