Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > Deleting data in a linked table


Автор: MarinaK 11.4.2006, 02:40
Связала текстовый файл с базой (Access 2000). На попытки изменять или редактировать записи в этой "таблице" получаю сообщение
Код
Deleting data in a linked table is not supported by this ISAM
Можно ли это как-то обойти, или... ?

Автор: Преображенский 12.4.2006, 09:59
Скорее всего это связано с кодировкой, файл был кодирован на неподдерживающий вашей базой кодировке. Полазьте в референсах

Автор: Akina 12.4.2006, 11:25
Преображенский, не говорите ерунды.

MarinaK, Текстовые форматы (как и, например, DBF) не поддерживают прямого удаления записей. В DBF запись можно пометить как удаленную, а фактическое удаление все одно выполняется при сжатии файла. В текстовом формате даже такой возможности нет.

Решение типа "костыль" - вместо удаления все или некоторые поля заполнять некоей информацией, которая свидетельствует о том что запись удалена и не должна обрабатываться. Например -1 в столбце индекса или "[deleted]" в поле "Наименование"...

Физическое удаление таких записей из текстового файла возможно только копированием действительных записей в новый текстовый файл.

Правильное решение - написание модулей импорта из текстового файла и экспорта в текстовый файл с учетом конкретных потребностей. Вся обработка проводится уже на Аксессовой таблице. Возможна организация принудительно или по таймеру обновления данных в таблице если текстовый файл изменен, а также организация слияния данных обновленного ТХТ-файла и обновленных данных в Аксессовой таблице - тоже доп. модулем.

Автор: MarinaK 13.4.2006, 00:50
Акина! Спасибо за подробные разъяснения.
Цитата(Akina @ 12.4.2006, 11:25)
Решение типа "костыль" - вместо удаления все или некоторые поля заполнять некоей информацией, которая свидетельствует о том что запись удалена и не должна обрабатываться. Например -1 в столбце индекса или "[deleted]" в поле "Наименование"...

Проблема в том, что и изменять в тектовом файле тоже ничего не получается (получаю сообщение об ошибке аналогичное случаю с удалением)

Автор: Akina 13.4.2006, 10:02
Цитата(MarinaK @ 13.4.2006, 01:50 Найти цитируемый пост)
изменять в тектовом файле тоже ничего не получается

Смотри атрибуты файла и настройки драйвера ODBC... в конце концов создай новый файловый источник данных.

PS. Изменять можно только fixed-length источник, а текст с разделителями - всегда read-only. Причина та же что описана выше.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)