Необходимо (принудительно) обновить базу данных MS Access сразу после оператора удаления - PullRequest
1 голос
/ 18 мая 2011

Я использую базу данных MS Access. В приведенном ниже коде я перебираю набор записей и удаляю каждую запись. Непосредственно после оператора delete функция RefreshPlanning выполняет запрос выбора на основе той же таблицы. Проблема в том, что запись не удаляется сразу в таблице, и поэтому RefreshPlanning запрашивает некоторую запись, которая обычно была удалена! Поэтому мне нужно обновить базу данных (очистить кеш?) Сразу после оператора удаления. Как я могу продолжить?

    Dim rstTraitements as ADODB.Recordset
    Set rstTraitements = SelectQuery("SELECT * FROM tblTraitements WHERE ID like 123")

    ' Loop through all selected elements.
    While Not rstTraitements.EOF
       ' Delete current record in the table.
       rstTraitements.Delete
       MsgBox "a database refresh is needed here before the next statement"
       RefreshPlanning DatePlanning, CodeEquipement           
       rstTraitements.MoveNext
    Wend

Примечание 1: SelectQuery - это функция, которая возвращает набор записей

Примечание 2: RefreshPlanning - это функция, которая выполняет запрос на выборку на основе той же таблицы (tblTraitements).

Спасибо за вашу помощь.

1 Ответ

1 голос
/ 18 мая 2011

Попробуйте

rstTraitements.Resync

или

rstTraitements.Requery

после удаления

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...