2011-12-31 1 views
0

В основном у меня есть 2 таблицы с записями в них. Я хочу сделать еще одну таблицу, которая отображает записи из этих двух таблиц. Я также хочу, чтобы эта таблица автоматически добавляла новую запись, когда новая запись добавляется в исходные 2 таблицы.Создание таблицы отображения записей из нескольких таблиц, а также добавление новых записей в то же время

Например:

Table 1: Name, Age, Gender 
Joe, 24, Male 

Table 2: CarMake, Model, Year 
Ford,Focus, 2010 

Другая таблица будет затем показать:

ID: 1, Joe, 24, Male, 
ID: 2, Ford, Focus, 2010 
ID: 3, (whichever out of the 2 tables adds a records first) and so on 

Всякий раз, когда добавляется новая запись из таблицы 1 или таблицы 2, он будет добавлен к 3-му столу.

Как я могу это сделать? Нужно ли мне использовать внешний ключ? Все еще новые для доступа/баз данных.

Извините за мой плохой englsh.

+0

Какая версия макросов данных MS Access сопоставима с триггерами и доступна в Access 2010. Однако было бы лучше решить проблему, которую вы хотите решить, с помощью этого неортодоксального подхода. – Fionnuala

ответ

1

Нет ничего, что вы можете использовать в доступе, который обеспечит эту функциональность. Если вы использовали полную базу данных, такую ​​как SQL Server, тогда вы можете использовать триггер.

Однако вы должны сделать резервную копию и выяснить, какую проблему вы пытаетесь решить с помощью этого дизайна.

Если вы просто хотите отобразить список записей в том порядке, в котором они были созданы, вам не нужна другая таблица, вам просто нужно записать дату и время создания каждой записи в каждой таблице.

Вы могли бы использовать union, чтобы получить информацию из обеих таблиц (примерно):

SELECT Name + ', ' + Age + ', ' + Gender As Description , 
     DateCreated 
    FROM Table1 

    UNION 

    SELECT CarMake + ', ' + Model + ', ' + Year As Description , 
     DateCreated 
    FROM Table2 

ORDER BY DateCreated 

В качестве альтернативы, если вы должны иметь третью таблицу, то вам нужно будет изменить свой код, который пишет записи в базу данных для записи третьей таблицы.