Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Вопрос по форме  [new]
190r
Member

Откуда:
Сообщений: 23
Приветствую!
Создал форму с двумя закладками, на одной таблица grid, а на второй подробно запись из таблицы.
на второй закладке есть кнопка "Удалить", но запись из таблицы не удаляется
InMsgResult=messagebox("Дійсно бажаєте видалити?",52,"Вилучити")
*вывод информационного окна с заголовком Удалениен
*текст в окне Действительно хотине удалить?
*52=4+48+0
*4 - в информационном окне кнопки Да и Нет
*48 - картинка восклицательного знака
*0 - по умолчанию кнопка Да
if inmsgresult=6   && если выбрана кнопка Да
select gorod
delete && Удаление
goto top && Переход к первой записи
*делаем активной первой страницу формы
thisform.pageframe1.activepage=1
*обновление первой страницы формы
thisform.pageframe1.page1.refresh
*делаем активным поле со списком первой страницы
thisform.pageframe1.page1.grid1.SetFocus
*обновление поле со списком
thisform.pageframe1.page1.grid1.refresh
endif
Почему?
18 сен 11, 22:06    [11295608]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по форме  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
1. Нужна глобальная настройка

SET DELETED ON

Если форма работает в Private DataSession, то эту настройку надо делать при открытии формы. Либо в событии Form.Load, либо в событии Form.Init

Если форма работает в Default DataSession, то эту настройку достаточно сделать в главном стартовом файле проекта. В форме ее делать уже не обязательно.

2. Физически, команда Delete запись не удаляет, а только ставит пометку на удаление. Настройка SET DELETED ON скрывает такие записи от пользователя. Чтобы запись физически удалить надо дать специальную команду. Однако эта специальная команда, как правило, выполняется как некая административная операция раз в неделю/месяц/год. В зависимости от интенсивности удаления. По кнопке "удалить" эту специальную команду давать ни в коем случае нельзя. Только команду Delete и все!

Если Вы делаете курсовую, то использовать эту специальную команду для физического удаления записей, ранее помеченных как удаленные, Вам вообще не надо. Лучше даже и не знать, а то наворочаете делов, потом месяц будете разгребать последствия... Тут полно вопросов от таких "энтузиастов". Небольшое количество записей, помеченных как удаленные никак не скажутся на работе приложения. Ну, кроме индексов Candidad при определенных условиях.
18 сен 11, 22:32    [11295656]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по форме  [new]
190r
Member

Откуда:
Сообщений: 23
ВладимирМ спасибо, работает.
19 сен 11, 23:32    [11302012]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить