powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удаление записей
11 сообщений из 11, страница 1 из 1
Удаление записей
    #37440209
Андрей1985
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте помогите разобраться с вопросом.
Есть форма с Grid. При выполнении процеду DoDelete
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
if messagebox("Удалить запись?",  4 + 32 , "Удаление") =  6 
	delete next  1  in sp_prib
	skip - 1  in sp_prib

	thisform.refresh()
	thisform.grdList.setfocus()
endif

запись удаляется из Griв, в таблице же строка помечается на удаление. Как сделать, чтобы запись удалялась?
Если
Код: plaintext
1.
2.
3.
select sp_prib
delete all
pack
Я так понял что этим способом лучше не пользоваться.
...
Рейтинг: 0 / 0
Удаление записей
    #37440243
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей1985,

Если это массовое удаление, т.е. много записей удаляется, то на мой взгляд - это неправильная концепция приложения. Если уверен на 150%, что программа будет работать только на одном компьютере, то можно использовать, в противном случае будет ошибка, что таблица д.б. открыта эксклюзивно.
...
Рейтинг: 0 / 0
Удаление записей
    #37440296
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей1985Здравствуйте помогите разобраться с вопросом.
Есть форма с Grid. При выполнении процеду DoDelete
Я так понял что этим способом лучше не пользоваться.

Правильно delete только помечает, что запись удалена.
Можно например перед закрытием таблицы делать pack.
...
Рейтинг: 0 / 0
Удаление записей
    #37440304
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulАндрей1985Здравствуйте помогите разобраться с вопросом.
Есть форма с Grid. При выполнении процеду DoDelete
Я так понял что этим способом лучше не пользоваться.

Правильно delete только помечает, что запись удалена.
Можно например перед закрытием таблицы делать pack.

При наличии только 1-го пользователя
...
Рейтинг: 0 / 0
Удаление записей
    #37440315
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorNGПри наличии только 1-го пользователя

Согласен.
...
Рейтинг: 0 / 0
Удаление записей
    #37440330
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulАндрей1985Здравствуйте помогите разобраться с вопросом.
Есть форма с Grid. При выполнении процеду DoDelete
Я так понял что этим способом лучше не пользоваться.

Правильно delete только помечает, что запись удалена.
Можно например перед закрытием таблицы делать pack.

При наличии только 1-го пользователя
...
Рейтинг: 0 / 0
Удаление записей
    #37440501
Андрей1985
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В main.prg прописал SET DELETED ON. При запуске программы, записи, помеченные на удаление исчезают. При открытии проекта снова появляются.
...
Рейтинг: 0 / 0
Удаление записей
    #37440509
Андрей1985
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получается, что перед запуском проекта, каждый раз нужно запускать SET DELETED ON
...
Рейтинг: 0 / 0
Удаление записей
    #37440564
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей1985,

В главном prg запиши. А вообще, стоит проанализировать, откуда берутся удаленные записи. Если уж это такая необходимость, то только один вариант. Физически удалять помеченные на удаление записи в то время, когда пользователи не работают.
...
Рейтинг: 0 / 0
Удаление записей
    #37440603
SSn888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей1985,

(1) Делайте при закрытии программы (как вариант)

local _l_lPacked
_l_lPacked = .T.
on error _l_lPacked = .F.
sele ...
pack
on error

(2)
Проверьте, какой вариант буферизации... Може - необходимо подтвержать изменения в данных? (см. Tableupdate/Tablerevert)
...
Рейтинг: 0 / 0
Удаление записей
    #37441074
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SSn888,

Ну советовали же уже...
Зачем же неофитов развращать?

Код: plaintext
1.
2.
PACK
ZAP
EXCLUSIVE
(и некоторые другие) - запрещенные команды в _клиентском приложении_ от имени пользователя.

2 Андрей1985

Код: plaintext
1.
2.
3.
4.
5.
if messagebox("Удалить запись?",  4 + 32 , "Удаление") =  6 
	delete next  1  in sp_prib
	skip - 1  in sp_prib
           if bof()
                     go top
           end if
ну и индекс в sp_prib должен быть активирован...
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удаление записей
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]