Удаление tps файла базы данных

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Удаление tps файла базы данных

Сообщение gopstop2007 »

Не получается удалить файл tps, при работе с БД.
Необходимо удалить данные, заменив их на новые с сервера.

Код: Выделить всё

Access:MyFile.Close

REMOVE(MyFile)
IF ERROROCODE() THEN STOP(ERROR()) END

Access:MyFile.Open
Данный код выдает ошибку, что - файл уже открыт :(
Заменял Access: на Relate: результат тот же.
Как корректно удалить или создать новый файл, при открытой БД ?

Clarion 10 ABC
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
ingasoftplus
Ветеран
Сообщения: 426
Зарегистрирован: 26 Декабрь 2006, 17:07
Откуда: Оттуда :)
Благодарил (а): 90 раз
Поблагодарили: 5 раз

Удаление tps файла базы данных

Сообщение ingasoftplus »

зачем удалять физически? потом же его надо создавать и т.п.

используйте

Код: Выделить всё

EMPTY(myfile)
см F1
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

Удаление tps файла базы данных

Сообщение Губин Игорь »

Remove требует полного закрытия файла через Close и гарантии, что никто его не открывает.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7377
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Удаление tps файла базы данных

Сообщение Игорь Столяров »

Низя удалять любой открытый на запись файл в любой программе Windows.
Здесь вопрос культуры доступа к данным.

Если Вы контролируете где и в каком режиме открываются TPS списки - то
при отсутствии монопольного захвата можно просто выполнить очистку:

Код: Выделить всё

        Lock(MyFile)
        If Not ErrorCode() then Empty(MyFile); UnLock(MyFile).
        
        If Records(MyFile) = 0
           ЗАПОЛНЯЕМ ФАЙЛ НОВЫМИ ДАННЫМИ
        end   
За теми кто отстал - не возвращаться. (С) Кодекс
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Удаление tps файла базы данных

Сообщение gopstop2007 »

ingasoftplus писал(а): 04 Октябрь 2023, 14:24 используйте

Код: Выделить всё

EMPTY(myfile)
см F1
Большое спасибо.
Игорь Столяров писал(а): 04 Октябрь 2023, 20:26 Если Вы контролируете где и в каком режиме открываются TPS списки - то
при отсутствии монопольного захвата можно просто выполнить очистку:

Код: Выделить всё

        Lock(MyFile)
        If Not ErrorCode() then Empty(MyFile); UnLock(MyFile).
        
        If Records(MyFile) = 0
           ЗАПОЛНЯЕМ ФАЙЛ НОВЫМИ ДАННЫМИ
        end   
Попробовал, работает, большое спасибо.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Ответить