Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: CL | DM;

Вниз

Связанные таблицы в Access   Найти похожие ветки 

 
Shamansky   (2005-02-20 21:24) [0]

Доброго времени суток, мастера подскажите решение проблемы: есть две связанные таблицы в одной базе, ключевые поля у одной ФИО и у другой ФИО связаны, как можно добавляя запись только в одну таблицу, добиться добавления записи в связанную с нец таблицу.
Целостность таблиц настроена, то есть изменяю поле ФИО в одной - оно автоматом изменяется в другой.


 
Desdechado ©   (2005-02-20 21:55) [1]

это не целостность...
и зачем дублировать фио в разных таблицах?


 
Shamansky   (2005-02-20 22:09) [2]

Ну насчет целостности я просто не дописал, в параметрах связи стоит обеспечение целостности данных.
ФИО можно не дублировать, просто чтобы одной записи из первой таблицы отвечала одна запись из другой. Я например знаю ФИО из первой таблицы, по этому ФИО необходимо изменить информацию во второй таблице.
Сейчас я делаю так: фильтрую вторую таблицу по значению ФИО, а потом редактирую, причем в первой таблице указатель стоит на нужной записи:
нельзя ли сделать запись такого типа: tablica1.tablica2.fieldbyname(..):=..


 
Anatoly Podgoretsky ©   (2005-02-20 23:37) [3]

Такого типа сделать нельзя, поскоьку это синтаксив функции, а не поля.


 
Shamansky   (2005-02-21 00:32) [4]

А обратиться к записи в связанной таблице через запись в главной таблице как-то можно?


 
Anatoly Podgoretsky ©   (2005-02-21 00:36) [5]

Расшифруй


 
Shamansky   (2005-02-21 00:52) [6]

У меня есть 2 таблицы, в каждой есть поле ФИО, причем каждая запись в первой таблице соответствует одной записи во второй. Так вот если я добавляю запись в первую таблицу мне нужно добавление одной записи во второй таблице и реализовать это примерно через такую запись
Table1.Append;
table1id.asstring:=string1;
table1fio.asstring:=string2;
Table1.post;
В первой таблице появится запись, необходимо чтобы появилась запись и во второй таблице, пустая или с данными все равно. Это как-то реализовуется через связанные таблицы, вопрос как?


 
Anatoly Podgoretsky ©   (2005-02-21 00:58) [7]

Никак, так как надо сначала данные записать в первую таблицу или наоборот во вторую, в зависимости от правил целостности. Только потом можно в другую. А в другую писать нет проблем.
table2fio.asstring:=table1fio.asstring;


 
Shamansky   (2005-02-21 01:06) [8]

Это понятно, а автоматом это никак не реализуется?
Что бы при добавлении записи в первую таблицу во второй появлялась запись с заполненным связанным полем, а остальные поля заполнялись "по умолчанию".
Может этого можно добиться средствами Access? Через запросы, например...


 
Desdechado ©   (2005-02-21 10:43) [9]

1. Вообще-то связи 1:1 обычно в одной таблице хранятся, а не в разных. Почитай про нормализацию данных.
2. Лучше оперируй не символьными ключами, а суррогатными числовыми - это удобнее и быстрее.
3. Для обработки связанных таблиц на клиенте проще использовать Query, а не Table


 
Erik1 ©   (2005-02-21 15:50) [10]

Для MsAccess Table быстрее.


 
Desdechado ©   (2005-02-21 16:33) [11]

кто тебе такое сказал?
если тебе надо 2 записи, ты всегда всю таблицу вынимаешь на кллиента?



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

Текущий архив: 2005.03.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.031 c
14-1109285890
Vasya.ru
2005-02-25 01:58
2005.03.20
Пятничные задачки или типа того


4-1107302590
Green_Templar
2005-02-02 03:03
2005.03.20
OpenPictureDialog


3-1108790471
DelphiN!
2005-02-19 08:21
2005.03.20
Как работать с SQL не "визуально" ?


1-1110189852
randomize
2005-03-07 13:04
2005.03.20
Keylogger


6-1106013209
Cryon
2005-01-18 04:53
2005.03.20
Определить IP клиента pop3 сервера (Indy)