Python Модуль dbf, пишите нормально, но не появляются на VFP, пока таблица pack () - PullRequest
2 голосов
/ 16 февраля 2020

Я использую модуль dbf python Этана для записи записей в таблицу dbf Visual Fox Pro. Я сделал это, чтобы добавить:

import dbf
Db = dbf.Table ('table.dbf')
Db.open (mode=dbf.READ_WRITE)
record = { 'NUMERO' : 1, 'TIPO' : 'TA' } # It's a simplificated record, real record it's so long.
Db.append( record )
Db.close()

Запись добавляется в файл dbf, который я вижу в таблице VFP, используя окно команд VFP, но не отображается в программе VFP. Сначала я предположил, что что-то произошло в потоке VFP, но когда я выполняю PACK вручную с DBF Manager, записи правильно отображаются в программе VFP, и запись не отображается в DBF Manager, прежде чем выполнить PACK в таблице.

Я пытаюсь сделать

import dbf
Db = dbf.Table ('table.dbf')
Db.open (mode=dbf.READ_WRITE)
record = { 'NUMERO' : 1, 'TIPO' : 'TA' } # It's a simplificated record, real record it's so long.
Db.append( record )
Db.pack() # Pack before close.
Db.close()

Но не работает.

Кто-нибудь знает, что случилось?

1 Ответ

0 голосов
/ 17 февраля 2020

Программа VFP, вероятно, использует индекс, а модуль Python dbf не поддерживает индексные файлы. Я подозреваю, что команда REINDEX также покажет новую запись.

...