При удалении записей (строк) из БД, через некоторое время записи, которые были удалены, появляются снова, как-будто их не удаляли. Причем такого не происходит когда база и программа работают на пк с одним пользователем с правами администратора, на пк с несколькими пользователями есть папка с общим доступом, в которой хранится БД, каждый пользователь поочередно заходит через свой логин и пароль в систему и вносит изменения в базу. Мне кажется что удаленные записи появляются снова из-за того что были введены одним пользователем, а удаляются другим... Или может дело не в этом? Свойство LockType ADOTable: ltBatchOptimistic. Удаление из базы MSAccess осуществляется кнопкой с кодом:
procedure TForm5.BitBtn3Click(Sender: TObject); begin ADOTable1.UpdateBatch(); ADOTable1.Delete; //Таким образом можно отменить последнюю удаленную запись. end;
Можно ли исправить эту ситуацию, чтобы удаленные строки не появлялись снова?
База обычная, пароль для входа не нужен. Но несколько копий приложения одновременно запустить нельзя:
Begin CreateMutex(Nil, True, 'Prog'); If GetLastError <> 0 Then Halt; end;
Установка ctKeyset не решила проблему(. Из базы удаляется 5 записей, приложение закрывается, снова запускается. Все удаленные записи, кроме последней (пятой удаленной по счету) вернулись