Если у вас есть одна таблица, добавьте в нее поле Autonumber.
Затем создайте другие таблицы и используйте значение Autonumber из исходной таблицы в качестве внешнего ключа, чтобы объединить их с исходными данными.
Если у вас был tblPerson:
tblPerson
LastName, FirstName, WorkPhone, HomePhone
и вы хотите разбить его, добавить автонумера PersonID и затем создать таблицу телефона:
tblPhone
PhoneID, PersonID, PhoneNumber, Type
Затем вы добавите данные из tblPerson для соответствующих полей:
INSERT INTO tblPhone (PersonID, PhoneNumber, Type)
SELECT tblPerson.PersonID, tblPerson.WorkPhone, "Work"
FROM tblPerson
WHERE tblPerson.WorkPhone Is Not Null;
и затем вы выполните другой запрос для домашнего телефона:
INSERT INTO tblPhone (PersonID, PhoneNumber, Type)
SELECT tblPerson.PersonID, tblPerson.HomePhone, "Home"
FROM tblPerson
WHERE tblPerson.HomePhone Is Not Null;
Кто-то предложил запрос UNION, который вам нужно сохранить, поскольку у вас не может быть запроса UNION в качестве подвыбора в Jet SQL. Сохраненный запрос будет выглядеть примерно так:
SELECT tblPerson.PersonID, tblPerson.WorkPhone, "Work" As Type
FROM tblPerson
WHERE tblPerson.WorkPhone Is Not Null
UNION ALL
SELECT tblPerson.PersonID, tblPerson.HomePhone, "Home" As Type
FROM tblPerson
WHERE tblPerson.HomePhone Is Not Null;
Если вы сохранили это как qryPhones, вы добавили бы qryPhones с этим SQL:
INSERT INTO tblPhone (PersonID, PhoneNumber, Type)
SELECT qryPhones.PersonID, qryPhones.WorkPhone, qryPhones.Type
FROM qryPhones;
Очевидно, это просто простейший пример. Вы бы сделали то же самое для всех полей. Ключ заключается в том, что вам необходимо создать значение PK для исходной таблицы, которое свяжет все производные записи с исходной таблицей.