Страница 1 из 1
Удаление tps файла базы данных
Добавлено: 04 Октябрь 2023, 12:31
gopstop2007
Не получается удалить файл tps, при работе с БД.
Необходимо удалить данные, заменив их на новые с сервера.
Код: Выделить всё
Access:MyFile.Close
REMOVE(MyFile)
IF ERROROCODE() THEN STOP(ERROR()) END
Access:MyFile.Open
Данный код выдает ошибку, что - файл уже открыт
Заменял Access: на Relate: результат тот же.
Как корректно удалить или создать новый файл, при открытой БД ?
Clarion 10 ABC
Удаление tps файла базы данных
Добавлено: 04 Октябрь 2023, 14:24
ingasoftplus
зачем удалять физически? потом же его надо создавать и т.п.
используйте
см F1
Удаление tps файла базы данных
Добавлено: 04 Октябрь 2023, 15:53
Губин Игорь
Remove требует полного закрытия файла через Close и гарантии, что никто его не открывает.
Удаление tps файла базы данных
Добавлено: 04 Октябрь 2023, 20:26
Игорь Столяров
Низя удалять любой открытый на запись файл в любой программе Windows.
Здесь вопрос культуры доступа к данным.
Если Вы контролируете где и в каком режиме открываются TPS списки - то
при отсутствии монопольного захвата можно просто выполнить очистку:
Код: Выделить всё
Lock(MyFile)
If Not ErrorCode() then Empty(MyFile); UnLock(MyFile).
If Records(MyFile) = 0
ЗАПОЛНЯЕМ ФАЙЛ НОВЫМИ ДАННЫМИ
end
Удаление tps файла базы данных
Добавлено: 04 Октябрь 2023, 21:16
gopstop2007
Большое спасибо.
Игорь Столяров писал(а): ↑04 Октябрь 2023, 20:26
Если Вы контролируете где и в каком режиме открываются TPS списки - то
при отсутствии монопольного захвата можно просто выполнить очистку:
Код: Выделить всё
Lock(MyFile)
If Not ErrorCode() then Empty(MyFile); UnLock(MyFile).
If Records(MyFile) = 0
ЗАПОЛНЯЕМ ФАЙЛ НОВЫМИ ДАННЫМИ
end
Попробовал, работает, большое спасибо.