Вниз
Скачать: CL | DM;

Access - как измененить значение поля?   Найти похожие ветки 

← →
Максим   (2004-07-30 01:44) [0]

Подскажите, пожалуйста.
Прямо в DBGrid редактирую таблицу базы (Ms Access). Добавляю новую строку, устанавливаю значения полей, сохраняю, все работает. А изменить значения уже существующих строк не могу. Возникает  “Запись не может быть обновлена, так как с момента последнего чтения значения некоторых полей могли быть изменены”. Если редактировать таблицу не непосредственно в DBGrid, а так:
ADOConnection.BeginTrans;
ADOTable.Insert;
ADOTable.Fields[0]:= 1;
…
ADOTable.Post,
…
все работает, но при измении значение поля существующей записи  
ADOConnection.BeginTrans;
ADOTable.Edit;
ADOTable.Fields[0]:= 1;
ADOTable.Post, метод Post генерирует ту же ошибку.
(Access 97, ADOConnection.ConnectionString:=  "Provider=Microsoft.Jet.OLEDB.4.0;
Persist Security Info=False; User ID=Admin;Data Source=db.mdb". Не пойму где допускаю ошибку.


← →
ЮЮ ©   (2004-07-30 03:59) [1]

В таблице нет первичного ключа, а в записи до редактирования есть NULL-евые поля, поэтому запрос на модификацию и удаление не может найти эту запись в тавлице и считает, что она была уже кем-то изменена


← →
OhYoMaFa!   (2004-07-30 14:41) [2]

Вот несколько статей на эту тему:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=408
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=413
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=420
http://www.delphikingdom.com/mastering/ado.htm


← →
Leran2003   (2004-07-30 19:59) [3]

CursorLocation=clUseServer и будет тебе счастье :))


← →
starcomputer   (2004-07-31 09:38) [4]

Есть или нет ключ по моему безразлично!
Я уже долгое время пытаюсь решить этот вопрос и убедился, что пока не выполнишь close - open новые записи невозможно редактировать!
Так что если у кого-нибудь получиться сообщите плиз!!!

А ссылки на Королевство конечно не плохие, автор статей Shabal, мы с ним обсуждали этот вопрос и на форуме, и в частной переписке, в конце концов он со мной согласился :)


← →
sniknik ©   (2004-07-31 10:48) [5]

> Есть или нет ключ по моему безразлично!
да ну?
тогда попробуй SQL запросом удалить 3ю(/любую) позицию в таблице из совершенно одинаковых записей, одинаковых по всем полям.  
а ведь в случае SQL сервером, общение идет именно на языке SQL.
(только без всяких обходных путей типа завести новую таблицу и перекачать туда все -1 запись, это уже признак интелектуального решения, чего нельзя требовать от компонент)
можеш также попробовать изменить 1 запись в ряду одинаковых, только именно одну. если даш решение тогда пожалуй все с тобой согласятся, ключь не нужен.
(аксес не совсем хороший пример конечно, у него есть режим локального доступа, лучше бы было взять "чистый" сервер у которого нет скрытых ключей(/уникальных идентификаторов), но ладно пусть будет аксесс)

> и в частной переписке, в конце концов он со мной согласился :)
наверняка только потому чтобы ты отстал, обьяснять основы упорствуюшим дилетантам часто очень утомительно.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.019 c
9-1079999810
Новичек
2004-03-23 02:56
2004.08.22
Как написать 3d-игру?


3-1090915718
MORA
2004-07-27 12:08
2004.08.22
связанные таблицы


4-1089359467
Thick
2004-07-09 11:51
2004.08.22
Отслеживание модулей


14-1091785039
Cerberus
2004-08-06 13:37
2004.08.22
Текстовые фаилы


14-1091075206
Kerk
2004-07-29 08:26
2004.08.22
skype




   Наверх