Форум: "Базы";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];
ВнизСвязанные таблицы в Access Найти похожие ветки
← →
Yuri Btr (2002-07-19 12:11) [0]Ув. мастера, у меня есть две связанные таблицы в Access базе:
Допустим поля первой таблицы (Table1)-
(1)"Номер"
(2)"Название устройства"
а поля второй таблицы (Table2)-
(1)"Номер"
(2)"Дата использования"
Таблицы связаны по "Номеру" в соотношении один - ко многим, т.е. Одному устройству может соответствовать несколько дат использования. Как мне из Дельфи, после вставки записи:
Table1.InsertRecord([Номер,Название устройства])
Добавить во вторую таблицу даты именно для этого номера устройства? Если мне не известен Номер, потому как поле Номер - автоинкрементное.
Table2.InsertRecord([Номер,Дата использования])
Наверное надо для начала настроить MasterSource для Table2 и связать их по Номеру?
Заранее спасибо.
← →
MsGuns (2002-07-19 12:19) [1]При связи Master-Detail в гриде детальной таблице вообще не надо держать колонку с ключом - при добавлении туда новой записи это поле заполнится автоматически. Но добавлять в детал надо ручками (в смысле программно сделать Insert (Append)
← →
Lola (2002-07-19 12:52) [2]Во второй таблице поле Номер должно быть не автоинкрементным, а Integer (автоинкрементное - это само собой, если нужно). Вот ему и присваиваешь значение автоинкрементнного поля из первой таблицы.
← →
MsGuns (2002-07-19 12:59) [3]>Lola
Не понял !
Есть 2 таблицы
Master:
-------------
MainKey MPole1 MPole2 ...
+
Detail:
-------------
MainKey Key1 Key2 .. DPole1, DPole2,...
+ любое любое
Связь по MainKey
Его "Номер" - это Key1. Оно может быть ЛЮБОГО типа !
А вот MainKey = MainKey(Master)
← →
Yuri Btr (2002-07-19 13:20) [4]Спасибо.
Я сделал так
Table1.Insert([nil,"Сервер"])
затем, когда курсор установится на новую запись,
Table2.Insert([Table1.FieldbyName("Номер").asInteger,"19.07.2002"])
(во второй таблице Номер - не автоинкрементное поле)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c