![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Возникла проблема:
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 непосредственно перед присвоением (ну, точнее, после функции) сняло проблему. |