Страница 1 из 1
Удаление записи по условию
Добавлено: 13 Декабрь 2007, 14:11
Александр В.
Имеем С5.5 EE. Всё просто...Нужно через EMBEDS удалить записи в файле, у которых определенное поле равно 0.
Заранее спасибо. Я не программер...
Можно удалять через Process
Добавлено: 13 Декабрь 2007, 16:09
Apron63
Удобнее всего создать новую одноразовую процедуру Process, установить Action=Delete Record и фильтр для записей. Так быстрее и проще. Или нужен "чистый" код?
Добавлено: 13 Декабрь 2007, 17:39
Admin
Код: Выделить всё
Access:TPSFiles.ClearKey(TPF:NameKey)
SET(TPF:NameKey, TPF:NameKey)
LOOP
IF Access:TPSFiles.Next() <> LEVEL:Benign THEN BREAK END
IF TPSFiles.Flag = 0
IF Access:TPSFiles.DeleteRecord(FALSE) = LEVEL:Benign
! запись удалена
ELSE
! запись не удалена
END
END
END
Добавлено: 13 Декабрь 2007, 19:40
Igor
Но знай . Записи в одном файле удалятся но если в словарике(расширение NameApp.dct) есть связи с этим файлом то лучше не спеши

.Посмотри может надо делать Relate:TPSFiles.Delete.
Добавлено: 14 Декабрь 2007, 14:33
Александр В.
спасибо. Помогло через Process. Пришлось повозиться, т.к. у пустого (нулевого) поля был ключ уникальный. Принципиально Клара не хотела фильтровать.