powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обработка ошибки при совпадении индекса
4 сообщений из 4, страница 1 из 1
Обработка ошибки при совпадении индекса
    #33447705
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леди и джентльмены!
Помогите решить простой вопрос, который неожиданно появился передо мной. Пример:
В tab1 кандидат-индекс (cFio+nGod+cAdres). Новые записи в таблицу добавляются через INSERT. Если проходит дубляж в индексе, происходит обработка ошибки (здесь на топике разъяснили мне когда-то), записи не происходит:
Error event
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
LPARAMETERS nError, cMethod, nLine
IF ERROR()= 1884 
=MESSAGEBOX(".....", 48 )
m.error=.T.
ENDIF 
Click event
IF NOT m.error
INSERT INTO ...
 	ENDIF
ENDIF
Пробую делать по той же схеме редактирование (через REPLACE). При дубляже после обработки ошибки у меня ключевые поля не меняются (что и надо мне), а вот во всех остальных полях смена значений происходит.
Благодарю
...
Рейтинг: 0 / 0
Обработка ошибки при совпадении индекса
    #33447712
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извините, спешила, написала не так:
Error event
Код: plaintext
1.
2.
3.
4.
LPARAMETERS nError, cMethod, nLine
IF ERROR()= 1884 
=MESSAGEBOX(".....", 48 )
m.error=.T.
ENDIF 
Click event
Код: plaintext
1.
2.
3.
IF NOT m.error
INSERT INTO ...
 	ELSE
ENDIF
...
Рейтинг: 0 / 0
Обработка ошибки при совпадении индекса
    #33447997
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Лисонька!

Надо буферизацию использовать и в случае ошибки откат.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Обработка ошибки при совпадении индекса
    #33450643
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor KorolyovНадо буферизацию использовать и в случае ошибки откат.
Так, почитала Help, попробовала поэксперементировать. Скажите, правильно ли я разобралась.
В DE в таблице, в которой происходит редактирование записи, в BufferMode я выставила значение 2.
Откат у меня происходит, если только я использую ТABLEREVERT в событии ошибки:
Код: plaintext
1.
2.
3.
4.
5.
6.
LPARAMETERS nError, cMethod, nLine
IF ERROR()= 1884 
=MESSAGEBOX(".....", 48 )
m.error=.T.
=TABLEREVERT(.t.,'table1')
RETURN
ENDIF 
Правильно ли я делаю?
Благодарю
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обработка ошибки при совпадении индекса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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