|
|
|
|
#1 |
|
Участник
|
Неа, точно нет, нигде не перекрыт
Причем такая еще особеность: данной код является частью кода обработчика события modified для контрола, которому назначен датасорс и датафилд, разумеется. И такая фигня происходит. А если перенести этот код, скажем, чтоб работал по нажатию кнопки - такой проблемы нет... Контрол, для которого сейчас выполняется сей код - это стрингЭдит с выпадающим списком. В свою очередь, физически, датафилд данного контрола является внешним ключом таблицы. Вывод этой таблицы (набор столбцов) определен через группу AutoLookup. Может поможет, скорее всего дело в этом Последний раз редактировалось Vasiliusis; 13.02.2013 в 11:39. |
|
|
|
|
#2 |
|
Участник
|
Цитата:
Т.е. вы сразу как только, пользователь изменил значение поля на форме (изменения произошли только на форме, не в БД), производите вставку новой записи в таблицу и ещё на форме прерываете процесс редактирования пользователем записи и переводите курсор на другую... По идее при потере курсора редактируемая запись должна будет сохраниться, но что если сохранение(метод write) проведённых изменений по каки-либо причинам не отработает? Что будет с целостностью данных?
|
|
|
|
|
#3 |
|
Участник
|
Цитата:
В форме, точнее в объекте формы, сохраняется айдишник записи. Гридов на этой форме нет. Одно открытие формы - работа только с одной записью. Т.к. запись одна, то соответственно все манипуляции в форме отражаются только в ней одной, т.к. позиция записи в ДС не меняется. Кроме этого, если будут возникать эксепшены - я отслежу почему и устраню, а так - многие данные выбираются из связанных таблиц, следовательно, целостность данных не пострадает. Если я Вас правильно понял. |
|
|
|
|
#4 |
|
Участник
|
Вместо last() используйте reread()/refresh().
Не понимаю, зачем вы это делаете?
__________________
// no comments |
|
|
|
|
#5 |
|
Участник
|
|
|
|
|
|
#6 |
|
Участник
|
Короче, дело закрыто, всем спасибо
|
|
|
| Теги |
| волшебство, колдовство, магия |
|
|
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|