Polytech-soft.com

ПК журнал
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как в аксессе соединить таблицы

Установка связей между таблицами БД Access 2007

Учебная дисциплина
Информатика и компьютерная техника
Модуль 2. Офисные прикладные программы Microsoft Office 2007

2.4. Microsoft Access 2007

2.4.3. Установка логических связей в БД Access 2007

Логические связи устанавливаются между одноименными полями таблиц базы данных Access 2007. Связь данных в одной таблице с данными в других таблицах осуществляется через уникальные идентификаторы (ключи) или ключевые поля. В нашем случае мы должны установить логические связи между таблицами: Группы студентов, Студенты, Дисциплины и Успеваемость.

Для установления связей используем ключевые поля: КодГруппы, КодСтудентов и КодДисциплины. Например, между первичным ключом (КодГруппы) tables Группы студентов и вторичным ключом (КодГруппы) tables Студенты устанавливаем связь один — ко — многим.

Прежде чем приступить к созданию логических связей надо в Окне редактирования закрыть все tables и перейти на вкладку Работа с базами данных. Затем щелкнуть на пиктограмме Схема данных, в окне редактирования появится активное диалоговое окно «Добавление таблицы» на фоне неактивного окна Схема данных (рис. 1).

В окне Добавление таблиц необходимо выделить имена таблиц и нажать кнопку Добавить, при этом в окне «Схема данных» появятся все tables (рис. 2). После этого необходимо закрыть окно диалога.

Далее необходимо установить связи между табл. в окне Схема данных. Для этого в окне Схема данных необходимо отбуксировать (переместить) поле КодГруппы из таблицы Группы студентов на соответствующее поле tables Студенты, в результате этой операции появится окно «Изменение связей» (рис. 3) .

В появившемся окне диалога «Изменение связей» (рис. 3) необходимо установить флажки: «Обеспечить целостность данных», «каскадное обновление связанных полей» и «каскадное удаление связанных записей», убедиться в том, что установлен тип отношений один-ко-многим и нажать кнопку Создать.

В окне Схема данных появится связь один-ко-многим между таблицами Группы студентов и Студенты. Аналогичным образом надо связать поля КодСтудента в таблицах Студенты и Успеваемость, а затем поля КодДисциплины в таблицах Успеваемость и Дисциплины. В итоге получим Схему данных, представленную на рисунке 4.

После установки связей между таблицами, окно Схема данных необходимо закрыть. Далее необходимо осуществить заполнение всех таблиц. Заполнение целесообразно начинать с табл. Группы студентов, так как поле КодГруппы табл. Студенты используется в качестве столбца подстановки для заполнения соответствующего поля табл. Студенты.

Затем установить связи между табл. «Студенты» и «Успеваемость», «Дисциплины» и «Успеваемость», так как поля КодСтуденты и КодДисциплины табл. Успеваемость используется в качестве столбца подстановки для заполнения соответствующих полей таблицы Успеваемость.

Copyright

© Обучение в интернет, .
Обратная связь

Объединение данных из нескольких таблиц в одну

Здравствуйте уважаемые участники форума.

Прошу помочь советом, как решить такую задачку.

Имеется несколько таблиц, они схожи по структуре, т.е. в каждой есть поля с одинаковым типом данных ( дата приема, номер заказа и т.п.) но разное содержание.
Наступил торжественный час объеденить все это хозяйство в одно что то целое где бы все эти данные отражались по порядку, в общем свести их как то друг с другом.
Целью является создание одного отчета по всем данным.

03.03.2019, 12:56

Объединение нескольких разных таблиц в одну
Добрый день! Помогите пожалуйста с таблицей. Имеется несколько таблиц с разным кол-вом столбцов.

Объединение таблиц с выбором нескольких данных по id
Здравствуйте, Уважаемые форумчане) Возник вопрос в связи с расширением списка хранящихся данных по.

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

Читать еще:  Как создать отчет в аксессе

Объединение нескольких таблиц в одну
Добрый день! Excel’ем приходится пользоваться нечасто, поэтому прошу не пинать 🙂 Суть.

03.03.2019, 13:18203.03.2019, 13:26303.03.2019, 13:52 [ТС]4

Спасибо за быстрый ответ , попробовал, но оно предлагает свести не все на все а только те что совпадают друг с другом, либо из одной все и из второй те что совпадают с первой, либо из второй все и из первой те , что совпадают со второй. ))) Как бы вывести все из первой и все из второй.

Добавлено через 1 минуту
Нельзя ли поподробнее, как сделать этот юнион запрос..может есть похожая тема.

03.03.2019, 14:085

Решение

03.03.2019, 15:22 [ТС]6

Спасибо огромное , сейчас попробую.

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

Добавлено через 4 минуты
пишет ошибочная инструкция sql предполагалось делит, инсерт, селект, продедур или апдейт) сорян за русские слова

Добавлено через 14 минут

03.03.2019, 15:22
03.03.2019, 15:22

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Объединение нескольких таблиц в одну
вот есть 5 таблиц test_1,test_2. 5 , у них всего два поля id(autoincrement) и word(varchar(50)).

Объединение нескольких таблиц в одну
Доброго времени суток Уважаемые друзья нужна Ваша помощь Задачка такая Есть несколько.

Копирование данных из нескольких таблиц в одну
Доброго времени суток. Передо мной стоит задача: есть книга, в которой содержится N-ное количество.

Подгрузка данных из нескольких таблиц в одну
Доброго времени суток, профессионалы экстра класса! Требуется помощь в написании макроса по.

Связывание таблиц на схеме данных

Для того чтобы было удобно просматривать, создавать, удалять и модифицировать связи между таблицами, в Microsoft Access используется схема данных (Relationships) (рис. 2.27).

Чтобы открыть схему данных, необходимо выполнить команду Сервис, Схема данных (Tools, Relationships). По умолчанию схема будет содержать все таблицы со связями. Поэтому сюда будет включена, например, наша новая таблица «Список рассылки оповещений», которая была связана с таблицей «Клиенты» (Customers) при помощи Мастера подстановок (см. разд. «Использование Мастера подстановок» выше в данной главе).

Чтобы убрать какую-либо таблицу из схемы данных, необходимо щелкнуть правой кнопкой мыши на любом месте этой таблицы и из контекстного меню выбрать команду Скрыть таблицу (Hide table). Например, на рис. 2.27 таблица «Список рассылки оповещений» скрыта.

Удаление таблицы из схемы данных не означает удаление ее из базы данных, просто она не присутствует в схеме.

Чтобы вновь добавить в эту схему свернутую таблицу («Список рассылки оповещений») или таблицу, у которой связи еще не установлены, необходимо:

  1. Щелкнуть правой кнопкой мыши на свободном пространстве схемы данных и из контекстного меню выбрать команду Добавить таблицу (Show table).
  2. В диалоговом окне Добавление таблицы (Show table) раскрыть вкладку Таблицы (Tables), выбрать из списка таблицу «Список рассылки оповещений», и нажать кнопку Добавить (Add) (рис. 2.28).

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

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

Согласованные типы данных означают следующее: если ключевое поле имеет тип данных Счетчик (AutoNumber), то соответствующее ему поле в другой таблице должно иметь тип Длинное целое (Long Integer). В остальных случаях типы данных должны просто совпадать.

Если нужная связь автоматически не создана, ее можно создать двумя путями. Первый путь — графический. Следует выбрать в главной таблице поле для связи, нажать левую кнопку мыши и перетащить поле во вторую таблицу. Отпустить левую кнопку мыши над тем полем подчиненной таблицы, с которым устанавливается связь. После этого появится диалоговое окно Изменение связей (Edit Relationships) (рис. 2.29).

Альтернативный вариант — выбрать команду Связи, Изменить связь (Relationships, Edit Relationships) из главного меню Access. Эта команда появляется в меню, когда открыто окно Схема данных (Relationships).

    В диалоговом окне Изменение связей (Edit Relationships) можно выбрать из списков названия связанных таблиц и полей для связывания. Если отношение между таблицами «один-ко-многим», то слева из списка Таблица/запрос (Table/ Query) выбирается главная таблица и поле в этой таблице, а справа из списка Связанная таблица/запрос — подчиненная и соответственно поле в ней. Если отношение «один-к-одному», то порядок таблиц значения не имеет. Если вы устанавливали связь графически, то все поля в списках уже выбраны, и нужно только определить правила ссылочной целостности.

По умолчанию устанавливается первый переключатель. Нажать кнопку ОК.

  • Когда создается новая связь, можно также воспользоваться кнопкой Новое (Create New) и в окне Создание (Create New) ввести имена связываемых таблиц и имена полей, используемых для связи. Нажать кнопку ОК.
  • После установки всех параметров связи необходимо нажать кнопку ОК в окне Параметры объединения (Edit Relationship) и закрыть окно Схема данных (Relationship), нажав на кнопку Закрыть в правом верхнем углу окна.
  • Связанные таблицы

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

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

    Поле Тип размещения в отеле я разбил на два и создал не одну, а две таблицы. Собственно размещение (DBL, SNGL, DBL + CHLD, TRPL, . ) — таблица Arrangements, на каком питании (BB, HB, FB, ALL, No meal) — таблица Meals. Для обеих табличек по два поля: ключевое и значение. Для полей Страна и Отель таблицы имеют всего лишь больше полей.

    Для дальнейшей работы и тестирования необходимо занести некоторые данные, например, страны, отели:

    Основная таблица и источники записей полей

    Бронирование отелей будет заключаться в занесении данных в основную таблицу. Таблицы, служащие источником записей полей основной таблицы, как правило обновляются довольно редко, некоторые практически никогда не обновляются. Так очень вероятно, что именно список отелей будет обновляться чаще других, плюс в таблице отелей может меняться информация для уже существующих записей (например, если мы сами напрямую осуществляем бронирование отелей, то мы добавим и будем пользоваться полями телефон, факс, имейл. ).

    Ниже даются комментарии по созданию связей между таблицами в access, но, возможно, Вам их будет легче понять, если Вы сперва посмотрите видео с примером создания связанной таблицы (использование внешнего ключа): table-lookup (файл в формате .mp4; пример на русской версии Access).

    Чтобы начать связывать между собой таблицы и заносить данные мы должны познакомиться как минимум с тремя типами данных: числовые, текстовые (строковые), даты. Под типами данных подразумевается прежде формат, в котором данные хранятся в базе данных. Мы не будем погружаться в дебри. Пока достаточно запомнить, что связывание двух таблиц должно происходить по полям с однотипными данными.

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

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

    Открываем таблицу Reservations (бронирование отелей) в режиме редактирования (кликаем правой мышкой по таблице, выбираем в меню Design View). Находим тип поля для reservationCountryText, меняем на числовое — Number. После этого смотрим в нижний левый угол программы «Аксес» и находим две закладки: General и Lookup, выбираем Lookup.

    Далее выбираем выпадающий список (Combo box), после чего появляются дополнительные опции. В источнике строк выбираем нужную нам таблицу (Countries), потом в верхнем левом углу программы «Аксес» переключаемся в режим таблицы (программа попросит сохранить таблицу, говорим — ОК).

    Смотрим, что получилось в поле reservationCountry. Во-первых, подставляется некоторое значение по умолчанию (0), во-вторых, мы имеем выпадающий список, но в котором видим пока только числа. Эти числа — значения первого столбца из связанной таблицы (поскольку именно первый столбец и именно он один берется по умолчанию при создании связи).

    Наша задача — вывести названия стран. Для этого установим параметры выпадающего списка стран (Combo box для reservationCountry). Возвращаемся в режим редактирования таблицы ; помещаем курсор в поле reservationCountry и открываем внизу закладку Lookup. После выбора нами источника строк (Countries) по умолчанию программа Аксесс «привязала» первый столбец из связанной таблицы (Bound Column), в том смысле, что значением поля reservationCountry будет выбранное нами значение. Всего столбцов из связанной таблицы по умолчанию выбирается 1 (Column count). Изменим это значение на 2, оставим пока поле Column Heads без изменений, а в поле Column Widths нам надо указать ширину отображения каждого столбца: достаточно набрать 1;1 и выйти из поля, программа сама подставит единицу измерения, т.е. станет 1cm;1cm. Теперь мы можем сохранить изменения и посмотреть результат в таблице (остальные параметры оставим пока без изменений).

    Если мы выберем значение из отображающегося теперь в основной таблице выпадающего списка, то будем удивлены, что по прежнему подставляется числовое значение, а не название страны (например, число 2 вместо Турции).

    Для того, чтобы вывести только название страны, в поле Column Widths изменим значение 1cm;1cm на 0cm;1cm, т.е. мы «спрячем» первый столбец из связанной таблицы (важно: в таблицу в конечном счете все равно подставляется числовое значение, просто оно теперь не отображается).

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

    Соответственно вашим заданием будет: связать таблицы Hotels, Arrangements, Meals (для последней еще надо будет создать поле, поскольку логичнее будет разбить поле reservationArrangement на два: reservationArrangement и reservationMeal; для этого поставьте курсор в режиме редактирования таблицы в следующее после поля reservationArrangement и кликните на значок, как обведено жирным на рисунке ниже; вы получите пустую строчку в нужном месте и можете добавить поле и сразу связать с нужной таблицей (не забудьте про тип создаваемого поля)).

    Ссылка на основную публикацию
    Adblock
    detector