![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
грабли в ADO + JET... [D5, Jet 4]
wicked © (2002-03-14 10:03:00)не подскажет ли кто, как бороться с автоинкрементными полями access 2000?..
проблема в том, что при чтении описаний полей из таблицы он их читает как readonly и потом не даёт вставить запись (говорит, что не может модифицировать поле <xx>), если же readonly с такого поля убрать, то не даёт вставить запись по другой причине - недостаточная информация про ключ записи...
заранее извините, если решение очевидно, но сам не додумался...
MaXim1999 (2002-03-14 10:21:00) [21]Можно сделать, но в данном варианте довольно медленно: подключить подчиненную таблицу с перечнем всех полей таблицы, которую нужно обновить. Вставлять (изменить) запись не указывая значение инкрементного поля, запомнить (.Post), а потом обновить запрос и получить уже то значение, которое присвоил сам Access. Например в одной программе у меня так:
DocsPositions.DisableControls;
SubDocs.DisableControls;
SubDocs.Insert;
SubDocs.Edit;
SubDocsKodKard.Value:=чего-то-там;
SubDocsKodDoc.Value:=чего-то-там;
SubDocsPrihod.Value:=чего-то-там;
SubDocsRashod.Value:=чего-то-там;
SubDocsOstatok.Value:=чего-то-там;
SubDocs.Post;
SubDocs.Requery();
SubDocs.EnableControls;
DocsPositions.Requery();
DocsPositions.EnableControls;
DocsPositions - то что мне нужно на экран.
SubDocs - просто таблица со всеми полями.
Если кто подскажет проще буду благодарен.