Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.26;
Скачать: CL | DM;

Вниз

Редактирование данных в таблице Access через ADOQuery   Найти похожие ветки 

 
bss ©   (2003-12-03 15:12) [0]

Есть соединение с таблицей MS Access ADOConnection. Есть запрос данных из таблицы ADOQuery1.
Пишу ADOQuery1.Edit и хочу начать редактировать запись, но запрос почему-то имеет состояние dsEdit... Проверяю свойство запроса CanModify, все в порядке.

В чем может быть проблема?


 
Плохиш_   (2003-12-03 15:14) [1]


> Есть соединение с таблицей MS Access ADOConnection. Есть
> запрос данных из таблицы ADOQuery1.
> Пишу ADOQuery1.Edit и хочу начать редактировать запись,
> но запрос почему-то имеет состояние dsEdit... Проверяю свойство
> запроса CanModify, все в порядке.
>
> В чем может быть проблема?

Закусывать не пробывал?


 
bss ©   (2003-12-03 15:27) [2]

На работе не пью...

А вообще-то первый раз сталкиваюсь с такой проблемой...


 
Vlad ©   (2003-12-03 15:28) [3]


> Закусывать не пробывал?

.... сказал Плохиш_ Светлане :)


> Пишу ADOQuery1.Edit и хочу начать редактировать запись,
> но запрос почему-то имеет состояние dsEdit...

А какое, по вашему мнению, запрос (как вы его называете) должон иметь состояние после AdoQuery.Edit ? :)


 
bss ©   (2003-12-03 15:33) [4]

Извиняюсь...
Очепаточка вышла... выдал желаемое за действительное...

На самом деле все обстоит так:
Почему-то при команде ADOQuery1.Insert запрос имеет состояние dsInsert, а вот при командеADOQuery1.Edit почему-то остается в состоянии dsBrowse (в предыдущем сообщении очепаточка была) и соответственно запись не редактируется...

В чем дело? Может быть какое-то свойство у ADOQuery неграмотно стоит?


 
Плохиш_   (2003-12-03 15:37) [5]

>bss © (03.12.03 15:33) [4]

Проверь, что делается в OnBeforeEdit, OnAfterEdit.


 
Vlad ©   (2003-12-03 15:38) [6]


> Очепаточка вышла... выдал желаемое за действительное...

... Сказал Светлана.

Ну да бог с ним.
Ошибка однозначно в 17 строке.


 
bss ©   (2003-12-03 15:42) [7]

уже в событии BeforeEdit сщстояние запроса dsBrowse.
Странно еще то, что добавление и удаление записей происходит нормально, т.е. он не в readOnly...


 
Vlad ©   (2003-12-03 15:47) [8]


> BeforeEdit

Edit еще не произошел, потому что Before
Говорю, код людям дай поглядеть, может помогут.
В т.ч. все что у тебя написано в событиях Before\AfterEdit


 
Плохиш_   (2003-12-03 15:49) [9]


> bss © (03.12.03 15:42) [7]
> уже в событии BeforeEdit сщстояние запроса dsBrowse.
> Странно еще то, что добавление и удаление записей происходит
> нормально, т.е. он не в readOnly...


Ну и что ты хотел(а) ;-) оно-же и называется Before


 
Vlad ©   (2003-12-03 15:49) [10]

И еще как вариант. Твой набор данных - ReadOnly


 
bss ©   (2003-12-03 15:52) [11]

где это видно, что он readonly и почему тогда записи добавляются?


 
Vlad ©   (2003-12-03 15:58) [12]


> где это видно, что он readonly и почему тогда записи добавляются?

А где из вашего поста было видно что записи добавляются ?
Может расскажем нормально все-таки ? С примерами кода скажем... (еще один тонкий намек)


 
bss ©   (2003-12-03 16:04) [13]

Пример прцедуры нажатия на кнопку редактировать:

if DM.qNotRead.CanModify then
begin
DM.qNotRead.Edit;
if DM.qNotRead.State = dsEdit then //здесь запрос в состоянии dsBrowse
DM.qNotRead.FieldByName("HaveRead").AsBoolean := true;
end;
записи не редактируются, а при попытке присвоить полю "HaveRead" значение true вызвается ошибка, что запрос не находится в состоянии dsEdit или dsInsert

Пример прцедуры нажатия на кнопку добавить запись:

if DM.qNotRead.CanModify then
begin
DM.qNotRead.Insert;
if DM.qNotRead.State = dsInsert then //здесь запрос в состоянии dsInsert
DM.qNotRead.FieldByName("HaveRead").AsBoolean := true;
end;
Добавление записи происходит нормально...


 
Плохиш_   (2003-12-03 16:08) [14]

bss © (03.12.03 16:04) [13]

Уже лучше, теперь читаем последнее предложение в

> Vlad © (03.12.03 15:47) [8]


 
Плохиш_   (2003-12-03 16:09) [15]

Кстати, а набор данных у тебя случаем не пустой?


 
bss ©   (2003-12-03 16:11) [16]

При пустом наборе записей кнопка "Редактировать" запрещена вовсе...

И еще так к слову:
на форме "свои" кнопки редактирования, но при использовании стандартного TDBNavigator было тоже самое...


 
Vlad ©   (2003-12-03 16:22) [17]


> bss © (03.12.03 16:11) [16]


АЛЁ, КАМЧАТКА ! ЕСТЬ ЧТО НИБУДЬ НА СОБЫТИЯ ВАШЕГО QUREY BEFORE|AFTEREDIT ИЛИ ДАЛЬШЕ МОЛЧАТЬ БУДЕМ КАК ПАРТИЗАНЫ И НЕ ОБРАЩАТЬ ВНИМАНИЯ НА ЗАДАВАЕМЫЕ ВОПРОСЫ ?

Плохиш_ (03.12.03 16:08) [14]
Vlad © (03.12.03 15:47) [8]
Плохиш_ (03.12.03 15:37) [5]
Скока еще раз нужно спросить ?

-----
Извините, если я слишком много от вас хочу...


 
bss ©   (2003-12-03 16:23) [18]

нет, на эти события никаких моих процедур нет



Страницы: 1 вся ветка

Текущий архив: 2003.12.26;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.013 c
1-86402
konstantinov
2003-12-14 01:10
2003.12.26
Проверка диапазона значений


3-86246
Spaniel
2003-12-03 23:57
2003.12.26
Возня с SQL


1-86389
FireMan_Alexey
2003-12-15 11:47
2003.12.26
Как можно настроить!


14-86520
Ольга
2003-12-05 12:30
2003.12.26
Привет, подскажите пожалуйста хорошую ссылочку по работе


1-86396
azazello
2003-12-12 23:02
2003.12.26
Протокол работы программы.