Форум: "Базы";
Текущий архив: 2002.07.04;
Скачать: [xml.tar.bz2];
ВнизПомогите с Insert разобраться Найти похожие ветки
← →
PTE (2002-06-10 09:02) [0]База на Access. Есть 2 таблицы, main и detail.
у них main.id=detail.main_id
На форме у меня 4 DBEdit и один DBGrid. Обращаюсь к ним и связываю между собой посредством 2-Query, DataSource
В main полe id ключевое не допускает повторений, а в detail ключевое поле key_id.
Как мне обработать кнопку по которой дожнен формироваться новый документ, т.е. В таблицы должны вставлятся новые строчки причем в main в поле id должно сразу подставлятся значение на 1 больше максимального, а в detail в key_id на 1 больше максимального?
Таблица DBGrid показывет detail, а DBEdit отображает поля в main, когда пользователь опускается курсором и добавляет новую строчку как мне сделать, что бы в таблицу добавлялась key_id новое значение на 1 больше предыдущего, а main_id равнялось main.id&
Спасбо
← →
Dennn_is (2002-06-10 09:39) [1]Под кнопкой Insert написать:
Table1.FieldByName("ID").AsInteger := Table1.RecordCount + 1;
← →
Sergey13 (2002-06-10 10:10) [2]Сделать key_id автоинкрементным. При варианте от Dennn_is (10.06.02 09:39) не исключена вероятность двоения ключей, т.к. никто не гарантирует отсутствие дыр в нумерации. Можно также отдельным запросом посмотрель это максимальное значение. Select max(key_id) from detail_table. Или сразу Select max(key_id)+1 from detail_table. И его вставлять для новой записи. Хотя если доступ многопользовательский, то и тут могут возникнуть проблемы. Так что автоинкремент предпочтительнее.
← →
PTE (2002-06-11 11:25) [3]не получается вставить новый документ. Как мне обработать клик по бутону, что бы в таблицы вставлялся новый документ. Вот Insert для таблиц
для main
insert into main
(id, contact, chet, valname, viper, data, itog, nds)
values
(:id, :contact, :chet, :valname, :viper, :data, :itog, :nds)
для detail
insert into detail
(key_id, main_id, usluga, kolvo, cena, summa)
values
(:key_id, :main_id, :usluga, :kolvo, :cena, :summa)
данные из main вывожу в DBEdit-ы, туда пользователь заносит новые данные по клиенту. Данные из detail вывожу в DBGrid, тут ещё проблема в том, что когда пользователь опускаясь курсором добавляет новую строчку автоматом должно добавляться в detail.key_id - уникальное значение, а в detail.main_id значение из main.id
main.id=detail.maim_id
main.id ключевое поле не должно быть совпадений, detail.key_id то же ключевое не должно быть совпадений, а detail.main_id должно равняться новому создаваемому полю в main.id
Как мне это сделать использую Query?
Помогите я не сталкивался с этим что-то дошел до этого места и ничего не получается
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.07.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c