|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Проблема с переходом ADOTable в EDIT
Возникла проблема:
ADOTable не переходит в Edit по соответствующему методу. Предсостояние: dsBrowse. В каком направлении надо искать причину? |
#2
|
|||
|
|||
А ты указываешь там таблицу или вью?
А ошибку каку-нить выводит? А записи есть? Если нету, то надо вызывать Insert или Append. |
#3
|
|||
|
|||
Указываю, ест-но, таблицу (кстати, забыл указать, что база Access2000 на локале).
Записи есть и перехожу в edit по результатам locate по ключевому полю. Ошибку выдает после попытки присвоения значения полю: "Project X raised exception class EDatabaseError with message: ADOTableY: Dataset not in edit or insert mode" - что правильно, т.к. вывести его из browse не удается |
#4
|
|||
|
|||
Код сюда запости.
|
#5
|
|||
|
|||
Ну вот что-то типа такого:
Код:
ADOTablePU.first; if (ADOTablePU.Locate('idReport',ReportID,[])) then begin ADOTablePU.Edit; //Переходим в режим редактирования if ADOTablePU.CanModify then begin iPU408:=RatePU408(ReportID); ADOTablePUitPU408.AsInteger:= iPU408; //Здесь выдается ошибка!!! ADOTablePU.Post; //Запоминаем корректировку ADOTablePU.Edit; //Опять переходим в режим редактирования end; lmikle: Где теги??? Голову оторву!!! И ведь, зараза, проверку на CanModify преодолевает Последний раз редактировалось WinnyThePooh, 16.02.2009 в 17:01. |
#6
|
|||
|
|||
1. Проверку CanModify надо вызывать до вызова Edit.
2. Свойство ReadOnly случаем не установлено? |
#7
|
|||
|
|||
1. Про CanModify - спасибо, не знал (но, надеюсь, это не меняет состояния базы?).
2. ReadOnly = false И вот ещё: эта проблема не с одной таблицей, а почти со всеми, хотя, некоторое время назад её не было. Возникла, имхо, после момента, когда начал создавать код по взаимным проверкам между таблицами (ну типа, читаем данные в одной - правим в другой). Но стараюсь везде перед контролем все post'ить... P.S. Про теги - прошу прощения, в будущем учту? (ну НОВИЧОК я ) Последний раз редактировалось WinnyThePooh, 16.02.2009 в 17:46. |
#8
|
|||
|
|||
Источник проблем найден...
Спасибо всем, кто откликнулся на проблему!
Решение, как всегда, оказалось тривиальным и находилось в генокоде программиста Функция RatePU408(ReportID) сносила Edit, т.к. в ней происходил поиск по Locate в базе, которую в Edit двумя строками ранее вызова функции перевели, и она, есс-но слетала опять в Browse. Переход в Edit непосредственно перед присвоением (ну, точнее, после функции) сняло проблему. |