Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > Связи между таблицами


Автор: ustas 9.2.2005, 12:24
Есть две таблицы

табл. 1. Многоканальные передатчики
ID пердатчика
Номер 1-го канала
Номер 2-го канала
Номер 3-го канала
...............
Номер n-го канала

табл2. Каналы
Номер канала
Частота приема
Частота передачи

Как правильно расставить связи, между полями "номер 1-го", "номер 2-го" и т. д. табл1 и полем "номер канала" табл2, чтобы при построении запроса из табл1, вместо номеров каналов можно было подставить например частоты приема для каждого канала.

Надеюсь понятно объяснил.

Автор: Akina 9.2.2005, 18:55
Табл1.НомерКанала <---много к одному---> Табл2.НомерКанала

Автор: ustas 10.2.2005, 07:49
Что из двух способов правильно:

1. Делаем связь табл1.номер канала1 <--->табл2.номер канала, затем заходим в свойства связи "изменение связей" и здесь доваляем связи табл1.номер канала2 <--->табл2.номер канала, табл1.номер канала3 <--->табл2.номер канала и т. д.

2. Делать независимые связи
табл1.номер канала1 <--->табл2.номер канала
табл1.номер канала2 <--->табл2.номер канала
табл1.номер канала3 <--->табл2.номер канала

Автор: boevik 10.2.2005, 08:30
ustas, переделай первую таблицу.
табл. 1. Многоканальные передатчики
ID пердатчика
Номер канала

И тогда делай связь как Akina написал.

Автор: Akina 10.2.2005, 09:13
Собсно можно сделать либо как пишет boevik, либо 3 таблицы:

Табл. 1 (Передатчики)
ID Передатчика (ключ)
Его описание и характеристики (цвет, размер, вкус, инв. номер и пр.)

Табл. 2 (Каналы)
ID Канала (Ключ)
Его характеристики (частота, дуплексность и пр.)

Табл. 3 (Каналы передатчиков)
ID записи (ключ)
ID передатчика (связь много к 1 в табл. 1)
ID канала (связь много к 1 в табл. 2)

Выбор зависит от назначения базы.

Автор: ustas 10.2.2005, 15:12
Спасибо boevik и Akina, воспользуюсь советом Akina, хоть и придеться ручками поработать (данные по новой заносить), зато возможностей будет больше. smile smile smile

Автор: boevik 10.2.2005, 15:16
ustas, зачем ручками заносить, ещё ошибок наделаешь.
Надо конвертнуть из старой в новую структуру.

Автор: Akina 10.2.2005, 15:17
Зачем заносить данные по-новой, когда можно пережевать в новую структуру уже имеющиеся? smile

Автор: ustas 11.2.2005, 09:55
А я уже переделал smile (записей пока немного), на будущее как это делается

Автор: Akina 11.2.2005, 12:57
Цитата(ustas @ 11.2.2005, 10:55)
на будущее как это делается

Это вопрос? отвечаю - одним запросом на создание новой таблицы (с новой структурой) на основе старой таблицы с данными, один раз выполняемым.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)