Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удаление записей / 11 сообщений из 11, страница 1 из 1
14.09.2011, 15:27
    #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
14.09.2011, 15:41
    #37440243
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записей
Андрей1985,

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

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

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

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

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

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

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

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

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

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

(2)
Проверьте, какой вариант буферизации... Може - необходимо подтвержать изменения в данных? (см. Tableupdate/Tablerevert)
...
Рейтинг: 0 / 0
15.09.2011, 08:23
    #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
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удаление записей / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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