Руководство для пользователя по базам данных

Для
обеспечения надежной работы с базой
данных следует:

  • убедиться
    в наличии свободного пространства на
    диске, где будет установлена БД;

  • убедиться
    в наличии полного доступа к диску, где
    будет установлена БД (чтение и запись);

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

  • убедиться
    в отсутствии вирусов;

Желательно:

  • установить
    разрешение экрана 800×600, так как интерфейс
    пользователя оптимизирован для работы
    именно в этом разрешении;

  • наличие
    в системе принтера для печати отчетов
    и другой информации;

3 Инструкция пользователя

3.1 Назначение базы данных

База
данных предназначена для работников
гостиницы. В БД должны храниться сведения
о проживающих клиентах и служащих
гостиницы, убирающих в номерах. Имеются
номера трех типов: одноместный, двухместный
и трехместный, от­личающиеся стоимостью
проживания в сутки. Количество номеров
в гостинице известно.

О
каждом проживающем должна храниться
следующая информация: номер паспорта,
ФИО, город, из которого он прибыл, дата
посе­ления в гостинице, выделенный
гостиничный номер, на сколько дней
выделен номер. Каждый номер характеризуется
типом, стоимостью проживания, номером
телефона. Номера упорядочены по этажам.
О служащих гостиницы должна храниться
следующая информация: ФИО, № этажа, где
он убирает, день недели когда он убира­ет
данный этаж. Служащий гостиницы убирает
все № на одном этаже в определенные дни
недели.

Работа
с БД предполагает обслуживание следующих
запросов:

– получение
списка фамилий, проживающих в заданном
номере,

– вычисление
счета за проживание в гостинице,

– определение
количества свободных мест и свободных
номеров,

– получить
список прибывших из заданного города,

– определить
ФИО убирающего номер в заданный день
недели у неко­торого проживающего.

Администратор
БД может вносить следующие изменения:

– освобождение
номера проживающим,

– изменение
расписания уборки для служащего в
указанный день недели,

– увольнение
служащего гостиницы.

Необходимо
предусмотреть возможность выдачи
справки о счете за проживание в гостинице
определенного клиента и отче­та о
работе гостиницы за указанный срок
(число клиентов, сколько дней был занят
номер, сумма дохода гостиницы), о кол-ве
свободных номеров гостиницы.

Обозначение
используемых кнопок и их назначение
приведено в таблице 1.

Таблица
1

Обозначение
кнопки

Назначение

Переход
к следующей записи;

Переход
к предыдущей записи;

Выход;

Удалить
запись;

Найти
запись;

Добавить
запись;

Закрыть
форму;

Распечатать
данные.

3.2 Начало и завершение работы с базой данных

Работа
начинается с того, что Вам будет
представлена информация, приведенная
на рисунке 5.

Рисунок
5

Для
получения различной справочной информации
(п. 3.3) нажмите одну из трех кнопок
раздела «Информация для администратора».

Для
внесения изменений и добавления новых
данных (подраздел 3.4) нажмите одну из
трех кнопок раздела «Служебная информация»

Для
выхода из базы данных нажмите кнопку
«Выход».

Соседние файлы в папке Гостиница

  • #

    01.05.20143.32 Mб278Гостиница.mdb

  • #

В этой статье описана обычная процедура запуска Access и создания базы данных, которая будет использоваться на компьютере, а не в Интернете. В ней рассказано о том, как создать классическую базу данных на основе шаблона или с нуля с собственными таблицами, формами, отчетами и другими объектами. Кроме того, в статье рассмотрены способы импорта существующих данных в новую базу данных.

В этой статье

  • Обзор

  • Создание базы данных с помощью шаблона

  • Создание базы данных без использования шаблона

  • Копирование данных из другого источника в таблицу Access

  • Импорт, добавление или связывание данных из другого источника

  • Добавление части приложения

  • Открытие существующей базы данных Access

Обзор

При первом запуске Access, а также при закрытии базы данных без завершения работы Access отображается представление Microsoft Office Backstage.

Представление Backstage является отправным пунктом для создания новых и открытия существующих баз данных, просмотра релевантных статей на сайте Office.com и т. д., то есть для выполнения любых операций с файлом базы данных или вне базы данных, но не в ней.

Создание базы данных

Когда вы открываете Access, в представлении Backstage отображается вкладка «Новое». Создать базу данных можно несколькими способами:

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

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

  • Шаблон из Office.com    В дополнение к шаблонам, поставляемым с Access, много других шаблонов доступно на сайте Office.com. Для их использования даже не нужно открывать браузер, потому что эти шаблоны доступны на вкладке Создать.

Добавление объектов в базу данных

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

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

Также можно создавать запросы, формы, отчеты, макросы — любые объекты базы данных, необходимые для работы.

Создание базы данных с помощью шаблона

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

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

  1. Если база данных открыта, нажмите на вкладке Файл кнопку Закрыть. В представлении Backstage откроется вкладка Создать.

  2. На вкладке Создать доступно несколько наборов шаблонов. Некоторые из них встроены в Access, а другие шаблоны можно скачать с сайта Office.com. Дополнительные сведения см. в следующем разделе.

  3. Выберите шаблон, который вы хотите использовать.

  4. Access предложит имя файла для базы данных в поле «Имя файла». При этом имя файла можно изменить. Чтобы сохранить базу данных в другой папке, отличной от папки, которая отображается под полем «Имя файла», нажмите кнопку замещающий текст, перейдите к папке, в которой ее нужно сохранить, и нажмите кнопку «ОК». При желании вы можете создать базу данных и связать ее с сайтом SharePoint.

  5. Нажмите кнопку Создать.

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

    На вкладке Главная в группе Записи нажмите кнопку Удалить. Изображение кнопки

  6. Щелкните первую пустую ячейку в форме и приступайте к вводу данных. Для открытия других необходимых форм или отчетов используйте область навигации. Некоторые шаблоны содержат форму навигации, которая позволяет перемещаться между разными объектами базы данных.

Дополнительные сведения о работе с шаблонами см. в статье Создание базы данных Access на компьютере с помощью шаблона.

К началу страницы

Создание базы данных без использования шаблона

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

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

  • Импортировать данные из других источников, при этом создав таблицы.

Создание пустой базы данных

  1. На вкладке Файл щелкните Создать и выберите вариант Пустая база данных.

  2. В поле Имя файла введите имя файла. Чтобы сохранить файл в другой папке, отличной от используемой по умолчанию, нажмите кнопку Поиск расположения для размещения базы данных замещающий текст (рядом с полем Имя файла), откройте нужную папку и нажмите кнопку ОК.

  3. Нажмите кнопку Создать.

    Access создаст базу данных с пустой таблицей «Таблица1» и откроет ее в режиме таблицы. Курсор будет помещен в первую пустую ячейку столбца Щелкните для добавления.

  4. Чтобы добавить данные, начните вводить их или вставьте из другого источника (см. раздел Копирование данных из другого источника в таблицу Access).

Ввод данных в представлении таблицы аналогиен вводу данных на листах Excel. Структура таблицы создается при вводе данных. При добавлении нового столбца в таблицу в таблице определяется новое поле. Access автоматически задает тип данных каждого поля на основе введите данные.

Если на этом этапе вводить данные в таблицу «Таблица1» не нужно, нажмите кнопку Закрыть Изображение кнопки. Если вы внесли изменения в таблицу, будет предложено сохранить их. Нажмите кнопку Да, чтобы сохранить изменения, кнопку Нет, чтобы не сохранять их, или кнопку Отмена, чтобы оставить таблицу открытой.

Совет:  Access ищет файл с именем Blank.accdb в папке [диск установки]:Program FilesMicrosoft OfficeTemplates1049Access. Если он существует, blank.accdb является шаблоном для всех новых пустых баз данных. Все новые базы данных наследуют содержимое этого файла. Это отличный способ распространения содержимого по умолчанию, например номеров компонентов или заявлений об отказе от ответственности и политик компании.

Важно: Если хотя бы один раз закрыть таблицу «Таблица1» без сохранения, она будет удалена полностью, даже если в нее введены данные.

Добавление таблицы

Добавление таблиц к существующей базе данных осуществляется командами группы Таблицы на вкладке Создать.

Изображение ленты Access

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

  1. на вкладке Создание в группе Таблицы нажмите кнопку Таблица. Изображение кнопки

    Access создаст таблицу и выделит первую пустую ячейку в столбце Щелкните для добавления.

  2. На вкладке Поля в группе Добавление и удаление выберите нужный тип поля. Если нужный тип поля не отображается, нажмите кнопку Другие поля Изображение кнопки.

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

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

  4. Чтобы добавить данные, начните вводить их в первую пустую ячейку или вставьте из другого источника (см. раздел Копирование данных из другого источника в таблицу Access).

  5. Для переименования столбца (поля) дважды щелкните его заголовок и введите новое название.

    Присвойте полям значимые имена, чтобы при просмотре области Список полей было понятно, что содержится в каждом поле.

  6. Чтобы переместить столбец, щелкните его заголовок для выделения столбца и перетащите столбец в нужное место. Можно выделить несколько смежных столбцов и перетащить их одновременно. Чтобы выделить несколько смежных столбцов, щелкните заголовок первого столбца, а затем, удерживая нажатой клавишу SHIFT, щелкните заголовок последнего столбца.

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

  1. На вкладке Создание в группе Таблицы нажмите кнопку Конструктор таблиц. Изображение кнопки

  2. Для каждого поля в таблице введите имя в столбце Имя поля, а затем в списке Тип данных выберите тип данных.

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

  4. Когда все необходимые поля будут добавлены, сохраните таблицу:

    • На вкладке Файл щелкните Сохранить.

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

Задание свойств полей в режиме конструктора.    Независимо от способа создания таблицы рекомендуется проверить и задать свойства полей. Хотя некоторые свойства доступны в режиме таблицы, другие можно настроить только в режиме конструктора. Чтобы перейти в режим конструктора, в области навигации щелкните таблицу правой кнопкой мыши и выберите пункт Конструктор. Чтобы отобразить свойства поля, щелкните его в сетке конструктора. Свойства отображаются под сеткой конструктора в области Свойства поля.

Щелкните свойство поля, чтобы просмотреть его описание рядом со списком Свойства поля. Более подробные сведения можно получить, нажав кнопку справки.

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

Свойство

Описание

Размер поля

Для текстовых полей это свойство указывает максимально допустимое количество знаков, сохраняемых в поле. Максимальное значение: 255. Для числовых полей это свойство определяет тип сохраняемых чисел («Длинное целое», «Двойное с плавающей точкой» и т. д.). Для более рационального хранения данных рекомендуется выделять для хранения данных наименьший необходимый размер памяти. Если потребуется, это значение позже можно изменить.

Формат поля

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

Маска ввода

Это свойство используется для определения общего шаблона для ввода любых данных в поле. Это позволяет обеспечить правильный ввод и нужное количество знаков для всех данных. Для получения справки по созданию маски ввода нажмите кнопку Кнопка "Построитель" справа от поля свойства.

Значение по умолчанию

Это свойство позволяет задать стандартное значение, которое будет отображаться в этом поле при добавлении новой записи. Например, для поля «Дата/время», в котором необходимо записывать дату добавления записи, в качестве значения по умолчанию можно ввести «Date()» (без кавычек).

Обязательное поле

Это свойство указывает, обязательно ли вводить значение в поле. Если для него задано значение Да, невозможно будет добавить запись, если в это поле не введено значение.

К началу страницы

Копирование данных из другого источника в таблицу Access

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

При вставке данных в пустую таблицу приложение Access задает тип данных для каждого поля в зависимости от того, какие данные в нем находятся. Например, если во вставляемом поле содержатся только значения даты, для этого поля используется тип данных «Дата/время». Если же вставляемое поле содержит только слова «Да» и «Нет», для этого поля выбирается тип данных «Логический».

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

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

  1. Нажмите клавиши CTRL+S, чтобы сохранить таблицу.

  2. В режиме таблицы дважды щелкните заголовок каждого столбца и введите описательное имя поля для каждого столбца.

  3. Еще раз сохраните таблицу.

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

К началу страницы

Импорт, добавление или связывание данных из другого источника

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

  1. В Access на вкладке Внешние данные в группе Импорт и связи выберите команду для типа файла, который необходимо импортировать.

    Группа "Импорт и связи" на вкладке "Внешние данные"

    Например, чтобы импортировать данные с листа Excel, нажмите кнопку Excel. Если вы не видите нужный тип программы, нажмите кнопку Дополнительно.

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

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

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

  4. Если будет запущен мастер, следуйте инструкциям на экране. На последней странице мастера нажмите кнопку Готово.

    При импорте объектов или связывании таблиц из базы данных Access открывается диалоговое окно Импорт объектов или Связь с таблицами. Выберите нужные элементы и нажмите кнопку ОК.

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

  5. Access предложит сохранить сведения о только что завершенной операции импорта. Если вы планируете повторить ее, нажмите кнопку Сохранить шаги импорта и введите нужные сведения. Позже для повторения этой операции достаточно будет нажать кнопку Сохраненные операции импорта Изображение кнопки на вкладке Внешние данные в группе Импорт и связи. Если вы не хотите сохранять сведения об операции, нажмите кнопку Закрыть.

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

К началу страницы

Добавление части приложения

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

Например, часть приложения «Примечания» состоит из таблицы с полем идентификатора, имеющим тип «Счетчик», поля даты и поля MEMO. Ее можно добавить в базу данных и использовать как есть или с минимальными изменениями.

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

  2. Откройте вкладку Создание.

  3. В группе Шаблоны нажмите кнопку Части приложения. Появится список доступных частей.

  4. Щелкните часть приложения, которую вы хотите добавить.

К началу страницы

Открытие существующей базы данных Access

  1. На вкладке Файл нажмите кнопку Открыть.

  2. В диалоговом окне Открытие файла базы данных найдите базу данных, которую нужно открыть.

  3. Выполните одно из следующих действий.

    • Чтобы открыть базу данных в режиме по умолчанию, дважды щелкните ее (режим по умолчанию может быть указан в диалоговом окне Параметры Access или установлен административной политикой).

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

    • Щелкните стрелку рядом с кнопкой Открыть и выберите вариант Открыть для чтения, чтобы открыть базу данных только для чтения, то есть для просмотра без возможности внесения изменений. При этом другие пользователи смогут выполнять запись в базу данных.

    • Щелкните стрелку рядом с кнопкой Открыть и выберите вариант Монопольно, чтобы открыть базу данных в монопольном режиме. Если ее затем попытается открыть другой пользователь, он получит сообщение «Файл уже используется».

    • Щелкните стрелку рядом с кнопкой Открыть и выберите вариант Монопольно для чтения, чтобы открыть базу данных только для чтения. Другие пользователи при этом смогут открывать базу данных только для чтения.

Примечание: Вы можете напрямую открывать файлы данных внешних форматов, например dBASE, Microsoft Exchange или Excel. Кроме того, можно открыть напрямую любой источник данных ODBC, например Microsoft SQL Server. Access автоматически создаст базу данных Access в одной папке с файлом данных и добавит ссылки на все таблицы внешней базы данных.

Советы

  • Чтобы открыть одну из недавно использовавшихся баз данных, щелкните Последние на вкладке Файл и выберите имя файла базы данных. Access откроет базу данных, используя параметры, которые применялись при ее открытии в прошлый раз. Если список последних использовавшихся файлов не отображается, щелкните Параметры на вкладке Файл. В диалоговом окне Параметры Access нажмите кнопку Параметры клиента. В разделе Вывод на экран укажите количество документов, которые необходимо отобразить в списке «Последние документы» (не больше 50).

    Кроме того, на панели навигации представления Backstage можно отдемонстрировать последние базы данных (1) вкладка «Файл», часть 2) базу данных, которую вы хотите открыть. В нижней части вкладки «Последние» выберите поле «Число последних баз данных», а затем укажите нужное количество.

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

К началу страницы

Установка

Когда вы изучаете новый язык, самым важным аспектом является практика. Одно дело – прочитать статью и совсем другое – применить полученную информацию. Давайте начнем с установки базы данных на компьютер.

Первый шаг – установить SQL

Мы будем использовать PostgreSQL (Postgres) достаточно распространенный SQL диалект. Для этого откроем страницу загрузки, выберем операционную систему (в моем случае Windows), и запустим установку. Если вы установите пароль для вашей базы данных, постарайтесь сразу не забыть его, он нам дальше понадобится. Поскольку наша база будет локальной, можете использовать простой пароль, например: admin.

Следующий шаг – установка pgAdmin

pgAdmin – это графический интерфейс пользователя (GUI – graphical user interface), который упрощает взаимодействие с базой данных PostgreSQL. Перейдите на страницу загрузки, выберите вашу операционную систему и следуйте указаниям (в статье используется Postgres 14 и pgAdmin 4 v6.3.).

После установки обоих компонентов открываем pgAdmin и нажимаем Add new server. На этом шаге установится соединение с существующим сервером, именно поэтому необходимо сначала установить Postgres. Я назвал свой сервер home и использовал пароль, указанный при установке.

Теперь всё готово к созданию таблиц. Давайте создадим набор таблиц, которые моделируют школу. Нам необходимы таблицы: ученики, классы, оценки. При создании модели данных необходимо учитывать, что в одном классе может быть много учеников, а у ученика может быть много оценок (такое отношение называется «один ко многим»).

Мы можем создать таблицы напрямую в pgAdmin, но вместо этого мы напишем код, который можно будет использовать в дальнейшем, например, для пересоздания таблиц. Для создания запроса, который создаст наши таблицы, нажимаем правой кнопкой мыши на postgres (пункт расположен в меню слева home Databases (1) postgres и далее выбираем Query Tool.

🐘 Руководство по SQL для начинающих. Часть 1: создание базы данных, таблиц и установка связей между таблицами

Начнем с создания таблицы классов (classrooms). Таблица будет простой: она будет содержать идентификатор id и имя учителя – teacher. Напишите следующий код в окне запроса (query tool) и запустите (run или F5).

        DROP TABLE IF EXISTS classrooms CASCADE;

CREATE TABLE classrooms (
    id INT PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
    teacher VARCHAR(100)
);
    

В первой строке фрагмент DROP TABLE IF EXISTS classrooms удалит таблицу classrooms, если она уже существует. Важно учитывать, что Postgres, не позволит нам удалить таблицу, если она имеет связи с другими таблицами, поэтому, чтобы обойти это ограничение (constraint) в конце строки добавлен оператор CASCADE. CASCADE – автоматически удалит или изменит строки из зависимой таблицы, при внесении изменений в главную. В нашем случае нет ничего страшного в удалении таблицы, поскольку, если мы на это пошли, значит мы будем пересоздавать всё с нуля, и остальные таблицы тоже удалятся.

Добавление DROP TABLE IF EXISTS перед CREATE TABLE позволит нам систематизировать схему нашей базы данных и создать скрипты, которые будут очень удобны, если мы захотим внести изменения – например, добавить таблицу, изменить тип данных поля и т. д. Для этого нам просто нужно будет внести изменения в уже готовый скрипт и перезапустить его.

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

Также вы могли обратить внимание на четвертую строчку. Здесь мы определили, что колонка id является первичным ключом (primary key), что означает следующее: в каждой записи в таблице это поле должно быть заполнено и каждое значение должно быть уникальным. Чтобы не пришлось постоянно держать в голове, какое значение id уже было использовано, а какое – нет, мы написали GENERATED ALWAYS AS IDENTITY, этот приём является альтернативой синтаксису последовательности (CREATE SEQUENCE). В результате при добавлении записей в эту таблицу нам нужно будет просто добавить имя учителя.

И в пятой строке мы определили, что поле teacher имеет тип данных VARCHAR (строка) с максимальной длиной 100 символов. Если в будущем нам понадобится добавить в таблицу учителя с более длинным именем, нам придется либо использовать инициалы, либо изменять таблицу (alter table).

Теперь давайте создадим таблицу учеников (students). Новая таблица будет содержать: уникальный идентификатор (id), имя ученика (name), и внешний ключ (foreign key), который будет указывать (references) на таблицу классов.

        DROP TABLE IF EXISTS students CASCADE;

CREATE TABLE students (
    id INT PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
    name VARCHAR(100),
    classroom_id INT,
    CONSTRAINT fk_classrooms
        FOREIGN KEY(classroom_id)
        REFERENCES classrooms(id)
);
    

И снова мы перед созданием новой таблицы удаляем старую, если она существует, добавляем поле id, которое автоматически увеличивает своё значение и имя с типом данных VARCHAR (строка) и максимальной длиной 100 символов. Также в эту таблицу мы добавили колонку с идентификатором класса (classroom_id), и с седьмой по девятую строку установили, что ее значение указывает на колонку id в таблице классов (classrooms).

Мы определили, что classroom_id является внешним ключом. Это означает, что мы задали правила, по которым данные будут записываться в таблицу учеников (students). То есть Postgres на данном этапе не позволит нам вставить строку с данными в таблицу учеников (students), в которой указан идентификатор класса (classroom_id), не существующий в таблице classrooms. Например: у нас в таблице классов 10 записей (id с 1 до 10), система не даст нам вставить данные в таблицу учеников, у которых указан идентификатор класса 11 и больше.

Невозможно вставить данные, поскольку в таблице классов нет записи с id = 1
        INSERT INTO students
    (name, classroom_id)
VALUES
    ('Matt', 1);

/*
ERROR: insert or update on table "students" violates foreign
    key constraint "fk_classrooms"
DETAIL: Key (classroom_id)=(1) is not present in table
    "classrooms".
SQL state: 23503
*/
    

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

        INSERT INTO classrooms
    (teacher)
VALUES
    ('Mary'),
    ('Jonah');

SELECT * FROM classrooms;

/*
 id | teacher
 -- | -------
  1 | Mary
  2 | Jonah
*/
    

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

        INSERT INTO students
    (name, classroom_id)
 VALUES
    ('Adam', 1),
    ('Betty', 1),
    ('Caroline', 2);

SELECT * FROM students;

/*
 id | name     | classroom_id
 -- | -------- | ------------
  1 | Adam     |            1
  2 | Betty    |            1
  3 | Caroline |            2
*/
    

Но что же случится, если у нас появится новый ученик, которому ещё не назначили класс? Неужели нам придется ждать, пока станет известно в каком он классе, и только после этого добавить его запись в базу данных?

Конечно же, нет. Мы установили внешний ключ, и он будет блокировать запись, поскольку ссылка на несуществующий id класса невозможна, но мы можем в качестве идентификатора класса (classroom_id) передать null. Это можно сделать двумя способами: указанием null при записи значений, либо просто передачей только имени.

        -- явно определим значение NULL
INSERT INTO students
    (name, classroom_id)
VALUES
    ('Dina', NULL);

-- неявно определим значение NULL
INSERT INTO students
    (name)
VALUES
    ('Evan');

SELECT * FROM students;

/*
 id | name     | classroom_id
 -- | -------- | ------------
  1 | Adam     |            1
  2 | Betty    |            1
  3 | Caroline |            2
  4 | Dina     |       [null]
  5 | Evan     |       [null]
*/
    

И наконец, давайте заполним таблицу успеваемости. Этот параметр, как правило, формируется из нескольких составляющих – домашние задания, участие в проектах, посещаемость и экзамены. Мы будем использовать две таблицы. Таблица заданий (assignments), как понятно из названия, будет содержать данные о самих заданиях, и таблица оценок (grades), в которой мы будем хранить данные о том, как ученик выполнил эти задания.

        DROP TABLE IF EXISTS assignments CASCADE;
DROP TABLE IF EXISTS grades CASCADE;

CREATE TABLE assignments (
    id INT PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
    category VARCHAR(20),
    name VARCHAR(200),
    due_date DATE,
    weight FLOAT
);

CREATE TABLE grades (
    id INT PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
    assignment_id INT,
    score INT,
    student_id INT,
    CONSTRAINT fk_assignments
        FOREIGN KEY(assignment_id)
        REFERENCES assignments(id),
    CONSTRAINT fk_students
        FOREIGN KEY(student_id)
        REFERENCES students(id)
);
    

Вместо того чтобы вставлять данные вручную, давайте загрузим их с помощью CSV-файла. Вы можете скачать файл из этого репозитория или создать его самостоятельно. Имейте в виду, чтобы разрешить pgAdmin доступ к данным, вам может понадобиться расширить права доступа к папке (в моем случае – это папка db_data).

        COPY assignments(category, name, due_date, weight)
FROM 'C:/Users/mgsosna/Desktop/db_data/assignments.csv'
DELIMITER ','
CSV HEADER;
/*
COPY 5
Query returned successfully in 118 msec.
*/

COPY grades(assignment_id, score, student_id)
FROM 'C:/Users/mgsosna/Desktop/db_data/grades.csv'
DELIMITER ','
CSV HEADER;
/*
COPY 25
Query returned successfully in 64 msec.
*/
    

Теперь давайте проверим, что мы всё сделали верно. Напишем запрос, который покажет среднюю оценку, по каждому виду заданий с группировкой по учителям.

        SELECT
    c.teacher,
    a.category,
    ROUND(AVG(g.score), 1) AS avg_score
FROM
    students AS s
INNER JOIN classrooms AS c
    ON c.id = s.classroom_id
INNER JOIN grades AS g
    ON s.id = g.student_id
INNER JOIN assignments AS a
    ON a.id = g.assignment_id
GROUP BY
    1,
    2
ORDER BY
    3 DESC;

/*
 teacher | category  | avg_score
 ------- | --------- | ---------
 Jonah   |  project  |     100.0
 Jonah   |  homework |      94.0
 Jonah   |  exam     |      92.5
 Mary    |  homework |      78.3
 Mary    |  exam     |      76.0
 Mary    |  project  |      69.5
*/
    

Отлично! Мы установили, настроили и наполнили базу данных.

***

Итак, в этой статье мы научились:

  • создавать базу данных;
  • создавать таблицы;
  • наполнять таблицы данными;
  • устанавливать связи между таблицами;

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

В следующей части мы разберем:

  • виды фильтраций в запросах;
  • запросы с условиями типа if-else;
  • новые виды соединений таблиц;
  • функции для работы с массивами;

Материалы по теме

  • 🐘 8 лучших GUI клиентов PostgreSQL в 2021 году
  • 🐍🐬 Python и MySQL: практическое введение
  • 🐍🗄️ Управление данными с помощью Python, SQLite и SQLAlchemy

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

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

@sqlhub – разборы задач sql с нуля до профи.

Есть разные виды баз данных, но этот урок посвящен базам данных, поддерживающим язык SQL. В них любые операции над данными – добавление, удаление, поиск – делаются с помощью отправки SQL-запросов. Сам язык достаточно простой и запросы на нем напоминают обычные предложения на английском языке. Ну к примеру, запрос на удаление из БД пользователя с email ivan@example.com выглядит так: DELETE FROM users WHERE email = 'ivan@example.com'. Если знать английский (“удалить из пользователей где email равен ‘ivan@example.com‘”), то смысл запроса легко понять, даже не зная SQL. Запросы может отправлять как сам разработчик вручную, так и написанная им программа.

SQL – это что-то вроде стандарта в мире баз данных. Зная этот язык, можно работать с разными БД от разных производителей.

Программы, управляющие базой данных

Есть разные программы, которые позволяют создавать и управлять базой данных. Они называются СУБД (системы управления БД). Из бесплатных самые известные – это MySQL и PostgreSQL. MySQL (в 2016 году) более распространена, а в PostgreSQL больше интересных нестандартных возможностей (а также, считается что она более полно поддерживает стандарт).

Есть и коммерческие СУБД – например, MSSQL, Oracle DB.

Наконец, есть еще встраиваемые СУБД, которые используются не отдельно, а встраиваются в другую программу и используются только ей. Ну например, (в 2016 году) встроенную бесплатную СУБД SQLite использовали браузер Chrome, который хранил с ее помощью историю и закладки, Skype для хранения сообщений и множество мобильных приложений под Android и iOS.

Со всеми этими БД можно работать, зная язык SQL.

Устройство базы данных

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

id name email password_hash salt registered
1 Администратор admin@example.com abbs09s7s6s6 gt9xbxvx4x30 2014-08-02
2 Иван ivan@example.com hd6bc00c8c7c665ce gs65s4s4sb0x 2015-01-01

При регистрации скрипт добавляет в нее информацию о новом пользователе, а при логине – проверяет введенные email и пароль. Мы, конечно, в целях безопасности не храним в базе сами пароли в открытом виде, а получаем из них хеш с солью и сохраняем их в колонках password_hash и salt (по которым можно проверить правильность введенного при логине пароля, но нельзя восстановить его). Также, мы присваиваем каждому пользователю уникальный числовой идентификатор (id), который еще называют первичный ключ – это позволяет потом в других таблицах ссылаться на него (например, в таблице сообщений мы можем хранить id автора сообщения, по которому можно достать информацию о нем).

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

id author_id posted text
1 1 2014-08-03 Добро пожаловать на наш форум! Жду ваших сообщений.
2 1 2014-08-04 Что-то никого нету…
3 1 2014-08-05 Ни души…
4 2 2015-01-01 Всем привет. Я новый тут.

Здесь колонка id хранит идентификатор сообщения, author_id – идентификатор автора сообщения (по которому можно найти его имя, email в первой таблице), posted – дату отправки и text – тело сообщения. Первые 3 сообщения оставил Администратор, а четвертое – Иван.

Все операции с таблицами, включая их создание и заполнение делаются с помощью запросов на языке SQL. Подробнее о том, как это делать, написано ниже по ссылкам.

Работа с базой данных

Как правило сам сервер базы данных (программа, которая обеспечивает ее работу) не имеет своего интерфейса и каких-то окошек, кнопочек, чтобы с ним взаимодействовать. Управление базой данных делается с помощью запуска программы-клиента, который подсоединяется к серверу, пересылает ему SQL запросы и выводит полученные ответы. Одновременно к БД может подсоединиться несколько клиентов.

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

Те, кто освоил основы, могут использовать и более сложные программы-клиенты с графическим интерфейсом. Они могут отображать информацию из базы данных в виде таблиц, перемещаться по ним, менять значения в них. При этом можно запускать и вручную написанные SQL запросы. Я не буду тут писать названия конкретных программ, но их легко найти по словам вроде “MySQL GUI”, “MySQL admin”, “PostgreSQL GUI” и так далее. Я бы советовал сначала научиться работать исключительно в клиенте командной строки, а только потом переходить к этим программам.

Наконец, подсоединяться и отправлять запросы к БД можно из программы. Например, скрипт на языке PHP может таким образом выбирать данные из базы и отображать на веб-странице. Для этого нужна библиотека или расширение-клиент для базы данных. В PHP есть даже 2 расширения для этого (PDO и MySQLi), я рекомендую использовать расширение PDO, так как оно поддерживает исключения, за счет чего при какой-то ошибке проще получить информацию о ней.

Изучаем базы данных – ссылки

Теория и туториалы для начинающих:

  • основы и туториал по MySQL (немного старый, но еще актуальный): http://phpclub.ru/mysql/doc/tutorial.html
  • руководство на русском по PostgreSQL: https://postgrespro.ru/docs/postgresql
  • большой учебник по SQL: http://www.pyramidin.narod.ru/rusql/index.htm

Если ты хранишь данные в нескольких таблицах, то необходимо уметь создавать связи между ними. Всего есть 3 вида связей – “один-к-одному”, “один-ко-многим”, “многие-ко-многим”. Вот уроки по этой теме:

  • отношения между таблицами в БД: http://jtest.ru/bazyi-dannyix/sql-dlya-nachinayushhix-chast-3.html
  • внешние ключи: http://denis.in.ua/foreign-keys-in-mysql.htm

После этого надо научиться правильно проектировать таблицы и связи между ними. Для этого надо изучить нормализацию БД. По этой теме есть разные статьи – некоторые написаны простым языком, а некоторые нет. Это важная тема, если не соблюдать принципы нормализации, то потом с такой базой будет неудобно работать.

  • https://habrahabr.ru/post/129195/
  • https://habrahabr.ru/post/254773/
  • http://club.shelek.ru/viewart.php?id=177
  • http://alexvolkov.ru/database-normalizatio.html

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

Советую изучить style guide – рекомендации по выбору названий для таблиц и колонок: http://www.sqlstyle.guide/ru/

А пока еще несколько полезных ссылок:

  • сборник запросов на все случаи жизни (англ): http://www.artfulsoftware.com/infotree/queries.php
  • таблицы отличий в диалектах SQL в разных СУБД (англ): http://en.wikibooks.org/wiki/SQL_dialects_reference
  • манга-учебник про SQL в картинках: http://www.nostarch.com/mg_databases.htm

Под Windows в командной строке не работают русские буквы

Надо выполнить команду SET NAMES cp866; после соединения: http://gahcep.github.io/blog/2013/01/05/mysql-utf8/

Еще ссылки на тему кодировок при соединении с MySQL из PHP:

  • http://fstrange.ru/coder/mysql/kodirovka-krakozyably.html
  • http://phpfaq.ru/charset

Что должен знать разработчик?

Вот список понятий, которые стоит знать, если ты хочешь очень хорошо разбираться в MySQL:

  • управление базами данных: CREATE DATABASE, DROP DATABASE, SHOW DATABASES
  • управление таблицами: CREATE TABLE, ALTER TABLE, DROP TABLE, SHOW TABLES, SHOW CREATE TABLE, DESC table, TRUNCATE table
  • управление правами доступа: GRANT, SHOW GRANTS
  • типы колонок: ENUM, SET, CHAR, VARCHAR, TEXT, DATE, TIME, DATETIME, TIMESTAMP, INT, FLOAT, TINYINT, DECIMAL, MEDIUMTEXT, LONGTEXT. В чем разница между TIMESTAMP и DATETIME? Между FLOAT и DECIMAL? CHAR и VARCHAR?
  • DECIMAL — тип с фиксированной точностью. В отличие от FLOAT/DOUBLE, которые приближенные и могут терять знаки после запятой, DECIMAL хранит заданное число знаков. Используется например, для хранения суммы денег.
  • NULL и троичная логика (в БД NULL значит «неизвестно». Например, возраст пользователя неизвестен. Соответственно, все операции с NULL это учитывают: NULL + 5 тоже дает в итоге NULL (5 + неизвестное число дает неизвестное число), сравнение (NULL = NULL) возвращает ложь, чтобы проверить равно ли поле NULL надо использовать IS NULL/IS NOT NULL. http://ru.wikipedia.org/wiki/NULL_(SQL))
  • можно ли искать пустые поля условием WHERE x = NULL?
  • при создании таблицы можно сделать поля обязательными для заполнения, указав NOT NULL
  • SELECT/INSERT/DELETE/UPDATE
  • порядок выполнения запроса выборки: FROM+JOIN, WHERE, GROUP, HAVING, ORDER, LIMIT, SELECT (его надо знать наизусть)
  • REPLACE, INSERT IGNORE, INSERT .. ON DUPLICATE KEY UPDATE
  • выборка данных: DISTINCT, JOIN, ORDER BY, GROUP BY, HAVING, LIMIT
  • группировка и агрегатные функции: GROUP BY, COUNT, MAX, MIN, AVG, SUM
  • транзакции: BEGIN, ROLLBACK, COMMIT
  • внешние ключи: FOREIGN KEY. Внешний ключ — это поле, которое хранит id записи в другой таблице
  • первичный ключ: естественный и искусственный
  • обычные и уникальные индексы (ключи)
  • оптимизация запросов, команда EXPLAIN
  • отличие InnoDB от MyISAM

Теория по проектированию БД

Чтобы уметь проектировать базы данных и новые таблицы, нужно знать следующее:

  • виды отношений между таблицами: один-к-одному, один-ко-многим, многие-ко-многим
  • принципы нормализации БД. В интернете можно найти статьи где “нормальные формы” объясняют простыми словами, например http://club.shelek.ru/viewart.php?id=311 или https://habrahabr.ru/post/193756/ а также, можно почитать мой урок про нормализацию
  • способы хранения древовидных (иерархических) данных в БД. Ну например, это нужно для реализации дерева комментариев к статье или дерева категорий товаров в интернет-магазине. Есть такие паттерны: Adjacency List, Closure Path, Nested Sets, Materialized Path. Вот мой урок про них: https://github.com/codedokode/pasta/blob/master/db/trees.md
  • способы реализации наследования таблиц (когда есть похожие, но не одинаковые сущности с общим набором свойств: например Пользователи и Администраторы, или несколько видов приложений к сообщению: Видеозапись, Аудиозапись, Файл, Ссылка на сайт). Для таких случаев есть паттерны Single Table Inheritance, Concrete table Inheritance, Class Table Inheritance
  • паттерн EAV (Entity-Attribute-Value), описание на англ., на русском. Этот паттерн можно использовать в тех случаях, когда есть сущности с разным набором свойств, и свойства могут добавляться (например объявление: объявления о сдаче квартиры и продаже машины имеют разный набор свойств). Также, в интернете можно найти много обсуждений по поводу того, зло это или нет. Есть также альтернативные подходы, например в PostgreSQL можно использовать индексируемые hstore (англ.) или json (англ.) колонки

Вот цикл статей на Хабре, который подойдет в качестве вступления: 1-3, 4-6, 7-9, 10-13, 14-15, бонус

Самое главное, что надо изучить – это нормализация. Если не знать ее или не следовать ее правилам, то с базой будет неудобно работать.

Чем отличаются движки для таблиц MyISAM и InnoDB?

  • http://rtfm.co.ua/mysql-otlichiya-mezhdu-myisam-i-innodb/
  • http://itif.ru/otlichiya-myisam-innodb/

Если кратко: MyISAM более простой и не поддерживает внешние ключи и транзакции. А они нужны почти всегда. Потому в 99% случаев тебе нужен InnoDB.

Индексы

Индексы позволяют ускорить поиск по условиям вроде x = ?x < ?x BETWEEN ? AND ?x LIKE 'xxx%'x IN (?, ?, ?), а также сортировку (поля по которым идет сортировка должны идти в конце индекса). Разница на большой таблице может быть огромная — порядка 1 тысячной секунды против нескольких секунд. Ну например, если у нас есть таблица размером в миллион записей и мы делаем запрос

SELECT a, b FROM table ORDER BY y LIMIT 10

то без индекса MySQL вынуждена будет прочитать с диска в память миллион значений, отсортировать их только ради того, чтобы взять первые 10. Если же есть индекс по полю y (который хранит отсортированные по возрастанию значения этого поля) то MySQL просто возьмет из него первые 10 записей. Разница в скорости работы будет огромная.

Вот статьи для начинающих про индексы:

  • http://ruhighload.com/post/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0+%D1%81+%D0%B8%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%D0%B0%D0%BC%D0%B8+%D0%B2+MySQL
  • http://www.mysql.ru/docs/man/MySQL_indexes.html
  • http://habrahabr.ru/post/211022/

Если ты все прочел внимательно, ответь на вопрос, может ли индекс (если да, то какой) ускорить такие запросы:

  • SELECT * FROM table WHERE x <> 1
  • SELECT * FROM table WHERE x + y < 100
  • SELECT MAX(a) FROM table WHERE b = 2
  • SELECT * FROM table WHERE name LIKE '%Иван%'
  • SELECT * FROM table WHERE b = 1 AND a < 10

Задачка про лайки

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

  • id пользователя
  • имя
  • лайков получено
  • лайков поставлено
  • взаимных лайков

Сложно? Ну хорошо, давай начнем с более простой задачи: просто выведи 5 самых популярных пользователей.

Далее, выведи список всех пользователей, которые лайкнули пользователей A и B, но при этом не лайкнули пользователя C. Тут есть несколько вариантов решения.

  • Если ты используешь несколько связанных друг с другом таблиц, связи необходимо пометить с помощью внешних ключей
  • Желательно на уровне БД запретить возможность ставить пользователю лайк другому пользователю дважды (подсказка: можно использовать уникальный или первичный составной ключ)
  • Подсказка: эта задача решается без подзапросов
  • Подсказка: достаточно использовать всего 2 джойна и группировку
  • Подсказка: изучи агрегатные функции, которые можно применять к сгруппированным данным: http://www.mysql.ru/docs/man/Group_by_functions.html
  • Подсказка: для подсчета числа взаимных лайков внутри группы можно написать выражение, которое для каждой строчки вернет 0/1 в зависимости от того, обозначает она взаимный лайк или нет, а потом остается только просуммировать эти значения
  • Подсказка: задача про пользователей, “которые лайкнули пользователей A и B, но при этом не лайкнули пользователя C”, решается без подзапросов и джойнов, в один проход по таблице с группировкой. Достаточно сгруппировать строки, после чего посчитать число лайков к A, B, С в каждой группе и отобрать те группы, которые соответствуют условию (HAVING).
  • Подсказка: изучи функции из этого списка: http://www.mysql.ru/docs/man/Control_flow_functions.html – они тут пригодятся. С их помощью можно найти число записей, соответствующих определенному условию

Усложненная (но более жизненная) задача про лайки

В воображаемой социальной сети есть Пользователи (id, имя), Фото (id, название, автор) и Комментарии К Фото (id, текст, автор, к какому Фото относится). Необходимо добавить возможность для Пользователей ставить лайки другим ПользователямФото или Комментариям К Фото. Нужно реализовать такие возможности:

  • пользователь не может поставить 2 лайка одной и той же сущности (например одному и тому же Фото)
  • пользователь может отозвать лайк
  • необходимо иметь возможность посчитать число полученных сущностью лайков и вывести список Пользователей, поставивших лайки
  • в будущем могут появиться новые виды сущностей которые можно лайкать

Для начала, нужно решить задачу без оглядки на производительность. Очень желательно следовать принципам нормализации и помечать связи внешними ключами (а также на уровне БД предотвратить возможность повторной отправки лайка). Далее, можно дополнить решение комментариями по поводу оптимизаций производительности.

Тут есть несколько вариантов решения.

Задачка про кинотеатр

Вот дополнительная, более сложная задачка. Есть кинотеатр, в нем идут фильмы. У фильма есть название, длительность (пусть для простоты будет 60, 90 или 120 минут), цена билета (в разное время и дни может быть разная), время начала сеанса (один фильм может быть показан несколько раз в разное время за разную цену). Также, есть информация о купленных билетах (номер билета, на какой сеанс).

Задания:

  • составь грамотную нормализованную схему хранения этих данных в БД. Внеси в нее 4-5 фильмов, расписание на один день и несколько проданных билетов.

Сделай запросы, считающие и выводящие в понятном виде:

  • ошибки в расписании (фильмы накладываются друг на друга), отсортированные по возрастанию времени. Выводить надо колонки «фильм 1», «время начала», «длительность», «фильм 2», «время начала», «длительность».
  • перерывы больше или равные 30 минут между фильмами, выводятся по уменьшению длительности перерыва. Выводить надо колонки «фильм 1», «время начала», «длительность», «время начала второго фильма», «длительность перерыва».
  • список фильмов, для каждого указано общее число посетителей за все время, среднее число зрителей за сеанс и общая сумма сбора по каждому, отсортированные по убыванию прибыли. Внизу таблицы должна быть строчка «итого», содержащая данные по всем фильмам сразу.
  • число посетителей и кассовые сборы, сгруппированные по времени начала фильма: с 9 до 15, с 15 до 18, с 18 до 21, с 21 до 00:00. (то есть сколько посетителей пришло с 9 до 15 часов, сколько с 15 до 18 и т.д.).

Сложная задача про календарь

Решил предыдущие задачи и они слишком простые? Ок, давай возьмемся за действительно сложную задачу. Напиши SQL-код, выводящий календарь на текущий месяц в виде:

Пн Вт Ср Чт Пт Сб Вс
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
  • Подсказка: ты можешь делать запросы без таблиц, например SELECT 2 + 3, 'Hello'
  • Подсказка: здесь не надо использовать циклы или процедуры
  • Подсказка: функции работы с датой и временем ты можешь найти тут http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html (англ.)
  • Подсказка: для сокращения объема кода ты можешь использовать переменные (создаются командой SET)
select
    distinct first_name, last_name
from
    actor as a ;


select
     last_name, count(last_name) as lnc
from
    actor as a
group by
    last_name
having count(last_name) > 1;


-- приоритеты логических операторов
SELECT * FROM payment p ;


SELECT
    p.amount, p.payment_date
FROM
    payment AS p
WHERE
    p.amount > 7 AND p.payment_date > '2007-05-01'
    OR
    p.amount < 3 AND p.payment_date > '2007-05-05'
ORDER BY
    p.amount, p.payment_date;


-- приоритеты логических операторов
SELECT DISTINCT
    amount
FROM
    payment AS p
WHERE
    (amount = 1.99 OR amount = 4.99)
    OR
    (amount = 8.99 OR amount = 10.99)
ORDER BY
    amount;


SELECT NOW();
SELECT EXTRACT(YEAR FROM NOW());
SELECT EXTRACT(MONTH FROM NOW());
SELECT EXTRACT(DAY FROM NOW());
SELECT EXTRACT (DOW FROM NOW());
SELECT AGE(NOW(), '2000-12-12');
SELECT EXTRACT(YEAR FROM AGE(NOW(), '2000-12-12'));
SELECT EXTRACT(EPOCH FROM '2020-12-12' - '2000-12-12');


select age('2020-08-01', '2012-03-05');
select '2015-01-11'::date - '2015-01-01'::date;


SELECT
    (EXTRACT(epoch from age('2017-6-15', now())) / 86400)::int


SELECT
    *
FROM
    film AS f
WHERE
    --title LIKE('D% C%e');
    title ilike('d_i%');
-- LIKE - чувствителен к регистру
-- ilike - не чувствителен к регистру
-- % сколько угодно символов
-- _ один любой символ


SELECT
    *
FROM
    film f
WHERE
    f.title NOT LIKE 'D%'
    AND f.description LIKE '%Shark%'
    AND f.rental_duration IN(3, 5);
-- функция IN(3, 5) проверяет на наличие одного из указ-х элементов

-- Работа с датами
SELECT
    c.create_date
    ,c.last_update
FROM
    customer AS c
;


SELECT
    '2022-01-15 15:15:15'::DATE AS " Дата из строки"
    ,'2022-01-15 15:15:15' AS "Строка"
    ,timestamp'2022-01-15 15:15:15' AS "Дата+Время 1"
    ,'2022-01-15 15:15:15'::TIMESTAMP AS "Дата+Время 2"
;


SELECT
    -- Использование ::DATE
    '2022-01-15 15:15:15'::DATE - '2006-02-13 10:10:10' AS "::DATE 1"
    ,'2022-01-15'::DATE - '2022-02-13'::DATE AS "::DATE 2"
    -- Использование date
    ,date'2022-01-15' - date'2022-02-13' AS "date 1"
    ,date'2022-01-15' - '2022-02-13' AS "date 2"
    -- timestamp дата
    ,timestamp'2022-04-13' - '2022-02-13' AS "ts 1"
    ,timestamp'2022-04-13' - timestamp'2022-02-13' AS "ts 2"
    -- timestamp дата+время
    ,timestamp'2022-04-13 ' - '2022-02-13' AS "ts time 1"
    ,timestamp'2022-04-13 15:15:15' - timestamp'2022-02-13 10:10:10' AS "ts time 2"
    ,'2022-04-13 15:15:15'::TIMESTAMP - '2022-02-13 10:10:10'::TIMESTAMP AS "ts time 3"
;


SELECT
    '2022-04-13'::TIMESTAMP AS tm
    , timestamp'2006-04-13 10:10:10' - date'2006-05-13'
;


SELECT date('2022-04-13 10:10:10') AS "date 1";


SELECT
    last_update
    ,text(last_update )
    ,last_update ::TEXT
FROM
    customer c;


SELECT
    create_date AS "Создание"
    ,last_update AS "Обнова"
    ,concat(create_date - last_update) AS "Вычет"
    ,create_date - '2006-02-13' AS "Нов.вычет"
FROM
    customer;

Домашнее задание №1

SELECT * FROM film f;
SELECT TEXT(f.last_update) FROM film f;
SELECT f.rental_rate FROM film f;


SELECT
    f.title AS "Имя"
    ,f.release_year AS "Релиз"
    ,f.rental_rate AS "Ставка"
    ,round(f.rental_rate / f.rental_duration, 2) AS "Ставка в час"
FROM
    film AS f
WHERE
    f.rental_rate > 3
    AND
    f.release_year = 2006
ORDER BY
    f.title;

    --TEXT(f.release_year) LIKE '2006%'
    --EXTRACT(YEAR FROM f.last_update) = '2006'

Домашнее задание №2

SELECT * FROM payment p;

SELECT
    *
FROM
    payment AS p
WHERE
    p.payment_date > '2007-05-01' AND p.amount > 3
    OR
    p.amount > 10
ORDER BY
    p.payment_date;

Домашнее задание №3

SELECT
    --a.first_name || ' ' || a.last_name
    CONCAT(a.first_name, ' ', a.last_name)
FROM
    actor AS a
WHERE
    a.first_name LIKE 'F%'
    AND
    a.last_name NOT LIKE '%s'
ORDER BY
    a.last_update;

Просмотры: 594

MS Access – Обзор

Microsoft Access – это система управления базами данных (СУБД) от Microsoft, которая объединяет реляционный Microsoft Jet Database Engine с графическим интерфейсом пользователя и инструментами разработки программного обеспечения. Он входит в набор приложений Microsoft Office, включенных в профессиональные и более поздние выпуски.

  • Microsoft Access – это только часть общей стратегии Microsoft по управлению данными.

  • Он хранит данные в своем собственном формате на основе ядра базы данных Access Jet.

  • Как и реляционные базы данных, Microsoft Access также позволяет легко связывать связанную информацию. Например, данные клиента и заказа. Однако Access 2013 также дополняет другие продукты баз данных, поскольку он имеет несколько мощных функций подключения.

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

  • Как следует из названия, Access может работать напрямую с данными из других источников, включая многие популярные программы баз данных на ПК, со многими базами данных SQL (язык структурированных запросов) на настольном компьютере, на серверах, на мини-компьютерах или на мэйнфреймах, а также с данными, хранящимися на Интернет или интранет веб-серверы.

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

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

  • Access может работать с большинством популярных баз данных, поддерживающих стандарт Open Database Connectivity (ODBC), включая SQL Server, Oracle и DB2.

  • Разработчики программного обеспечения могут использовать Microsoft Access для разработки прикладного программного обеспечения.

Microsoft Access – это только часть общей стратегии Microsoft по управлению данными.

Он хранит данные в своем собственном формате на основе ядра базы данных Access Jet.

Как и реляционные базы данных, Microsoft Access также позволяет легко связывать связанную информацию. Например, данные клиента и заказа. Однако Access 2013 также дополняет другие продукты баз данных, поскольку он имеет несколько мощных функций подключения.

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

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

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

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

Access может работать с большинством популярных баз данных, поддерживающих стандарт Open Database Connectivity (ODBC), включая SQL Server, Oracle и DB2.

Разработчики программного обеспечения могут использовать Microsoft Access для разработки прикладного программного обеспечения.

Microsoft Access хранит информацию, которая называется базой данных. Чтобы использовать MS Access, вам нужно будет выполнить следующие четыре шага:

  • Создание базы данных – создайте базу данных Microsoft Access и укажите, какие данные вы будете хранить.

  • Ввод данных – после того, как ваша база данных создана, данные каждого рабочего дня могут быть введены в базу данных Access.

  • Запрос – это причудливый термин для описания процесса извлечения информации из базы данных.

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

Создание базы данных – создайте базу данных Microsoft Access и укажите, какие данные вы будете хранить.

Ввод данных – после того, как ваша база данных создана, данные каждого рабочего дня могут быть введены в базу данных Access.

Запрос – это причудливый термин для описания процесса извлечения информации из базы данных.

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

Архитектура

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

  • Если вы работали с другими системами баз данных на настольных компьютерах, возможно, вы видели термин «база данных», используемый для обозначения только тех файлов, в которых вы храните данные.

  • Но в Access база данных настольных компьютеров (.accdb) также включает все основные объекты, связанные с хранимыми данными, включая объекты, которые вы определяете для автоматизации использования ваших данных.

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

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

Но в Access база данных настольных компьютеров (.accdb) также включает все основные объекты, связанные с хранимыми данными, включая объекты, которые вы определяете для автоматизации использования ваших данных.

MS Access – СУБД

Microsoft Access имеет внешний вид и другие продукты Microsoft Office в том, что касается его компоновки и навигационных аспектов, но MS Access – это база данных, а точнее, реляционная база данных.

  • До MS Access 2007 расширение файла было * .mdb , но в MS Access 2007 расширение было изменено на расширение * .accdb .

  • Ранние версии Access не могут читать расширения accdb, но MS Access 2007 и более поздние версии могут читать и изменять более ранние версии Access.

  • Настольная база данных Access (.accdb или .mdb) является полнофункциональной СУБД.

  • Он предоставляет все функции определения данных, манипулирования данными и управления данными, необходимые для управления большими объемами данных.

  • Вы можете использовать настольную базу данных Access (.accdb или .mdb) либо в качестве автономной СУБД на одной рабочей станции, либо в режиме общего клиента / сервера по сети.

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

  • Когда вы создаете приложение с настольной базой данных Access, Access является СУБД.

До MS Access 2007 расширение файла было * .mdb , но в MS Access 2007 расширение было изменено на расширение * .accdb .

Ранние версии Access не могут читать расширения accdb, но MS Access 2007 и более поздние версии могут читать и изменять более ранние версии Access.

Настольная база данных Access (.accdb или .mdb) является полнофункциональной СУБД.

Он предоставляет все функции определения данных, манипулирования данными и управления данными, необходимые для управления большими объемами данных.

Вы можете использовать настольную базу данных Access (.accdb или .mdb) либо в качестве автономной СУБД на одной рабочей станции, либо в режиме общего клиента / сервера по сети.

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

Когда вы создаете приложение с настольной базой данных Access, Access является СУБД.

Определение данных

Давайте теперь поймем, что такое определение данных –

  • В документе или электронной таблице у вас обычно есть полная свобода определять содержимое документа или каждой ячейки в электронной таблице.

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

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

  • СУБД позволяет вам определять тип имеющихся у вас данных и способ их хранения.

  • Вы также можете обычно определять правила, которые СУБД может использовать для обеспечения целостности ваших данных.

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

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

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

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

СУБД позволяет вам определять тип имеющихся у вас данных и способ их хранения.

Вы также можете обычно определять правила, которые СУБД может использовать для обеспечения целостности ваших данных.

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

Манипуляция данными

Работа с данными в СУБД сильно отличается от работы с данными в программе обработки текстов или электронных таблиц.

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

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

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

  • СУБД предоставляет вам множество способов работы с вашими данными. Например,

  • Вы можете искать информацию в одной таблице или запросить сложный поиск по нескольким связанным таблицам.

  • Вы можете обновить одно поле или несколько записей с помощью одной команды.

  • Вы можете писать программы, которые используют команды СУБД для извлечения данных, которые вы хотите отобразить, и позволяют пользователю обновлять данные.

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

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

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

СУБД предоставляет вам множество способов работы с вашими данными. Например,

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

Вы можете обновить одно поле или несколько записей с помощью одной команды.

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

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

Контроль данных

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

  • Когда вам нужно поделиться своей информацией с другими, RDBMS предоставляет вам гибкость, позволяющую нескольким пользователям читать или обновлять ваши данные.

  • СУБД, предназначенная для совместного использования данных, также обеспечивает функции, гарантирующие, что два человека не смогут одновременно изменять одни и те же данные.

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

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

  • Поскольку вы можете делиться своими данными Access с другими пользователями, вам может потребоваться установить некоторые ограничения на то, что различным пользователям разрешено просматривать или обновлять.

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

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

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

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

Поскольку вы можете делиться своими данными Access с другими пользователями, вам может потребоваться установить некоторые ограничения на то, что различным пользователям разрешено просматривать или обновлять.

Ms Access – Объекты

MS Access использует «объекты», чтобы помочь пользователям составить список и упорядочить информацию, а также подготовить специально разработанные отчеты. При создании базы данных Access предлагает вам таблицы, запросы, формы, отчеты, макросы и модули. Базы данных в Access составляются из многих объектов, но следующие основные объекты –

  • таблицы
  • Запросы
  • формы
  • Отчеты

Вместе эти объекты позволяют вам вводить, хранить, анализировать и компилировать ваши данные. Вот краткое изложение основных объектов в базе данных Access;

Таблица

Таблица – это объект, который используется для определения и хранения данных. Когда вы создаете новую таблицу, Access просит вас определить поля, которые также называются заголовками столбцов.

  • Каждое поле должно иметь уникальное имя и тип данных.

  • Таблицы содержат поля или столбцы, в которых хранятся различные виды данных, такие как имя или адрес, и записи или строки, которые собирают всю информацию о конкретном экземпляре субъекта, например всю информацию о клиенте или сотруднике и т. Д.

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

Каждое поле должно иметь уникальное имя и тип данных.

Таблицы содержат поля или столбцы, в которых хранятся различные виды данных, такие как имя или адрес, и записи или строки, которые собирают всю информацию о конкретном экземпляре субъекта, например всю информацию о клиенте или сотруднике и т. Д.

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

запрос

Объект, который предоставляет настраиваемое представление данных из одной или нескольких таблиц. Запросы – это способ поиска и компиляции данных из одной или нескольких таблиц.

  • Выполнение запроса похоже на подробный вопрос о вашей базе данных.

  • Когда вы создаете запрос в Access, вы определяете конкретные условия поиска, чтобы найти именно те данные, которые вам нужны.

  • В Access вы можете использовать графический запрос в качестве примера или написать оператор языка структурированных запросов (SQL) для создания ваших запросов.

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

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

Выполнение запроса похоже на подробный вопрос о вашей базе данных.

Когда вы создаете запрос в Access, вы определяете конкретные условия поиска, чтобы найти именно те данные, которые вам нужны.

В Access вы можете использовать графический запрос в качестве примера или написать оператор языка структурированных запросов (SQL) для создания ваших запросов.

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

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

форма

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

  • Формы используются для ввода, изменения и просмотра записей.

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

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

Формы используются для ввода, изменения и просмотра записей.

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

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

отчет

Отчет – это объект в настольных базах данных, предназначенный для форматирования, расчета, печати и обобщения выбранных данных.

  • Вы можете просмотреть отчет на своем экране, прежде чем распечатать его.

  • Если формы предназначены для ввода, то отчеты для вывода.

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

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

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

  • Access предлагает вам возможность создать отчет из любой таблицы или запроса.

Вы можете просмотреть отчет на своем экране, прежде чем распечатать его.

Если формы предназначены для ввода, то отчеты для вывода.

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

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

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

Access предлагает вам возможность создать отчет из любой таблицы или запроса.

Другие объекты MS Access

Давайте теперь посмотрим на другие объекты MS Access.

макрос

Этот объект представляет собой структурированное определение одного или нескольких действий, которые Access должен выполнять в ответ на определенное событие. Макрос доступа – это скрипт для выполнения некоторой работы. Например, чтобы создать кнопку, которая открывает отчет, вы можете использовать макрос, который будет запускать действие OpenReport.

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

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

  • Вы также можете запускать другие макросы или процедуры Visual Basic из макроса.

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

  • Макросы данных в веб-приложениях также могут быть автономными объектами, которые можно вызывать из других макросов данных или макро-объектов.

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

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

Вы также можете запускать другие макросы или процедуры Visual Basic из макроса.

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

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

модуль

Модуль – это объект в базах данных рабочего стола, содержащий пользовательские процедуры, которые вы кодируете с помощью Visual Basic. Модули обеспечивают более дискретный поток действий и позволяют отлавливать ошибки.

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

  • Модули намного мощнее и необходимы, если вы планируете писать код для многопользовательской среды, поскольку макросы не могут включать обработку ошибок.

  • Модули могут быть автономными объектами, содержащими функции, которые могут быть вызваны из любого места в вашем приложении, или они могут быть напрямую связаны с формой или отчетом для ответа на события в связанной форме или отчете.

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

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

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

Ms Access – Создать базу данных

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

Чтобы создать базу данных из шаблона, нам сначала нужно открыть MS Access, и вы увидите следующий экран, на котором отображаются различные шаблоны базы данных Access.

шаблон

Чтобы просмотреть все возможные базы данных, вы можете прокрутить вниз или использовать окно поиска.

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

Управление проектом

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

Информация о шаблоне

После выбора шаблона, соответствующего вашим требованиям, введите имя в поле « Имя файла», и вы также можете указать другое местоположение для вашего файла, если хотите.

Имя файла

Теперь нажмите кнопку «Создать». Access загрузит этот шаблон базы данных и откроет новую пустую базу данных, как показано на следующем снимке экрана.

Имя файла

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

Панель навигации

Нажмите «Проекты» и выберите «Тип объекта» в меню.

Выберите тип объекта

Теперь вы увидите все типы объектов – таблицы, запросы и т. Д.

Типы объектов

Создать пустую базу данных

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

Шаг 1 – Давайте начнем с открытия MS Access.

Пустая база данных

Шаг 2 – Выберите пустую базу данных рабочего стола. Введите имя и нажмите кнопку «Создать».

Кнопка Создать

Шаг 3 – Access создаст новую пустую базу данных и откроет таблицу, которая также полностью пуста.

Созданная таблица

Ms Access – Типы данных

Каждое поле в таблице имеет свойства, и эти свойства определяют характеристики и поведение поля. Наиболее важным свойством для поля является его тип данных. Тип данных поля определяет, какие данные он может хранить. MS Access поддерживает различные типы данных, каждый с определенной целью.

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

Вот некоторые из наиболее распространенных типов данных, которые вы найдете в типичной базе данных Microsoft Access.

Тип данных Описание Размер
Короткий текст Текст или комбинации текста и чисел, включая числа, которые не требуют вычисления (например, номера телефонов). До 255 символов.
Длинный текст Длинный текст или комбинации текста и чисел. До 63 999 символов.
Число Числовые данные, используемые в математических расчетах. 1, 2, 4 или 8 байт (16 байт, если задан идентификатор репликации).
Дата / время Дата и время для лет от 100 до 9999. 8 байт
валюта Значения валют и числовые данные, используемые в математических вычислениях, включают данные с одним до четырех десятичных знаков. 8 байт
AutoNumber Уникальный последовательный (с шагом в 1) номер или случайное число, назначаемое Microsoft Access при каждом добавлении новой записи в таблицу. 4 байта (16 байтов, если установлен идентификатор репликации).
Да нет Значения Да и Нет, а также поля, содержащие только одно из двух значений (Да / Нет, Истина / Ложь или Вкл / Выкл). 1 бит
  • Если вы используете предыдущие версии Access, вы заметите разницу для двух из этих типов данных.

  • В Access 2013 у нас теперь есть два типа данных – краткий текст и длинный текст. В предыдущих версиях Access эти типы данных назывались text и memo.

  • Текстовое поле называется кратким текстом, а поле заметки теперь называется длинным текстом.

Если вы используете предыдущие версии Access, вы заметите разницу для двух из этих типов данных.

В Access 2013 у нас теперь есть два типа данных – краткий текст и длинный текст. В предыдущих версиях Access эти типы данных назывались text и memo.

Текстовое поле называется кратким текстом, а поле заметки теперь называется длинным текстом.

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

Типы данных Описание Размер

прикрепление

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

Примерно до 2 ГБ.

OLE объекты

Объекты OLE могут хранить изображения, аудио, видео или другие большие двоичные объекты (большие двоичные объекты)

Примерно до 2 ГБ.

Гиперссылка

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

До 8 192 (каждая часть типа данных Hyperlink может содержать до 2048 символов).

Мастер поиска

Запись мастера поиска в столбце «Тип данных» в представлении «Дизайн» на самом деле не является типом данных. Когда вы выбираете эту запись, мастер начинает помогать вам определить простое или сложное поле поиска.

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

Зависит от типа данных поля поиска.

вычисленный

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

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

прикрепление

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

Примерно до 2 ГБ.

OLE объекты

Объекты OLE могут хранить изображения, аудио, видео или другие большие двоичные объекты (большие двоичные объекты)

Примерно до 2 ГБ.

Гиперссылка

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

До 8 192 (каждая часть типа данных Hyperlink может содержать до 2048 символов).

Мастер поиска

Запись мастера поиска в столбце «Тип данных» в представлении «Дизайн» на самом деле не является типом данных. Когда вы выбираете эту запись, мастер начинает помогать вам определить простое или сложное поле поиска.

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

Зависит от типа данных поля поиска.

вычисленный

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

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

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

Ms Access – Создание таблиц

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

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

Имя поля Тип данных
EmployeelD AutoNumber
Имя Короткий текст
Фамилия Короткий текст
Адрес 1 Короткий текст
Адрес 2 Короткий текст
город Короткий текст
государственный Короткий текст
застежка-молния Короткий текст
Телефон Короткий текст
Тип телефона Короткий текст

Давайте теперь будем иметь краткий текст в качестве типа данных для всех этих полей и откроем пустую базу данных в Access.

Главная

Это где мы оставили вещи. Мы создали базу данных, а затем Access автоматически открыл это представление таблицы-таблицы-таблицы для таблицы.

поля

Теперь перейдем на вкладку «Поле», и вы увидите, что она также создается автоматически. Идентификатор, который является полем AutoNumber, действует как наш уникальный идентификатор и является первичным ключом для этой таблицы.

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

Уникальный идентификатор

Нажмите на опцию « Имя и подпись» на ленте, и вы увидите следующее диалоговое окно.

Свойства поля

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

Таблица 1

Теперь у нас есть поле идентификатора сотрудника с заголовком Идентификатор сотрудника. Для этого автоматически устанавливается автоматический номер, поэтому нам не нужно менять тип данных.

Давайте теперь добавим еще несколько полей, нажав на кнопку, чтобы добавить .

Нажмите, чтобы добавить

Выберите « Короткий текст» в качестве поля. Когда вы выбираете краткий текст, Access автоматически выделяет это имя поля, и все, что вам нужно сделать, это ввести имя поля.

Короткий текст

Введите FirstName в качестве имени поля. Аналогичным образом добавьте все обязательные поля, как показано на следующем снимке экрана.

Имя

Как только все поля будут добавлены, нажмите значок Сохранить.

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

Сохранить как

Введите имя вашей таблицы в поле Имя таблицы. Здесь префикс tbl обозначает таблицу. Позвольте нам нажать Ok, и вы увидите свою таблицу в панели навигации.

Таблица

Представление дизайна таблицы

Как мы уже создали одну таблицу, используя Datasheet View . Теперь мы создадим другую таблицу, используя представление « Дизайн таблицы» . Мы будем создавать следующие поля в этой таблице. Эти таблицы будут хранить некоторую информацию для различных книжных проектов.

Имя поля Тип данных
Идентификатор проекта AutoNumber
Название проекта Короткий текст
ManagingEditor Короткий текст
автор Короткий текст
PStatus Короткий текст
контракты прикрепление
ProjectStart Дата / время
ProjectEnd Дата / время
бюджет валюта
ProjectNotes Длинный текст

Теперь перейдем на вкладку «Создать».

Создать вкладку

В группе таблиц нажмите «Таблица», и вы увидите, что это выглядит совершенно иначе, чем представление таблицы. В этом представлении вы можете видеть имя поля и тип данных рядом.

Вкладка «Дизайн»

Теперь нам нужно сделать ProjectID первичным ключом для этой таблицы, поэтому давайте выберем ProjectID и выберем опцию Primary Key на ленте.

Основной ключ

Имя поля

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

Давайте сохраним эту таблицу и дадим ей имя.

Проект Saveas

Нажмите Ok, и теперь вы можете увидеть, как эта таблица выглядит в Datasheet View.

Datasheet View

Давайте нажмем кнопку просмотра таблицы данных в верхнем левом углу ленты.

Левый угол

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

Pstatus

Нажмите Ok, и вы увидите изменения.

Статус проекта

Ms Access – Добавление данных

База данных Access не является файлом в том же смысле, что и документ Microsoft Office Word или Microsoft Office PowerPoint. Вместо этого база данных Access – это набор объектов, таких как таблицы, формы, отчеты, запросы и т. Д., Которые должны работать вместе, чтобы база данных функционировала должным образом. Теперь мы создали две таблицы со всеми полями и свойствами полей, необходимыми в нашей базе данных. Для просмотра, изменения, вставки или удаления данных в таблице в Access можно использовать представление таблицы данных.

  • Таблица данных – это простой способ просмотра ваших данных в строках и столбцах без какого-либо специального форматирования.

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

  • Таблица, открытая в представлении таблицы данных, напоминает рабочий лист Excel, и вы можете вводить или вставлять данные в одно или несколько полей.

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

  • По умолчанию поля в базе данных Access настроены на прием данных определенного типа, таких как текст или числа. Вы должны ввести тип данных, который поле должно принимать. Если нет, Access отображает сообщение об ошибке –

Таблица данных – это простой способ просмотра ваших данных в строках и столбцах без какого-либо специального форматирования.

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

Таблица, открытая в представлении таблицы данных, напоминает рабочий лист Excel, и вы можете вводить или вставлять данные в одно или несколько полей.

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

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

Давайте добавим некоторые данные в ваши таблицы, открыв базу данных Access, которую мы создали.

База данных

Выберите « Виды» → « Просмотр таблицы» на ленте и добавьте некоторые данные, как показано на следующем снимке экрана.

Техническая спецификация

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

Добавить данные

Теперь вы можете видеть, что вставка новых данных и обновление существующих данных очень просты в Datasheet View, как и работа с электронной таблицей. Но если вы хотите удалить какие-либо данные, вам нужно сначала выбрать всю строку, как показано на следующем снимке экрана.

Вставить данные

Теперь нажмите кнопку удаления. Появится подтверждающее сообщение.

Доступ

Нажмите Да, и вы увидите, что выбранная запись сейчас удалена.

Выбранная запись

Ms Access – Запрос данных

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

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

  • С помощью запроса вы можете применить фильтр к данным таблицы, чтобы получить только ту информацию, которая вам нужна.

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

  • Запросы, которые добавляют, изменяют или удаляют данные, называются запросами действий.

  • Вы также можете использовать запрос для предоставления данных для формы или отчета.

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

  • Сложная часть запросов заключается в том, что вы должны понять, как их создать, прежде чем сможете их реально использовать.

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

С помощью запроса вы можете применить фильтр к данным таблицы, чтобы получить только ту информацию, которая вам нужна.

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

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

Вы также можете использовать запрос для предоставления данных для формы или отчета.

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

Сложная часть запросов заключается в том, что вы должны понять, как их создать, прежде чем сможете их реально использовать.

Создать запрос выбора

Если вы хотите просматривать данные только из определенных полей в таблице или просматривать данные из нескольких таблиц одновременно или просто просматривать данные по определенным критериям, вы можете использовать запрос Выбрать . Давайте теперь рассмотрим простой пример, в котором мы создадим простой запрос, который будет извлекать информацию из таблицы tblEmployees . Откройте базу данных и нажмите на вкладку « Создать ».

Создать Выбрать

Нажмите Query Design .

Query Design

На вкладке « Таблицы » в диалоговом окне « Показать таблицу » дважды щелкните таблицу tblEmployees, а затем закройте диалоговое окно.

Показать таблицу

В таблице tblEmployees дважды щелкните все те поля, которые вы хотите видеть в результате запроса. Добавьте эти поля в сетку запроса, как показано на следующем снимке экрана.

Добавить поля

Теперь нажмите « Выполнить» на вкладке « Дизайн », затем нажмите « Выполнить» .

дизайн

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

MS Access – критерии запроса

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

  • Критерий запроса – это выражение, которое Access сравнивает со значениями поля запроса, чтобы определить, включать ли запись, содержащую каждое значение.

  • Некоторые критерии просты и используют базовые операторы и константы. Другие являются сложными и используют функции, специальные операторы и включают ссылки на поля.

  • Чтобы добавить некоторые критерии в запрос, необходимо открыть запрос в представлении «Дизайн».

  • Затем вы определяете поля, для которых вы хотите указать критерии.

Критерий запроса – это выражение, которое Access сравнивает со значениями поля запроса, чтобы определить, включать ли запись, содержащую каждое значение.

Некоторые критерии просты и используют базовые операторы и константы. Другие являются сложными и используют функции, специальные операторы и включают ссылки на поля.

Чтобы добавить некоторые критерии в запрос, необходимо открыть запрос в представлении «Дизайн».

Затем вы определяете поля, для которых вы хотите указать критерии.

пример

Давайте рассмотрим простой пример, в котором мы будем использовать критерии в запросе. Сначала откройте базу данных Access, затем перейдите на вкладку «Создать» и нажмите «Дизайн запроса».

Query Design

На вкладке «Таблицы» в диалоговом окне «Показать таблицу» дважды щелкните таблицу tblEmployees и закройте диалоговое окно.

Tblemployees

Теперь давайте добавим поле к сетке запросов, например EmployeeID, FirstName, LastName, JobTitle и Email, как показано на следующем снимке экрана.

Query Grid

Давайте теперь запустим ваш запрос, и вы увидите только эти поля в качестве результата запроса.

Результат запроса

Если вы хотите видеть только тех, чей JobTitle является координатором по маркетингу, вам нужно будет добавить критерии для этого. Давайте снова перейдем к Query Design и в строке Criteria JobTitle введите Marketing Coordinator.

Координатор по маркетингу

Позвольте нам теперь выполнить ваш запрос еще раз, и вы увидите, что получено только название должности координаторов по маркетингу.

Источник

Если вы хотите добавить критерии для нескольких полей, просто добавьте критерии в несколько полей. Допустим, мы хотим получить данные только для «Координатора по маркетингу» и «Помощника по бухгалтерскому учету»; мы можем указать оператор строки OR, как показано на следующем скриншоте –

Помощник бухгалтера

Давайте теперь запустим ваш запрос еще раз, и вы увидите следующие результаты.

Запустить запрос

Если вам нужно использовать функциональные возможности оператора AND , то вам нужно указать другое условие в строке Criteria. Допустим, мы хотим получить всех помощников по бухгалтерскому учету, но только те должности координатора по маркетингу с фамилией «Поллард».

И оператор

Давайте теперь запустим ваш запрос еще раз, и вы увидите следующие результаты.

Запустить запрос

Ms Access – Действие Queries

В MS Access и других системах СУБД запросы могут выполнять намного больше, чем просто отображение данных, но на самом деле они могут выполнять различные действия с данными в вашей базе данных.

  • Запросы действий – это запросы, которые могут добавлять, изменять или удалять несколько записей одновременно.

  • Дополнительным преимуществом является то, что вы можете предварительно просмотреть результаты запроса в Access, прежде чем запускать его.

  • Microsoft Access предоставляет 4 различных типа запросов действий –

    • присоединять

    • Обновить

    • удалять

    • Сделать стол

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

Запросы действий – это запросы, которые могут добавлять, изменять или удалять несколько записей одновременно.

Дополнительным преимуществом является то, что вы можете предварительно просмотреть результаты запроса в Access, прежде чем запускать его.

Microsoft Access предоставляет 4 различных типа запросов действий –

присоединять

Обновить

удалять

Сделать стол

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

Создать запрос на добавление

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

Давайте назовем его TempEmployees, и он содержит поля, как показано на следующем снимке экрана.

Tempemployees

Стол для Темпомплоэ

На вкладке « Таблицы » в диалоговом окне «Показать таблицу» дважды щелкните таблицу tblEmployees и закройте диалоговое окно. Дважды щелкните поле, которое вы хотите отобразить.

Диалоговое окно таблицы

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

Сначала данные

Теперь вернемся к дизайну запросов и нажмите кнопку « Добавить» .

присоединять

В поле «Тип запроса» нажмите кнопку «Добавить». Это отобразит следующее диалоговое окно.

Добавить имя таблицы

Выберите имя таблицы в раскрывающемся списке и нажмите «ОК».

Query1

В сетке запросов вы можете видеть, что в строке « Добавить к» по умолчанию выбраны все поля, кроме « Адрес1» . Это потому, что это поле Address1 недоступно в таблице TempEmployee . Итак, нам нужно выбрать поле из выпадающего списка.

Добавить в

Давайте посмотрим в поле адреса.

Поле адреса

Позвольте нам выполнить ваш запрос, и вы увидите следующее подтверждающее сообщение.

Подтверждение сообщения

Нажмите Да, чтобы подтвердить свое действие.

Данные добавлены

Когда вы откроете таблицу TempEmployee , вы увидите, что все данные добавляются из tblEmployees в таблицу TempEmployee.

Ms Access – Создание запросов

Давайте разберемся, как создавать запросы в этой главе.

Создать запрос на обновление

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

Query Design

На вкладке «Таблицы» в диалоговом окне «Показать таблицу» дважды щелкните таблицу tblEmployees и закройте диалоговое окно.

Закрыть диалоговое окно

На вкладке « Дизайн » в группе «Тип запроса» нажмите «Обновить» и дважды щелкните поле, в котором вы хотите обновить значение. Допустим, мы хотим обновить FirstName «Rex» на «Max».

Дизайн Tab Max

В строке « Обновление » сетки « Дизайн» введите обновленное значение, а в строке «Критерии» добавьте исходное значение, которое вы хотите обновить, и выполните запрос. Появится подтверждающее сообщение.

Обновить записи

Нажмите « Да» и перейдите в «Представление таблицы», и вы увидите первую запись – имя FirstName теперь обновлено до «Max».

Первая запись

Создать запрос на удаление

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

Query Design

На вкладке «Таблицы» в диалоговом окне «Показать таблицу» дважды щелкните таблицу tblEmployees и закройте диалоговое окно.

Лист недвижимости

На вкладке « Дизайн » в группе « Тип запроса » нажмите « Удалить» и дважды щелкните по EmployeeID .

Идентификатор сотрудника

В строке Criteria Design Grid введите 11. Здесь мы хотим удалить сотрудника, у которого EmployeeID равно 11.

Описание

Давайте теперь запустим запрос. Этот запрос будет отображать подтверждающее сообщение.

Показать запрос

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

Указанная запись

Создать запрос на создание таблицы

Вы можете использовать запрос make-table для создания новой таблицы из данных, которые хранятся в других таблицах. Давайте снова перейдем на вкладку «Создать» и нажмите « Дизайн запроса» .

Query Design

На вкладке «Таблицы» в диалоговом окне «Показать таблицу» дважды щелкните таблицу tblEmployees и закройте диалоговое окно.

Сделать стол

Выберите все те поля, которые вы хотите скопировать в другую таблицу.

Другая таблица

В поле «Тип запроса» нажмите кнопку «Создать таблицу» .

Кнопка «Создать таблицу»

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

Введите новую таблицу

Теперь запустите ваш запрос.

Запустите свой запрос

Теперь вы увидите следующее сообщение.

Отменить команду

Нажмите Да, и вы увидите новую таблицу, созданную на панели навигации.

Создана новая таблица

Ms Access – Запросы параметров

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

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

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

  • Вы также можете указать, какой тип данных должен принимать параметр.

  • Вы можете установить тип данных для любого параметра, но особенно важно установить тип данных для числовых данных, валют или данных даты / времени.

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

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

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

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

Вы также можете указать, какой тип данных должен принимать параметр.

Вы можете установить тип данных для любого параметра, но особенно важно установить тип данных для числовых данных, валют или данных даты / времени.

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

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

пример

Давайте теперь рассмотрим простой пример, создав запрос параметра. Позвольте нам открыть вашу базу данных и выбрать Query Design на вкладке Create table.

Temp2

Дважды щелкните tblProjects и закройте диалоговое окно Show .

tblprojects

Выберите поле, которое вы хотите видеть в качестве результата запроса, как показано на следующем снимке экрана.

Выбрать

В сетке дизайна запросов в строке Критерии столбца ProjectStart введите [Введите данные начала проекта] . Строка [Введите данные начала проекта] – это подсказка вашего параметра. Квадратные скобки указывают, что вы хотите, чтобы запрос запрашивал ввод, а текст – Ввод данных начала проекта , когда отображается запрос параметра.

Дата начала

Позвольте нам выполнить ваш запрос, и вы увидите следующее приглашение.

Значение параметра

Давайте теперь введем следующую дату.

Введите стартовые данные

Нажмите OK, чтобы подтвердить.

подтвердить

В результате вы увидите детали проекта, который начался 1.02.2007. Давайте перейдем в представление конструктора и снова запустим запрос.

подробности

Введите дату как на скриншоте выше и нажмите Ok. Теперь вы увидите детали проекта, который начался 01.05.2008.

Ms Access – Альтернативные критерии

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

Вы можете добавить альтернативные критерии двумя следующими способами:

  • Вы можете использовать оператор ИЛИ для объединения двух наборов критериев.
  • Вы также можете использовать сетку запроса, но вместо того, чтобы указывать критерии в одной строке, вам нужно будет разделить ее на несколько строк.

пример

Давайте посмотрим на простой пример альтернативных критериев. Откройте базу данных и на вкладке Создать выберите Query Design .

Сотрудник Query Design

Дважды щелкните tblEmployee и закройте диалоговое окно «Показать таблицу».

Выберите Показать таблицу

Дважды щелкните все поля, которые вы хотите видеть в качестве результата запроса.

Поле результата запроса

Теперь вы можете видеть, что альтернативный критерий указан в разных строках поля LastName . Когда вы выполните этот запрос, вы увидите сотрудников, чья фамилия – Поллард или Мэннинг . Давайте теперь запустим этот запрос.

Фамилия

Как видите, только два сотрудника были извлечены из-за альтернативных критериев.

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

Давайте теперь запустим этот запрос.

Должность

Теперь вы увидите следующий результат.

Результат

MS Access – относящиеся данные

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

нормализация

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

  • Нормализация – это процесс организации данных в базе данных.

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

Нормализация – это процесс организации данных в базе данных.

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

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

CustID название Адрес печенье Количество Цена Всего
1 Этель Смит 12 Main St, Арлингтон, Вирджиния 22201 S Шоколадные чипсы 5 $ 2,00 $ 10,00
2 Том Уилбер 1234 Дуб Доктор, Пекин, IL 61555 Choc Chip 3 $ 2,00 $ 6,00
3 Этил кузница 12 Main St., Arlington, VA 22201 Шоколадные чипсы 5 $ 2,00 $ 10,00

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

Три таблицы

Здесь у нас есть одна таблица для клиентов, вторая – для заказов, а третья – для файлов cookie.

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

Определение отношений

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

Давайте теперь посмотрим на три типа отношений –

Отношения один ко многим

Отношения «один ко многим» являются наиболее распространенным типом отношений. В этом типе отношений строка в таблице A может иметь много совпадающих строк в таблице B, но строка в таблице B может иметь только одну соответствующую строку в таблице A.

Например, таблицы «Клиенты» и «Заказы» имеют отношение «один ко многим»: каждый клиент может разместить много заказов, но каждый заказ поступает только от одного клиента.

Отношения многие ко многим

В отношении «многие ко многим» строка в таблице A может иметь много совпадающих строк в таблице B, и наоборот.

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

Например, таблица «Клиенты» и таблица «Cookies» имеют отношение «многие ко многим», которое определяется отношением «один ко многим» из каждой из этих таблиц к таблице «Заказы».

Индивидуальные отношения

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

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

  • Разделите таблицу на множество столбцов.
  • Из соображений безопасности изолируйте часть стола.
  • Храните данные, которые недолговечны и могут быть легко удалены простым удалением таблицы.
  • Хранить информацию, которая относится только к подмножеству основной таблицы.

Ms Access – Создать отношения

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

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

  • Для этого все общие поля, которые связаны друг с другом, помещаются в одну таблицу.

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

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

Для этого все общие поля, которые связаны друг с другом, помещаются в одну таблицу.

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

Зачем создавать отношения таблиц?

MS Access использует связи таблиц для объединения таблиц, когда вам нужно использовать их в объекте базы данных. Существует несколько причин, по которым вам следует создавать отношения таблиц перед созданием других объектов базы данных, таких как формы, запросы, макросы и отчеты.

  • Чтобы работать с записями из более чем одной таблицы, вам часто необходимо создать запрос, объединяющий таблицы.

  • Запрос работает путем сопоставления значений в поле первичного ключа первой таблицы с полем внешнего ключа во второй таблице.

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

  • При разработке базы данных вы делите свою информацию на таблицы, каждая из которых имеет первичный ключ, а затем добавляете внешние ключи в связанные таблицы, которые ссылаются на эти первичные ключи.

  • Эти пары внешний ключ-первичный ключ образуют основу для табличных отношений и многостоловых запросов.

Чтобы работать с записями из более чем одной таблицы, вам часто необходимо создать запрос, объединяющий таблицы.

Запрос работает путем сопоставления значений в поле первичного ключа первой таблицы с полем внешнего ключа во второй таблице.

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

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

Эти пары внешний ключ-первичный ключ образуют основу для табличных отношений и многостоловых запросов.

Теперь давайте добавим еще одну таблицу в вашу базу данных и назовем ее tblHRData, используя Table Design, как показано на следующем снимке экрана.

Дизайн стола

Нажмите на значок Сохранить, как на скриншоте выше.

Сохранить иконку

Введите tblHRData в качестве имени таблицы и нажмите Ok .

TblHRData

tblHRData теперь создается с данными в нем.

Ms Access – отношения один-к-одному

Давайте теперь поймем отношения один-к-одному в MS Access. Это отношение используется для связи одной записи из одной таблицы с одной и только одной записью в другой таблице.

Теперь перейдем на вкладку « Инструменты базы данных ».

TblHRData

Нажмите на параметр Отношения .

Отношения

Выберите tblEmployees и tblHRData, а затем нажмите кнопку «Добавить», чтобы добавить их в наше представление, а затем закройте диалоговое окно « Показать таблицу ».

Добавить к просмотру

Чтобы создать связь между этими двумя таблицами, используйте мышь, щелкните и удерживайте поле EmployeeID из tblEmployees и перетащите это поле в поле, которое мы хотим связать, наведя указатель мыши на EmployeeID из tblHRData . Когда вы отпустите кнопку мыши, Access откроет следующее окно –

Редактировать отношения

Приведенное выше окно связывает EmployeeID из tblEmployees с EmployeeID из tblHRData. Теперь давайте нажмем кнопку « Создать» , и теперь эти две таблицы связаны.

Две таблицы созданы

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

Давайте откроем таблицу tblEmployees .

Стол сотрудника

Здесь, в левой части каждой записи, вы увидите небольшой знак плюс по умолчанию. Когда вы создаете связь, Access автоматически добавит вспомогательную таблицу в эту таблицу.

Sub Datasheet

Давайте нажмем на знак плюс, и вы увидите информацию, относящуюся к этой записи, в таблице tblHRData .

Дата приема на работу

Нажмите на значок Сохранить и откройте tblHRData, и вы увидите, что введенные нами данные уже здесь.

Введенные данные

Ms Access – отношения один-ко-многим

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

Процесс создания отношения один-ко-многим точно такой же, как и при создании отношения один-к-одному.

Один ко многим

Давайте сначала очистим макет, нажав опцию « Очистить макет» на вкладке «Дизайн» .

Инструменты базы данных

Сначала мы добавим еще одну таблицу tblTasks, как показано на следующем скриншоте.

Таблица задач

Нажмите на значок Сохранить и введите tblTasks в качестве имени таблицы и перейдите в представление Отношения .

Задача Отношения

Нажмите на опцию Показать таблицу .

Показать задачу таблицы

Добавьте tblProjects и tblTasks и закройте диалоговое окно Показать таблицу .

Добавить проекты

Мы можем снова пройти тот же процесс, чтобы связать эти таблицы. Нажмите и удерживайте ProjectID из tblProjects и перетащите его до ProjectID из tblTasks. Кроме того, окно отношений появляется, когда вы отпускаете мышь.

ProjectID

Нажмите кнопку Создать. Теперь у нас созданы очень простые отношения.

Созданные отношения

Ms Access – отношения «многие ко многим»

В этой главе давайте разберемся в отношениях «многие ко многим». Чтобы представить отношение многие-многие, вы должны создать третью таблицу, часто называемую соединительной таблицей, которая разбивает отношение многие-ко-многим на два отношения один-ко-многим. Для этого нам также нужно добавить соединительную таблицу. Давайте сначала добавим еще одну таблицу tblAuthers .

TblAuthers

Давайте теперь создадим отношения « многие ко многим» . У нас есть более одного автора, работающего над несколькими проектами, и наоборот. Как вы знаете, у нас есть поле Author в tblProjects, поэтому мы создали для него таблицу. Нам больше не нужно это поле.

TblAuthers Описание

Выберите поле Автор и нажмите кнопку удаления, и вы увидите следующее сообщение.

Диалоговое окно

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

Иностранные ключи

Эти поля внешнего ключа будут первичными ключами из двух таблиц, которые были связаны вместе – tblAuthers и tblProjects .

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

Дизайн столовых инструментов

Комбинация этих двух полей является уникальным идентификатором таблиц . Давайте теперь сохраним эту таблицу как tblAuthorJunction .

Последний шаг в сближении отношений «многие ко многим» – возврат к представлению об этих отношениях и создание этих отношений, нажав « Показать таблицу» .

Выберите три вышеуказанные таблицы и нажмите кнопку «Добавить», а затем закройте это диалоговое окно.

Выделенные таблицы

Нажмите и перетащите поле AuthorID из tblAuthors и поместите его поверх таблицы AuthorID таблицы tblAuthorJunction .

TblAuthers Junction

Отношения, которые вы создаете, – это отношения, которые Access будет рассматривать как отношения «один ко многим». Мы также обеспечим ссылочную целостность. Теперь давайте включим Cascade Update и нажмите кнопку Create , как на скриншоте выше.

каскадный

Давайте теперь возьмем ProjectID , перетащите его прямо поверх ProjectID из tblAuthorJunction .

Ссылочный ключ

Мы обеспечим обязательное использование ссылочной целостности и каскадного обновления .

Каскадное обновление

Ниже приведены отношения многие ко многим.

Много ко многим

Ms Access – Подстановочные знаки

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

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

  • ANSI-89
  • ANSI-92

Как правило, вы используете подстановочные знаки ANSI-89 при выполнении запросов и операций поиска и замены для баз данных Access, таких как файлы * .mdb и * .accdb .

Подстановочные знаки ANSI-92 используются при выполнении запросов к проектам Access. Доступ к файлам, подключенным к базам данных Microsoft SQL Server. Проекты Access используют стандарт ANSI-92, поскольку SQL Server использует этот стандарт.

Подстановочные знаки ANSI-89

В следующей таблице перечислены символы, поддерживаемые ANSI-89.

символ Описание пример
* Соответствует любому количеству символов. Вы можете использовать звездочку (*) в любом месте строки символов. что * находит, что, белый и почему, но не какое-то время или часы.
? Соответствует любому алфавитному символу. Балл находит шар, колокол и счет.
[] Соответствует любому отдельному символу в скобках. B [ae] ll находит шар и колокол, но не Билл.
! Соответствует любому символу, не указанному в скобках. b [! ae] найдет Билла и Быка, но не мяч или колокол.
Соответствует любому из ряда символов. Вы должны указать диапазон в порядке возрастания (от A до Z, а не от Z до A). b [ac] d находит bad, bbd и bcd.
# Соответствует любому одному числовому символу. 1 # 3S находит 103, 113 и 123.

Подстановочные знаки ANSI-92

В следующей таблице перечислены символы, поддерживаемые ANSI-92.

символ Описание пример
% Соответствует любому количеству символов. Он может использоваться как первый или последний символ в строке символов. wh% находит что, белый и почему, но не какое-то время или часы.
_ Соответствует любому алфавитному символу. B_ll находит мяч, колокол и счет.
[] Соответствует любому отдельному символу в скобках. B [ae] ll находит шар и колокол, но не Билл.
^ Соответствует любому символу, не указанному в скобках. b [^ ae] ll найдет счет и быка, но не шар или колокол.
Соответствует любому из ряда символов. Вы должны указать диапазон в порядке возрастания (от A до Z, а не от Z до A). b [ac] d находит bad, bbd и bcd.

пример

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

Добавьте выделенные таблицы и закройте диалоговое окно « Показать таблицу ».

Вставить ошибки

Добавьте поля в сетку запроса, которые вы хотите видеть в качестве результата запроса.

Добавить сетку запросов

Запустите ваш запрос.

Запустить Query Project

Давайте снова перейдем к дизайну запроса и добавим приглашение для имени проекта.

Query2

Теперь запустите ваш запрос и позвольте нам предположить, что вы не знаете точное имя проекта, но знаете, что имя проекта содержит слова «зелье». Нажмите Ok .

Зелье

Вышеуказанный шаг не дает никакого результата. Это связано с тем, что Access ищет точное совпадение в поле имени проекта . Он ищет тот проект, в названии которого есть слово зелье .

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

Как оператор

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

Количество символов

Предположим, вы знаете, что слово зелье появляется где-то в названии, но вы не совсем уверены, где именно.

Вы можете добавить *, чтобы заменить любое количество символов перед словом зелье, а затем добавить еще один * после. Нажмите Ok .

Добавить зелье

Свиток зелья

Пользователям всегда полезно знать подстановочные знаки, в которые они могут войти. Но есть пользователи, которые могут не знать подстановочные знаки, которые они могут и не могут ввести. В этом случае вы можете ввести символы подстановки самостоятельно.

В этой ситуации, между оператором Like и нашей подсказкой параметров, мы можем добавить эти шаблоны, и теперь есть очень специфический способ написать это. После слова как в кавычках введите подстановочный знак, который мы используем. В этом случае мы использовали «*» для замены любого количества символов. Теперь мы добавим это к параметру. Для этого нам понадобится символ амперсанда (&) и пробел. Теперь мы повторим этот шаг и добавим еще один амперсанд (&), потому что мы присоединяем этот подстановочный знак к любому критерию, введенному пользователем для этого имени проекта, а затем кавычкам «*».

Как ввести имя

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

Зелье

Теперь запрос будет отслеживать эти шаблоны по обе стороны от того, что введено здесь. Нам нужно просто набрать зелье и нажать ввод.

Свиток зелья

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

Допустим, мы хотим найти каждый проект со словом «the» в названии. Затем вам нужно просто ввести слово и ввести или нажмите кнопку ОК .

Параметр

Мать Слово

С помощью этого запроса становится легче искать проекты со словом «the» в их именах. 2- й уровень результатов может также включать названия проектов со словом «мать», где «the» является частью слова.

Ms Access – Расчетное выражение

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

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

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

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

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

Теперь у нас есть новая база данных Access, которая содержит больше данных для расчета.

пример

Давайте попробуем пример, чтобы понять это. Мы будем извлекать некоторую информацию из различных таблиц – tblCustomers, tblOrders, tblOrdersDetails и tblBooks и анализировать различные поля.

Обзор

Давайте теперь запустим запрос, и вы увидите следующие результаты.

Промежуточный итог

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

выражение

Полное выражение (промежуточный итог: [tblOrdersDetails]! [QTY] * [tblBooks]! [RetailPrice]) включает в себя имя таблицы, сначала tblOrdersDetails в квадратных скобках, потому что именно там находится наше поле количества. Теперь восклицание говорит Access, чтобы заглянуть в эту таблицу для поля QTY и умножить его на поле розничной цены в tblBooks.

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

Итого, поле

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

Просто налог

Позвольте нам выполнить ваш запрос еще раз, и в конце вы увидите новое поле «Налог» .

Итого, поле

MS Access – индексирование

Индекс – это структура данных, специальная структура данных, предназначенная для повышения скорости поиска данных. Если вы часто выполняете поиск в таблице или сортируете ее записи по определенному полю, вы можете ускорить эти операции, создав индекс для поля. Microsoft Access использует индексы в таблице, так как вы используете индекс в книге для поиска данных.

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

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

  • Мы действительно не играли с индексами в этой базе данных, но это не значит, что у нас их нет.
  • Фактически, любое поле, заданное в качестве первичного ключа в Access, автоматически индексируется.
  • Access создает дополнительные вторичные индексы в зависимости от имен ваших полей.

Теперь перейдем в меню «Файл» и выберите «Параметры».

Меню Файл

Вы увидите окно «Параметры доступа».

Дизайнер объектов

Перейдите к конструкторам объектов, и вы увидите раздел с меткой AutoIndex при импорте / создании, а в текстовом поле вы увидите ID; ключ; код; номер. По умолчанию, доступ автоматически добавляет вторичный индекс к полям, которые начинаются или заканчиваются этими именами, и это касается полей, которые вы импортировали, а также полей, которые вы создали вручную.

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

индексированный

Выберите любое поле, которое вы хотите проиндексировать, и установите флажок Индексированный в разделе Проверка поля. У вас также есть альтернативные варианты для создания или удаления индекса. Вы можете вернуться к представлению « Дизайн» .

Представление дизайна

Вы можете настроить индексы, выбрав любое поле. Вы также можете увидеть, как они индексируются в области свойств поля ниже. Любое поле, которое не выбрано рядом с индексированным, означает, что для данного поля нет индекса. Вы можете изменить это, щелкнув раскрывающееся меню и выбрав два других параметра – Да (Дублировать ОК) и Да (Без дубликатов) .

компрессия

Последний параметр Да (Нет Дубликатов) означает, что Access автоматически запретит повторяющиеся значения в этом поле. Давайте теперь создадим индекс для нашего поля фамилии.

дублировать

Давайте выберем LastName для индексации и скажем « Да» (Дубликаты ОК) . При сохранении Access создаст этот индекс. Еще одна область, где вы можете просматривать и настраивать свои индексы для таблицы, – это область разработки таблиц в группе « Показать / Скрыть ».

Дубликат Да

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

Специальный вид

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

MS Access – группировка данных

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

Совокупный запрос

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

S.No Агрегатные функции и описание
1.

сумма

Добавляет значения поля

2.

в среднем

Среднее значение поля

3.

Min

Минимальное (минимальное) значение поля

4.

Максимум

Наибольшее (максимальное) значение поля

5.

подсчитывать

Количество значений (записей)

6.

StDev

Стандартное отклонение значений полей, включая поля даты / времени

7.

Var

Дисперсия значений поля, включая дату / время

сумма

Добавляет значения поля

в среднем

Среднее значение поля

Min

Минимальное (минимальное) значение поля

Максимум

Наибольшее (максимальное) значение поля

подсчитывать

Количество значений (записей)

StDev

Стандартное отклонение значений полей, включая поля даты / времени

Var

Дисперсия значений поля, включая дату / время

Позвольте нам открыть вашу базу данных и перейти к Query Design и включить следующие таблицы –

TblBooks

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

Скриншот

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

Давайте теперь запустим этот запрос, и вы увидите следующие результаты.

Индивидуальный заказ

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

Теперь перейдем к представлению «Дизайн» и на вкладке «Дизайн» вы увидите символ Sigma. Это ваша общая кнопка.

Скриншот

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

Группа по

Теперь мы сгруппируемся по названию книги, а также суммируем поле количества.

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

сумма

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

Индивидуальный

Конкатенация в Access

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

  • Для объединения в Access есть два разных оператора, которые можно использовать с амперсандом (&) и знаком плюс (+) .

  • Амперсанд объединит две строки в одну, тогда как знак плюс объединит две строки и распространит значения NULL, например, если одно значение равно NULL, все выражение будет равно нулю.

Для объединения в Access есть два разных оператора, которые можно использовать с амперсандом (&) и знаком плюс (+) .

Амперсанд объединит две строки в одну, тогда как знак плюс объединит две строки и распространит значения NULL, например, если одно значение равно NULL, все выражение будет равно нулю.

пример

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

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

TblCustomers

Давайте теперь добавим поля имени и фамилии и запустим запрос.

Как видите, имя и фамилия разделены на два разных поля.

Имя таблицы

Нам нужно отобразить эту информацию вместе.

Информация вместе

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

Дизайн Посмотреть полное имя

Давайте запустим запрос, и вы увидите новое вычисляемое поле.

Расчетное поле

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

Давайте теперь вернемся к представлению «Дизайн» и добавим еще один раздел к этому выражению.

Дизайн Посмотреть полное имя

Добавьте пробел внутри кавычек и еще один амперсанд. Это заставляет Access брать информацию из этого поля имени; добавьте его с пробелом, а затем добавьте информацию из поля фамилии в самом конце. Теперь запустите запрос еще раз, и вы увидите следующие результаты.

Расчетное поле

Ms Access – обобщение данных

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

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

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

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

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

Безусловно, самый простой способ создания запроса кросс-таблицы в Access – просто использовать мастер, который поставляется вместе с Access, для создания запроса кросс-таблицы. Теперь перейдем на вкладку «Создать», в группы запросов и нажмите «Мастер запросов».

Новый запрос

В приведенном выше диалоговом окне вы можете увидеть все виды специальных запросов. Вы можете создать простой мастер запросов, например, как мы работали так далеко от представления конструктора. Второй – тот, который нам нужен – запрос кросс-таблицы, который отображает данные в виде компактной электронной таблицы. Теперь выберите запрос кросс-таблицы и нажмите «ОК».

Перекрестный

На первом экране мастера будет предложено указать, какая таблица или запрос содержит поля, которые вы хотите получить для результатов кросс-таблицы. Нажмите переключатель « Запросы » и выберите « qryOrdersInformation» – это тот, который мы создали ранее, который содержит промежуточный итог, налог с продаж и т. Д. Нажмите « Далее» .

Crosstab Query

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

Сделка

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

Дата сделки

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

функция

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

Посмотреть запрос

На последнем экране вашего мастера будет задан вопрос о том, как вы хотите назвать свой запрос, а затем нажмите « Готово», чтобы просмотреть этот запрос .

Завершить запрос

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

Ms Access – Присоединяется

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

Что такое Join

Объединение определяет, как объединять записи из двух или более таблиц в базе данных. Концептуально объединение очень похоже на табличное отношение. На самом деле, соединения – это запросы, которые связаны с таблицами.

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

  • Внутреннее соединение
  • Внешнее соединение

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

Внутреннее соединение

Позвольте нам теперь понять Внутреннее Присоединение

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

Внутреннее соединение

Внешнее соединение

Давайте теперь поймем, что такое Внешнее Соединение

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

Внешнее соединение

Есть и другие типы соединения –

Левое внешнее соединение и правое внешнее соединение

Давайте теперь поймем левое внешнее соединение и правое внешнее соединение

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

Оставить Присоединиться

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

Право Присоединиться

Теперь перейдем на вкладку « Создать » и создадим запрос из представления « Дизайн» . Выберите tblProjects и tblTasks и закройте диалоговое окно Show Table, как показано на следующем снимке экрана.

TblTasks

Добавьте поле ProjectName из tblProjects и TaskTitle, StartDate и DueDate из таблицы tblTasks .

Добавить название проекта

Давайте теперь запустим запрос.

Подробности проекта

Мы показываем только записи из нескольких проектов. У нескольких из этих проектов много задач, связанных с этим проектом, и эта информация связана с полем ProjectID .

  • Когда мы создаем этот запрос в Microsoft Access, Access берет эту связь из созданных нами отношений.

  • По умолчанию он создает так называемое внутреннее соединение между этими двумя полями , между этими двумя таблицами, и именно так он связывает эту информацию вместе из этих двух таблиц.

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

Когда мы создаем этот запрос в Microsoft Access, Access берет эту связь из созданных нами отношений.

По умолчанию он создает так называемое внутреннее соединение между этими двумя полями , между этими двумя таблицами, и именно так он связывает эту информацию вместе из этих двух таблиц.

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

Однако, если вы хотите изменить отношение, допустим, вы хотите создать внешнее объединение, или, другими словами, показать все проекты из tblProjects , каждую запись в этой таблице, а также все задачи из tblTasks – Открыть свойства соединения; мы можем сделать это, просто дважды щелкнув по строке отношения.

Присоединиться к недвижимости

Access отобразит имя левой таблицы и имя правой таблицы в диалоговом окне «Свойства соединения».

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

  • У нас также есть два других варианта; мы можем включить все записи из tblProjects и только те записи из tblTasks, в которых объединенные поля равны, а эта – Left Outer Join.

  • У нас есть третий вариант, включающий все записи из tblTasks и только те записи из tblProjects, где объединенные поля равны, и эта является правым внешним соединением.

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

У нас также есть два других варианта; мы можем включить все записи из tblProjects и только те записи из tblTasks, в которых объединенные поля равны, а эта – Left Outer Join.

У нас есть третий вариант, включающий все записи из tblTasks и только те записи из tblProjects, где объединенные поля равны, и эта является правым внешним соединением.

Это различные типы объединений, которые вы можете легко создавать в режиме конструктора. Давайте выберем второй вариант, который называется Left Outer Join, и нажмите Ok .

Давайте теперь посмотрим на другие шаги –

Другие шаги

Когда вы посмотрите на линию отношений, вы увидите маленькую стрелку, указывающую на ProjectID в tblTasks . Когда вы выполните этот запрос, вы увидите следующие результаты.

Стрелка указывая результаты

Как вы можете видеть, он показывает нам каждое название проекта, независимо от того, имеет ли оно связанную задачу. Вы также увидите кучу пустых полей. Все это будет пустым, потому что в tblTasks нет связанной информации, откуда берутся эти поля. Теперь давайте снова перейдем к представлению « Дизайн» и дважды щелкните строку отношения.

Связанная задача

В диалоговом окне «Свойства соединения» выберите третий параметр для правого внешнего соединения и нажмите « ОК» .

Другие шаги

Теперь посмотрим на нашу линию отношений. Вы увидите, что маленькая стрелка теперь указывает на ProjectID в tblProjects . При выполнении этого запроса вы увидите следующие результаты.

Линия Отношений

Самосоединения

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

Самостоятельно присоединяется

Если мы хотим узнать, кто является супервайзером Кейтлин Расмуссен, нам нужно взять число, хранящееся в этом поле супервизора, и посмотреть его в той же самой таблице в этом поле идентификатора сотрудника, чтобы узнать, что Charity Hendricks является супервизором.

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

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

Чтобы увидеть самостоятельное соединение, создайте таблицу со следующими полями и введите некоторые данные.

Создать таблицу

Здесь мы хотим снова создать список с именем сотрудника, а затем с именем руководителя. Давайте создадим запрос из представления дизайна запроса .

Теперь добавьте таблицы tblEmployees .

Добавить TblEmployees

Закройте это диалоговое окно.

Теперь добавьте имя и фамилию для наших сотрудников.

Имена сотрудников

Теперь нам нужен способ создать связь между этой таблицей и самим собой. Для этого нам нужно открыть диалоговое окно show table и еще раз добавить tblEmployees.

Диалоговое окно «Показать таблицу»

Мы создали еще одну копию той же таблицы в этом представлении запроса. Теперь нам нужно создать Self-join. Для этого нажмите Supervisor в таблице tblEmployees, удерживайте кнопку мыши и перетащите ее прямо поверх EmployeeID в этой скопированной таблице – tblEmployees_1 . Затем добавьте имя и фамилию из этой скопированной таблицы.

Создать Self Присоединиться

Давайте теперь запустим ваш запрос, и вы увидите следующие результаты.

Отображаемые имена

Он отображает имена сотрудников вместе с именами их руководителей. И это, как вы создаете самостоятельное соединение в Microsoft Access.

MS Access – мастер создания дубликатов запросов

В этом уроке мы создали множество запросов на выборку, в основном из представления конструктора. Но в Access мы можем использовать некоторые специальные мастера запросов для создания пары конкретных запросов select. Первым из них является Мастер поиска дубликатов запросов. Мастер поиска дубликатов запросов создаст запрос, который найдет записи с дублирующимися значениями полей в одной таблице или запросе.

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

пример

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

Теперь давайте откроем нашу базу данных Access, которая содержит таблицу tblAuthers, перейдем на вкладку « Создать » и в группе запросов выберите мастер запросов .

Если вы видите следующий скриншот, у вас есть четыре разных мастера на выбор. Выберите мастер поиска дубликатов и нажмите « ОК» .

Дубликат запроса

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

Посмотреть таблицу

ID автора

  • Второй экран мастера спросит, какие поля могут содержать дублирующую информацию.

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

  • Мы рассмотрим любое другое поле или комбинацию полей.

Второй экран мастера спросит, какие поля могут содержать дублирующую информацию.

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

Мы рассмотрим любое другое поле или комбинацию полей.

Мы можем искать по фамилии или имени и фамилии, или вы можете искать по их почтовому адресу, или, если точнее, по номеру телефона или дню рождения.

Теперь давайте выполним поиск по имени, фамилии и дню рождения и нажмите Далее .

Дата создания

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

Дополнительный запрос

Давайте теперь нажмите кнопку Далее . Это приведет нас к последнему экрану в этом мастере запросов.

Мастер следующего запроса

На следующем экране введите, как вы хотите назвать свой запрос.

Посмотреть результат

По умолчанию он назовет дубликат для плюс для любого имени объекта, который вы запрашиваете . В этом случае, tblAuthors , но вы также можете дать ему любое другое имя и нажать « Готово» .

Здесь Access обнаружил возможный дубликат, и это будет автор Хосе Калин, у которого тот же день рождения, тот же адрес, тот же номер телефона, но разные AuthorID.

Возможный дубликат

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

Связанные записи

Выберите любую запись и выберите «Удалить», как в следующем диалоговом окне.

Удалить запись

Access выдает подсказку «Вы собираетесь удалить одну запись». Нажмите «Да», если хотите продолжить.

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

Добавленный список

Как вы можете видеть на скриншоте выше, у нас есть поля и некоторые конкретные критерии под полем имени.

Указанные критерии

Вот как этот мастер ищет эту дублирующую информацию. На сегодняшний день это самый простой способ найти дубликаты.

MS Access – непревзойденный мастер запросов

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

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

Подобранная

  • Это соединение по умолчанию в Access, например, если мы разработаем запрос с двумя таблицами tblCustomers и tblOrders и соединим эти две таблицы с помощью идентификаторов CustomerID, этот запрос будет возвращать только совпадающие результаты. Другими словами, клиенты, которые разместили заказы.

  • Временами мы не хотим видеть совпадения, например, мы можем не захотеть видеть ни одного клиента в нашей базе данных – клиентов, которые еще не разместили заказы.

Это соединение по умолчанию в Access, например, если мы разработаем запрос с двумя таблицами tblCustomers и tblOrders и соединим эти две таблицы с помощью идентификаторов CustomerID, этот запрос будет возвращать только совпадающие результаты. Другими словами, клиенты, которые разместили заказы.

Временами мы не хотим видеть совпадения, например, мы можем не захотеть видеть ни одного клиента в нашей базе данных – клиентов, которые еще не разместили заказы.

Не размещенные заказы

  • Это именно то, что делает поиск несопоставимого.

Существует также много других возможных применений для этого вида запроса.

В нашей базе данных мы можем использовать его, чтобы увидеть, какие авторы еще не написали проект, или вы можете использовать его, чтобы узнать, какие сотрудники еще не выбрали какую-либо пользу для здоровья. Давайте теперь откроем вашу базу данных, которая содержит таблицу клиентов и заказов ; перейдите на вкладку «Создать» и нажмите кнопку мастера запросов.

Выберите Мастер поиска несопоставленных запросов и нажмите ОК .

Бесподобный

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

Теперь мы хотим список клиентов от tblCustomers . Выберите эту опцию и нажмите Далее .

Таблица клиентов

На следующем экране необходимо указать, какая таблица или запрос содержит связанные записи . Другими словами, какую таблицу вы используете для сравнения с первой. Для этого нам нужно найти те, которые не разместили заказы. Нам нужно выбрать таблицу, которая содержит информацию обо всех заказах – tblOrders . Теперь нажмите Next .

TblOrders

На следующем экране вам необходимо указать, какая часть информации находится в обеих таблицах.

  • Обычно это будет какой-то первичный ключ, внешний ключ, поле или отношение.
  • Если у вас есть существующие отношения в вашей базе данных, Access выберет и сопоставит эти поля для вас.
  • Но если у вас есть другие поля, которые вы можете объединить, содержащие аналогичную информацию, вы также можете выбрать это здесь.

Здесь у нас есть CustID, выбранный по умолчанию в обоих полях в ‘tblCustomers’ и в полях в ‘tblOrders’. Теперь нажмите Next .

CustID

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

Выбранные файлы

Теперь давайте выберем все доступные поля и кликните на двуглавой стрелке. Это переместит все доступные поля в выбранную область полей . Теперь нажмите Next .

Первый заказ

Последний экран позволит вам выбрать имя для вашего запроса и нажать кнопку « Готово» .

Без соответствия

Здесь мы указали одного клиента, который еще не разместил у нас заказ.

Список клиентов

Вы также можете увидеть, как был создан этот запрос. Для этого вам нужно вернуться в представление конструктора .

Нулевой

Этот мастер создал внешнее соединение между tblCustomer и tblOrders, и критерии C Null добавлены в CustID из tblORders. Это исключает определенные записи. В данном случае это клиенты, которые разместили заказы или у которых есть связанная информация в tblOrders.

Ms Access – Создать форму

Формы в Access похожи на витрины в магазинах, которые облегчают просмотр или получение нужных вам предметов. Поскольку формы – это объекты, с помощью которых вы или другие пользователи можете добавлять, редактировать или отображать данные, хранящиеся в вашей базе данных рабочего стола Access, дизайн вашей формы является важным аспектом. Есть много вещей, которые вы можете сделать с помощью форм в Microsoft Access. Вы можете создать два основных типа форм –

  • Связанные формы
  • Несвязанные формы

Связанные формы

Давайте теперь поймем, что такое Связанные формы

  • Связанные формы связаны с неким базовым источником данных, таким как таблица, запрос или оператор SQL.
  • Связанные формы – это то, о чем обычно думают люди, когда думают о цели формы.
  • Формы заполняются или используются для ввода или редактирования данных в базе данных.
  • Примерами связанных форм обычно являются то, что пользователи используют для ввода, просмотра или редактирования данных в базе данных.

Несвязанные формы

Давайте посмотрим на несвязанные формы –

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

Типы связанных форм

Есть много типов связанных форм, которые вы можете создать в Access. Позвольте нам понять типы –

Форма одного предмета

Это самый популярный вариант, и именно здесь отображаются записи – по одной записи за раз.

Форма для нескольких предметов

Это отображает несколько записей одновременно из этого связанного источника данных.

Сплит Форма

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

Создание форм

Есть несколько методов, которые вы можете использовать для создания форм в Access. Для этого откройте свою базу данных и перейдите на вкладку «Создать» . В группе «Формы» в правом верхнем углу вы увидите кнопку «Мастер форм».

Мастер форм

Нажмите на эту кнопку, чтобы запустить мастер форм.

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

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

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

Поле мастера форм

Давайте просто оставим это за одной таблицей и нажмем Далее .

Выберите должность

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

раскладка

На следующем экране нам нужно дать название для нашей формы. Давайте назовем это frmEmployees .

После того, как вы дали своей форме заголовок, вы можете открыть форму, чтобы увидеть, как эта форма выглядит, или вы можете начать вводить информацию в вашу таблицу. Или вы можете выбрать вариант, чтобы изменить дизайн формы. Давайте выберем первый вариант, чтобы открыть форму для просмотра или ввода информации, и нажмите « Готово» .

Открытая форма

Теперь взгляните на следующий скриншот. Вот как выглядит ваша форма. Это форма отдельного элемента, то есть одна запись отображается за раз, и далее внизу вы можете видеть кнопки навигации, которые говорят нам, что это отображает запись 1 из 9. Если вы нажмете эту кнопку, она будет перемещена. к следующей записи.

Одна запись

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

Информация о сотруднике

Новая форма

Это один из примеров того, как вы можете создать форму с помощью мастера форм. Давайте теперь закроем эту форму и перейдем на вкладку «Создать». Теперь мы создадим немного более сложную форму с помощью мастера. Нажмите «Мастер форм», и на этот раз мы выберем поля из нескольких разных таблиц.

В этом мастере форм давайте выберем tblProjects для таблиц / запросов и выберем несколько доступных полей, таких как ProjectID, ProjectName, ProjectStart и ProjectEnd. Эти поля теперь будут перемещены в выбранные поля.

Бюджет формы

Теперь выберите tblTasks для таблиц / запросов и отправьте через TaskID, ProjectID, TaskTitle, StartDate, DueDate и PercentComplete. Нажмите Далее .

Доступные поля

Одиночная форма

Здесь мы хотим получить данные из нескольких разных объектов. Мы также можем выбрать один из вариантов того, как мы хотим оформить нашу форму. Если мы хотим создать плоскую форму, мы можем выбрать упорядочение с помощью tblTasks , которая создаст эту единственную форму со всеми полями, расположенными в плоском виде, как показано выше.

Однако, если мы хотим создать иерархическую форму, основанную на этом отношении «один ко многим», мы можем выбрать размещение наших данных по tblProjects.

Подформа

В вышеприведенном окне у нас есть возможность включить подчиненную форму для tblTasks , или мы можем сделать ее связанной формой. В этой связанной форме tblProjects будет иметь кнопку, которая будет запускать вторую форму, отфильтрованную по проекту, который мы выбрали в этой форме базовых проектов. Давайте теперь выберем Форму с подформой (формами) и затем нажмите Далее .

На следующем экране вы можете выбрать макет для вашей подчиненной формы. Представление таблицы данных выбирается по умолчанию. Представление таблицы данных аналогично представлению таблицы. Теперь нажмите Next .

Форма данных

На следующем экране вам нужно указать имя для ваших форм. Введите желаемое имя и нажмите Готово .

Проекты Frm

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

Таблицы проекта

Форма для нескольких предметов

Вы также можете создать конкретный вид формы. Для этого вы можете нажать на раскрывающееся меню Больше форм .

Несколько предметов

Из меню вы можете создать форму « Несколько элементов», форму « Таблица данных», форму « Разделение» или даже форму « Модальное диалоговое окно» . Это обычно связанные формы; выберите объект, который вы хотели бы привязать к этой форме. Это не относится к модальным диалоговым формам.

Чтобы создать форму такого типа, вам нужно сначала выбрать объект на панели навигации. Давайте выберем здесь сотрудников.

Форма сотрудника

Нажмите кнопку « Больше форм» и « Несколько элементов» .

Больше форм

Вышеуказанный шаг далее создаст форму Multiple Items, в которой перечислены все сотрудники.

Сплит Форма

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

Теперь давайте выберем tblEmployees на панели навигации и затем на вкладке Create . Выберите опцию « Разделить форму» в меню «Дополнительные формы», и вы увидите следующую форму, в которой форма разделена по вертикали.

Сплит Форма

Ms Access – Изменить форму

Мы узнали несколько способов создания простых форм ввода данных. Хотя формы облегчают процесс ввода данных; они могут не служить другим целям, которые вы хотели бы. Они могут не быть броскими или удобными для того, что вы намеревались.

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

Теперь мы обсудим, как легко изменить вашу форму.

управления

Это просто общий термин, используемый для описания любого объекта в форме или отчете, который отображает данные, выполняет действия или элементы, используемые для художественных оформлений, таких как линия. Другими словами, элемент управления – это почти все, что помещено в форму или отчет.

Следующие могут рассматриваться как элементы управления –

  • Объекты, такие как метки.
  • Несвязанные или связанные текстовые поля, которые можно использовать для добавления, редактирования или даже вычисления выражения.
  • Командные кнопки, которые выполняют такие действия, как Сохранить, Открыть электронную почту или Печать, и эти кнопки также называются элементами управления.
  • Это просто общий термин для любого объекта в форме или отчете.

Теперь мы рассмотрим различные аспекты создания презентабельной формы и поймем, как редактировать и изменять форму. Давайте теперь откроем нашу форму Multiple Items, в которой перечислены все сотрудники из tnlEmployees .

Редактировать форму

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

Чтобы изменить внешний вид элементов управления в этой форме, у вас есть два вида формы, которые вы можете использовать. На вкладке «Главная» щелкните раскрывающийся список « Вид» .

Управление внешним видом

У вас есть Layout View или Design View, и оба эти вида используются для редактирования вашей формы. Форма просмотра открывается по умолчанию; это представление, которое вы будете использовать для взаимодействия или редактирования базового источника данных.

Чтобы отредактировать внешний вид самой формы, нам нужно сначала перейти к представлению макета.

Форма Сама

Когда вы переключитесь на Layout View, вы увидите ряд контекстных вкладок.

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

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

Инструменты макета

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

Управление изменением размера

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

Настроить поля

Это один из быстрых способов редактирования высоты и ширины элементов управления в вашей форме из этого вида макета.

Темы

В Access есть несколько основных способов форматирования форм с помощью встроенных тем, цветов и стилей шрифтов, настройки цветов заливки и затенения альтернативных строк. Давайте теперь откроем frmEmployees .

Темы

Формы, которые создает Access, просты и понятны. У них есть синяя полоса сверху и белый фон.

Если вы хотите узнать, как еще можно стилизовать эти формы, вы можете перейти в представление «Дизайн» или «Просмотр макета» и изучить некоторые параметры на вкладке «Дизайн» в области «Темы».

Стилизовать

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

Выпадающая галерея

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

Тема цветов

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

Заголовок шрифта

Давайте вернемся к frmEmployees . В этой форме вы увидите, что каждый альтернативный ряд закрашен светло-серым цветом.

Row Shade

Параметр форматирования называется « Цвет альтернативной строки», и если вы хотите настроить его в многократной форме, перейдите в представление « Дизайн» .

Цвет строки

Выберите этот подробный раздел и перейдите на вкладку «Формат», а в фоновой группе вы увидите опцию « Цвет альтернативной строки» . Вы можете изменить цвета для альтернативных рядов. Чтобы увидеть, как это выглядит, просто перейдите в представление формы или представление макета.

Сменить цвет

Если вам вообще не нужна заливка, вы можете выбрать « Нет цвета» в качестве цвета альтернативной строки, и это более традиционный вид из предыдущих версий Access.

Нет цвета

Ms Access – Форма навигации

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

  • Microsoft Access предлагает несколько функций для управления тем, как пользователи перемещаются по базе данных.

  • Мы уже использовали панель навигации для навигации по всем создаваемым объектам Access, таким как формы, запросы, таблицы и т. Д.

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

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

Мы уже использовали панель навигации для навигации по всем создаваемым объектам Access, таким как формы, запросы, таблицы и т. Д.

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

пример

Давайте теперь возьмем простой пример, в котором мы создадим форму навигации. Для этого перейдите на вкладку «Создать»; в группе форм вы увидите это раскрывающееся меню навигации.

Меню навигации

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

  • Одна с горизонтальными вкладками, другая с вертикальными вкладками – где все вкладки выровнены по левому краю, вертикальная раскладка вкладок, где все вкладки выровнены по правому краю.

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

  • У вас может быть один, где у вас есть как горизонтальные вкладки, так и вертикальные вкладки, выровненные влево или вправо.

Одна с горизонтальными вкладками, другая с вертикальными вкладками – где все вкладки выровнены по левому краю, вертикальная раскладка вкладок, где все вкладки выровнены по правому краю.

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

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

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

Вкладки навигации

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

Давайте теперь перетащим форму frmProjects из панели навигации и поместим ее в [Добавить новый] вверху.

Перетащите Frmprojects

Аналогичным образом перетащите форму frmAuthers из области навигации и поместите ее слева от кнопки «Добавить новую».

Добавить новую кнопку

Давайте теперь добавим другие формы, связанные с проектами, такие как frmSubTasks, frmCurrentProjects и т. Д.

Родственные формы

Давайте теперь добавим дополнительные вкладки в верхней части. Сначала мы добавим форму frmEmployees .

Дополнительная вкладка

Теперь вы увидите, что другие ваши кнопки проекта исчезли слева, и это потому, что они прикреплены к вкладке Проект. Все кнопки, которые вы видите слева, связаны с тем, что вы выбрали вверху. Теперь, выбрав вкладку «Сотрудник», давайте перетащим информацию о сотрудниках влево.

Кнопки проекта

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

переименовывать

Ms Access – Combo BOx

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

Поле со списком

Поле со списком – это объект или элемент управления, который содержит раскрывающийся список значений, из которых пользователь может выбрать.

  • Элемент управления combo box предоставляет более компактный способ представления списка вариантов.
  • Список скрыт, пока вы не нажмете стрелку раскрывающегося списка.
  • Поле со списком также дает вам возможность ввести значение, которого нет в списке.
  • Таким образом, элемент управления комбинированного окна объединяет функции текстового поля и списка.

пример

Давайте теперь возьмем простой пример создания поля со списком. Мы создали форму для сотрудника, как показано на следующем снимке экрана.

Поле со списком

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

Теперь перейдем к представлению « Дизайн» для этой формы. Выберите поле « Тип телефона» и нажмите «Удалить».

Тип телефона

Тип телефона Удалить

Как только поле «Тип телефона» будет удалено, перейдите на вкладку «Дизайн».

Используйте контрольные слова

Теперь давайте выберем опцию Use Wizards в меню Controls и затем выберите Combo Box Control из меню, как показано на следующем скриншоте.

Дизайн вкладки Combo

Теперь нарисуйте поле со списком, где вы хотите, и когда вы отпустите кнопку мыши, вы увидите диалоговое окно мастера со списком.

Combo Wizard

Здесь у вас есть другой вариант для данных; давайте выберем второй вариант, в котором мы добавим значения и нажмите Далее.

вариант

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

Помните Ценность

Нажмите Далее еще раз.

этикетка

Введите метку для вашего поля со списком и нажмите « Готово» .

несвязанный

Вы можете видеть, что поле со списком создано, но оно не выровнено с другим полем. Давайте сделаем это сначала, выбрав все поля, а затем перейдем на вкладку «Упорядочить».

Расположить вкладку

Слева вы увидите опцию Stacked . Нажмите эту кнопку.

Stacked

Теперь вы можете увидеть поля выровнены.

Чтобы сделать размер каждого поля одинаковым, у нас есть разные варианты, давайте нажмем кнопку «Размер / Пространство».

Кнопка формы размера

В раскрывающемся списке нажмите « Наименьший» .

К кратчайшему

Теперь перейдите к представлению формы .

Посмотреть форму

Теперь пользователь может легко выбрать любую опцию для типа телефона.

MS Access – SQL View

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

Выберите Query Design на вкладке Create и добавьте таблицу tblEmployees .

SQL View

Дизайн сотрудников

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

Результат запроса поля

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

Чтобы просмотреть SQL, перейдите на вкладку Главная. Выберите SQL View из меню View, и вы увидите SQL вашего запроса.

Домашняя вкладка

пример

Ниже приведен еще один пример, в котором мы увидим проекты в процессе выполнения.

Прогресс проекта

Навигация Отношения

Давайте теперь запустим ваш запрос.

Название задачи

Чтобы увидеть SQL, выберите SQL View из меню View.

SQL-запрос

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

Ms Access – Форматирование

Одним из особенно полезных инструментов форматирования в Access является возможность применять условное форматирование для выделения определенных данных. Давайте возьмем простой пример условного форматирования.

пример

В этом примере мы будем использовать форму fSubCurrentProjects в нашей базе данных.

Текущий проект

У нас есть список всех проектов в этой базе данных, и у нас также есть пара новых полей, таких как Статус в срок и Количество опоздавших задач . Эта форма создана из другого запроса.

Завершенный

В этом запросе мы имеем соединение между таблицей и запросом, в котором будет отображаться количество сроков выполнения или количество выполненных проектов с просроченными задачами. У нас также есть вычисляемое поле, которое использует функцию IF, чтобы определить, больше или нет значение срока оплаты больше нуля. Затем отобразятся слова « Поздно», если проект опаздывает, или « Вовремя», если в этом конкретном проекте нет просроченных задач.

Вовремя

Пример 1

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

Теперь выберите поле On Time Status .

Время Статус

Теперь перейдите на вкладку Формат.

Вкладка «Формат»

На этой вкладке «Формат» вы увидите группу «Форматирование элементов управления» и специальную кнопку «Условное форматирование». Давайте теперь нажмите на условное форматирование.

Диспетчер правил

Теперь вы увидите Диспетчер правил условного форматирования, и в настоящее время у нас нет правил, примененных к этому элементу управления. Теперь давайте создадим новое правило, нажав кнопку «Новое правило».

Новое правило

Теперь вы увидите диалоговое окно «Новое правило форматирования». Сначала мы укажем тип правила, которое мы будем создавать, и здесь у нас есть два варианта. Первый вариант – проверить значения в текущей записи или использовать выражение , а второй – сравнить эту запись с другими записями .

Теперь у нас есть только одно из двух значений в нашей форме; либо по времени, либо по слову поздно, и это из данного запроса. Теперь давайте выберем « Значение поля » в первом поле со списком, а затем выберите « равно » во втором поле со списком. Теперь введите слово « Поздно » в кавычках.

Равно

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

Отформатированный поздно

Вы можете видеть, что слово Late отформатировано сейчас. Это один из примеров того, как создать очень простое правило условного формата.

Пример 2

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

Условное форматирование

Теперь мы вернемся на вкладку «Формат» и нажмите «Условное форматирование» и создадим новое правило для этого конкретного элемента управления, как показано на снимке экрана выше.

Не задан формат

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

Построитель выражений

В категориях выражений у вас есть каждый объект, который находится в этой форме. Дважды щелкните на CountofDueDate . Это отправит ссылку на этот элемент управления или это поле до нашего построителя выражений и условия, если оно больше нуля. Теперь нажмите Ok.

Правило форматирования

Давайте теперь нажмите Ok, а затем нажмите Apply и Ok снова.

Пример значения

Это был пример условного форматирования поля, основанного на значениях в другом поле.

Пример 3

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

Срок выполнения отсчета

Нажмите на кнопку New Rule, чтобы создать новое правило, а затем нажмите Ok, как на скриншоте выше.

Новое правило форматирования

В новом правиле форматирования мы теперь выберем тип правила « Сравнить с другими записями ». Давайте дополнительно изменим цвет бара на красный . Мы хотим, чтобы наш самый короткий столбец представлял самое низкое значение, а самый длинный столбец представлял самое высокое значение. Давайте теперь нажмите Ok, а затем нажмите Apply и Ok снова.

Бар Цвет Красный

Теперь вы можете видеть, как применяется условное затенение, как на скриншоте выше. Давайте теперь перейдем к представлению формы.

Условное затенение

Ms Access – Управление и свойства

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

  • Наиболее часто используемым элементом управления является текстовое поле, но другие элементы управления включают кнопки команд, метки, флажки и элементы управления подчиненной формы / подчиненного отчета.

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

Наиболее часто используемым элементом управления является текстовое поле, но другие элементы управления включают кнопки команд, метки, флажки и элементы управления подчиненной формы / подчиненного отчета.

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

Связанные элементы управления

Давайте теперь поймем, что такое Bound Controls –

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

Несвязанные элементы управления

Давайте теперь поймем, что такое Unbound Controls –

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

Типы управления

Вы можете создавать различные типы элементов управления в Access. Здесь мы обсудим несколько распространенных, таких как текстовое поле, метка, элементы управления вкладками кнопок и т. Д.

Текстовое окно

  • Как правило, все, что находится в текстовом поле, будет связано, но не всегда.

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

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

  • Он рассчитан на лету и живет только в этой форме.

Как правило, все, что находится в текстовом поле, будет связано, но не всегда.

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

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

Он рассчитан на лету и живет только в этой форме.

Этикетки

  • Ярлыки всегда будут текстовыми и несвязанными.
  • Обычно метки не связаны ни с одним источником в вашей базе данных.
  • Метки используются для обозначения других элементов управления в вашей форме, таких как текстовые поля.

кнопка

  • Это еще один тип популярного контроля; эти командные кнопки обычно выполняют макрос или модуль.
  • Кнопки обычно используются для взаимодействия с данными или объектами в вашей базе данных.

Управление вкладками

  • Элементы управления вкладками дают вам представление вкладок элементов управления или других элементов управления в вашей форме.
  • Добавление вкладок в форму может сделать ее более упорядоченной и простой в использовании, особенно если форма содержит много элементов управления.
  • Размещая связанные элементы управления на отдельных страницах элемента управления вкладками, вы можете уменьшить беспорядок и упростить работу с данными.

Гиперссылка

  • Гиперссылка создает гиперссылку в вашей форме на что-то другое. Это может быть веб-страница или даже другой объект или место в вашей базе данных.

Гиперссылка создает гиперссылку в вашей форме на что-то другое. Это может быть веб-страница или даже другой объект или место в вашей базе данных.

Некоторые другие элементы управления

Давайте теперь посмотрим на некоторые другие элементы управления –

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

  • Вы можете создавать диаграммы, линии, кнопки-переключатели, списки, прямоугольники, флажки, несвязанные рамки объектов, вложения, кнопки выбора, подчиненные формы и вложенные отчеты, связанные рамки объектов и даже размещать изображения в своей форме.

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

Вы можете создавать диаграммы, линии, кнопки-переключатели, списки, прямоугольники, флажки, несвязанные рамки объектов, вложения, кнопки выбора, подчиненные формы и вложенные отчеты, связанные рамки объектов и даже размещать изображения в своей форме.

пример

Давайте теперь посмотрим на простой пример некоторых из этих элементов управления, создав новую пустую форму. Перейдите на вкладку « Создать » в группе форм и нажмите « Бланк» .

Бланк

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

Список полей

По умолчанию он открывается в режиме макета, как показано на скриншоте выше.

Теперь давайте перейдем к представлению «Дизайн», чтобы добавить поля.

Добавить поля дизайна

На вкладке «Дизайн» нажмите «Список свойств».

Дизайн недвижимости

В окне свойств щелкните стрелку раскрывающегося списка и убедитесь, что выбрана форма, а затем перейдите на вкладку «Данные».

Подробности собственности

На вкладке «Данные» вы увидите, что источник записи остается пустым. Предположим, мы хотим создать форму, которая будет привязана к двум разным таблицам в нашей базе данных. Теперь нажмите на кнопку … В дальнейшем он откроет свой собственный построитель запросов.

Query Builder

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

Выберите лист недвижимости

Теперь давайте выделим все поля из tblEmployees и перетащим в таблицу запросов, а также добавим все поля из tblHRData.

Теперь нажмите «Сохранить как» и присвойте этому запросу имя.

Query2 Сохранить

Давайте назовем его qryEmployeesData и нажмите « ОК», а затем закройте построитель запросов.

Данные сотрудника

Теперь вы можете видеть запрос в качестве источника записи. Теперь мы связали эту форму с объектом в нашей базе данных, в данном случае qryEmployeesData. Теперь мы можем начать с добавления некоторых элементов управления в эту форму и добавить любой из этих элементов управления, перейдите на вкладку «Дизайн» и просмотрите параметры из группы элементов управления.

Использовать мастер управления

В меню «Элементы управления» вы увидите, что мастер использования элементов управления выделен, как показано на снимке экрана выше. Эта маленькая кнопка имеет выделенную рамку вокруг нее по умолчанию. Это означает, что мастера управления включены. Это похоже на тумблер. При нажатии на тумблер мастера отключаются. Повторное нажатие включит волшебников.

Теперь давайте кликнем на Метку и перетащим эту метку и введите Информация о сотруднике, а затем перейдите на вкладку Формат, чтобы отформатировать ее, как показано на следующем снимке экрана.

Подробная информация о сотрудниках

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

Раздел заголовка

Щелкните правой кнопкой мыши в любом месте фона этой формы и выберите заголовок формы, как на скриншоте выше.

Заголовок формы

Переместите этот элемент управления в область заголовка формы. Теперь давайте создадим некоторые другие элементы управления на вкладке «Дизайн». На данный момент, скажем, мы хотим распределить все наши поля на две разные вкладки.

Область заголовка

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

Управление вкладками

Это создаст две вкладки – страницу 2 и страницу 3, как на скриншоте выше.

Давайте начнем с добавления некоторых элементов управления к этой вкладке.

Если мы хотим просмотреть некоторую информацию, которая хранится в нашем базовом запросе, щелкните параметр « Добавить существующие поля» в группе «Лента в инструментах», чтобы просмотреть все доступные поля из нашего базового запроса.

Существующие поля

Чтобы перенести существующие поля на страницу, выберите все поля, доступные в списке полей, как показано на следующем снимке экрана.

Доступные поля

Теперь перетащите поля на страницу 2 элемента управления вкладками, как показано на следующем снимке экрана.

Перетащите Поля

Теперь перейдите на вкладку Arrange и выберите Stacked layout.

Stacked Layout

На второй странице давайте теперь добавим остальные поля из этого запроса.

Остальные поля

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

Как только вы закончите форматирование, нажмите на значок Сохранить как, чтобы сохранить форму с нужным именем.

Сохранить данные сотрудника

Нажмите Ok и перейдите в представление формы, чтобы просмотреть всю информацию в этой форме.

Просмотр информации

Элемент управления вкладками разделяет наши элементы управления или поля на два экрана, чтобы упростить просмотр и добавление информации.

Добавлять информацию проще

MS Access – Основы отчетов

В этой главе мы расскажем об основах отчетов и о том, как создавать отчеты. Отчеты позволяют просматривать, форматировать и обобщать информацию в базе данных Microsoft Access. Например, вы можете создать простой отчет о телефонных номерах для всех ваших контактов.

  • Отчет состоит из информации, извлекаемой из таблиц или запросов, а также информации, хранящейся в дизайне отчета, такой как метки, заголовки и графика.

  • Таблицы или запросы, которые предоставляют базовые данные, также известны как источник записей отчета.

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

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

Отчет состоит из информации, извлекаемой из таблиц или запросов, а также информации, хранящейся в дизайне отчета, такой как метки, заголовки и графика.

Таблицы или запросы, которые предоставляют базовые данные, также известны как источник записей отчета.

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

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

пример

Теперь мы возьмем простой пример, чтобы понять процесс создания очень простого отчета. Для этого нам нужно перейти на вкладку «Создать».

отчет

Прежде чем нажать кнопку «Отчет», чтобы создать базовый отчет, убедитесь, что выбран правильный запрос. В этом случае qryCurrentProjects выбирается на вашей панели навигации. Теперь нажмите на кнопку «Отчет», которая сгенерирует отчет на основе этого запроса.

Проект выбран

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

Отрегулируйте столбцы

Прокрутите вниз и настройте управление страницей внизу.

Настройте управление страницей

Это был очень быстрый способ создать очень простой отчет. Вы также можете внести незначительные изменения и корректировки в представлении дизайна отчета.

Быстрый путь

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

Давайте теперь изменим заголовок отчета и присвоим ему другое имя.

Изменить заголовок

Нажмите на значок сохранения, чтобы сохранить отчет.

Название отчета

Вы получите диалоговое окно выше.

Введите имя для вашего отчета и нажмите ОК. Если вы хотите посмотреть, как на самом деле будет выглядеть этот отчет, в режиме предварительного просмотра вы можете вернуться к кнопке «Просмотр» и нажать «Предварительный просмотр», чтобы увидеть, как будет выглядеть этот отчет при печати на бумаге или в формате PDF.

Фактический вид

Используя инструменты в правом нижнем углу, вы можете увеличивать или уменьшать масштаб. У вас также есть несколько кнопок на вкладке «Предварительный просмотр», которые отображаются автоматически при переключении в режим предварительного просмотра. В разделе увеличения у вас есть просмотр одной страницы, двух страниц; или, если у вас более длинный отчет, вы можете просматривать сразу четыре страницы, восемь страниц или двенадцать страниц. Вы также можете настроить простые вещи, такие как размер бумаги, которую вы используете для печати, поля для отчета, ориентация, количество столбцов, настройка страницы и т. Д. И так вы можете создавать очень быстро. простой отчет с помощью кнопки «Отчет» на вкладке «Создать».

Создать отчет, используя дизайн отчета

Дизайн отчетов – это еще один метод создания быстрого отчета в Access. Для этого нам нужно использовать кнопку «Представление дизайна отчета», которая похожа на кнопку «Дизайн формы». Это создаст пустой отчет и откроет его непосредственно в представлении «Дизайн», что позволит вам изменить источник элемента управления и добавить поля непосредственно в представление «Дизайн» отчета.

Теперь перейдем на вкладку «Создать» и нажмите кнопку «Дизайн отчета».

Дизайн отчета

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

Несвязанный отчет

На вкладке «Дизайн» в группе «Инструменты» выберите «Лист свойств». Это откроет панель свойств.

Группа инструментов

На вкладке «Данные» назначьте источник отчета этому отчету, чтобы подключить его к объекту базы данных, как показано на следующем снимке экрана.

Вкладка данных

Выберите qryLateProjects из выпадающего списка , и теперь следующий шаг – пройти и добавить некоторые поля в этот отчет, нажав кнопку Добавить список существующих полей на вкладке Дизайн.

Поздние проекты

Выберите поля, как на скриншоте выше.

Выберите поля

Перетащите поля в отчет, как на скриншоте выше. Перейдите на вкладку «Упорядочить», и в группе «Таблица» у вас есть несколько вариантов выбора.

Выберите форму

Существует макет с накоплением и табличный макет, который очень похож на электронную таблицу. Давайте выберем табличный макет.

Табличный макет

Вы можете видеть, что он перемещает все метки в область заголовка страницы. Эти метки будут отображаться только один раз в верхней части каждой страницы, и запрос данных будет повторяться для каждой записи в разделе «Сведения». Теперь вы можете выполнить некоторые настройки, чтобы расширить поле ProjectName.

Поле шире

Как вы можете видеть на скриншоте выше, между разделом Detail и нижним колонтитулом есть много места.

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

Нижний колонтитул страницы

Просмотр отчета

Теперь вы можете видеть, что некоторые имена проектов не являются полными; Вы можете настроить это либо в режиме конструктора, либо в макете, чтобы сделать это.

Простой отчет

Именно так мы создаем простой отчет только из представления конструктора.

MS Access – форматирование отчетов

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

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

Отображаемая информация

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

Теперь перейдем к представлению «Дизайн» данного отчета.

Раздел отчета

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

Дополнительный раздел

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

Заголовок отчета

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

Представление дизайна отчета

В представлении отчета теперь вы увидите больше области в самом верху отчета, как на следующем снимке экрана.

Больше площади

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

Контроль нижнего колонтитула

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

Нижний отчет

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

В разделе «Группировка и итоги» на вкладке «Дизайн» нажмите кнопку «Группировать и отсортировать», которая откроет область «Группировка», «Сортировка» и «Итого» внизу, как показано на следующем снимке экрана.

Повторите нижний колонтитул

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

Дополнительная группа

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

Задача по проекту

Теперь вы увидите дополнительный уровень группировки ProjectName Header над разделом с вашими данными. Вместо того, чтобы имя проекта появлялось рядом с каждой опоздавшей отдельной задачей, теперь мы можем переместить этот элемент управления в заголовок этого проекта. Вы можете выбрать его, а затем нажать Ctrl + X на клавиатуре, чтобы вырезать его из этого раздела сведений, и щелкнуть в любом месте фона фонового заголовка проекта, а затем нажмите Ctrl + V, чтобы вставить этот элемент управления в заголовок этого проекта.

Имя Заголовок

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

корректировок

Каждый отдельный проект имеет свой собственный маленький уровень на своей линии, а затем под этой областью вы увидите все задачи, которые опаздывают на вышеуказанный проект. Теперь, когда это изменилось, вы можете перейти к форматированию отчета в представлении макета.

Если вы хотите увеличить имя проекта, перетащите строку ниже и измените размер шрифта на 20 на вкладке «Формат».

Название проекта больше

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

Увеличить ширину

Чтобы удалить границу вокруг элемента управления, щелкните контур формы на вкладке «Формат», как показано на следующем снимке экрана.

Контур формы

Выберите опцию Прозрачный .

прозрачный

Теперь перейдем к представлению «Дизайн», как показано на следующем снимке экрана.

Групповая сортировка

Настройте заголовок задачи слева от вашей страницы, как показано на следующем снимке экрана.

Название проекта

Теперь давайте перенесем данные из раздела « Верхний колонтитул страницы» в раздел заголовка « ProjectName », используя Ctrl + X и Ctrl + V.

Добавить группу

Давайте теперь вернемся к представлению отчета. Теперь вы увидите, что метки появляются прямо над элементами управления, которые они описывают.

Появилась этикетка

Если вы заметите, вы увидите, что между задачами и именем следующего проекта нет пробела. Между ними должно быть дополнительное пространство. Для этого нам нужно добавить ProjectName Footer .

Теперь перейдите к представлению «Дизайн».

Имя Нижний колонтитул

В области «Группа», «Сортировка» и «Итого» нажмите кнопку «Дополнительно» рядом с названием проекта.

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

Название сортировки группы

Здесь у нас есть свойство без раздела нижнего колонтитула . Давайте изменим эту опцию, нажав на эту маленькую стрелочку рядом со словами « Без нижнего колонтитула» .

Раздел нижнего колонтитула

Измените его на раздел нижнего колонтитула .

С разделом

Как вы можете видеть на скриншоте выше, добавлен раздел Нижний колонтитул ProjectName под разделом Подробности. Это будет действовать в качестве нижнего колонтитула для этой группы имен проекта.

Давайте теперь вернемся к представлению отчета.

Детальный раздел

Чтобы удалить затенение или появление фона для чередующихся областей как в разделе «Сведения», так и в области «Имя проекта», снова перейдите в представление «Дизайн».

Удалить затенение

Давайте сначала изменим раздел «Сведения», щелкнув разделитель сведений, а затем откройте страницу «Свойства».

На вкладке «Формат» измените « Альтернативный задний цвет» на « Нет цвета», как показано на следующем снимке экрана.

Альтернативный цвет

Аналогичным образом измените «Альтернативный задний цвет» на «Нет цвета» для заголовка ProjectName и нижнего колонтитула ProjectName и перейдите к представлению отчета.

Изменить альтернативный цвет

Теперь вы можете увидеть, как выглядит отчет. Чтобы увидеть, как ваши данные будут распечатываться постранично, перейдем к предварительному просмотру.

Предварительный просмотр

Вот как это будет выглядеть при печати.

MS Access – встроенные функции

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

функции

Функция – это процедура VBA, которая выполняет задачу или вычисление и возвращает результат. Функции обычно можно использовать в запросах, но есть и другие места, где вы можете использовать функции.

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

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

  • Функции могут быть довольно простыми, не требующими вызова другой информации, или просто ссылаться на одно поле из таблицы или запроса.

  • С другой стороны, они также могут быть довольно сложными, с несколькими аргументами, ссылками на поля и даже другими функциями, вложенными в другую функцию.

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

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

Функции могут быть довольно простыми, не требующими вызова другой информации, или просто ссылаться на одно поле из таблицы или запроса.

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

Давайте теперь посмотрим на некоторые примеры использования встроенных функций.

Функции даты и времени

Давайте теперь поймем функции даты и времени –

  • Функция Date () предназначена для возврата текущей системной даты. Эта функция не требует никаких аргументов функции или дополнительной информации. Все, что вам нужно сделать, это написать имя функции, а также открыть и закрыть скобки.

  • Есть две очень похожие встроенные функции Time () и Now ().

  • Функция Time () возвращает только текущее системное время, а функция Now () возвращает как текущую системную дату, так и время.

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

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

Есть две очень похожие встроенные функции Time () и Now ().

Функция Time () возвращает только текущее системное время, а функция Now () возвращает как текущую системную дату, так и время.

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

Теперь давайте откроем вашу базу данных и создадим новый запрос, используя дизайн запроса, и добавим tblProjects и tblTasks.

Добавить таблицы

Добавьте ProjectName из tblProjects и TaskTitle, StartDate и DueDate из tblTasks и выполните свой запрос.

Воссоединение

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

Давайте теперь укажем критерии под StartDate.

Функция даты

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

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

Сегодня Дата

Это был пример того, как вы можете использовать функцию Date () в качестве критерия запроса.

  • Давайте теперь скажем, что этот запрос должен быть более гибким с точки зрения дат, которые он запрашивает, начиная с этой недели.

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

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

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

Если мы хотим просмотреть задачи, которые начались на этой неделе, которые еще не выполнены или должны быть выполнены сегодня, вернемся к представлению «Дизайн».

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

Больше чем дата

Если мы введем минус семь и запустим запрос, вы сможете увидеть задачи, которые начались на этой неделе.

Запущенная задача

Функция DateDiff ()

Функция DateDiff () – еще одна очень популярная функция даты / времени. Функция DateDiff возвращает Variant (long), указывающий количество временных интервалов между двумя указанными датами. Другими словами, он вычисляет разницу между двумя датами, и вы выбираете интервал, по которому функция рассчитывает эту разницу.

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

DATEDIFF

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

Давайте попробуем использовать функцию DateDiff в новом поле.

Добавить Datediff

Давайте назовем его Age, затем двоеточие, а затем напишем DateDiff Function.

  • Первым аргументом функции для функции DateDiff является интервал, поэтому введите «гггг».
  • Следующий аргумент функции – это первая дата, по которой мы хотим вычислить, которая в этом случае будет полем дня рождения.
  • Третий аргумент функции – какая бы ни была сегодняшняя дата.

Теперь запустите ваш запрос, и вы увидите новое поле, в котором указан возраст каждого автора.

Возраст каждого автора

Функция Format ()

Функция Format () возвращает строку, содержащую выражение, отформатированное в соответствии с инструкциями, содержащимися в выражении формата. Вот список пользовательских форматов, которые можно использовать в функции Format ().

настройка Описание
гггг Год
Q четверть
м Месяц
Y День года
d День
вес будний день
WW Неделю
час Час
N минут
s второй

Давайте теперь вернемся к вашему запросу и добавим в него дополнительные поля с помощью функции Format ().

Функция формата

Введите функцию форматирования. Первым аргументом функции будет выражение, которое может быть почти любым. Давайте теперь будем иметь поле дня рождения первым, а следующее – написать наш формат. В этом случае нам нужен месяц, месяц, день, день. Напишите «mmdd» в кавычках, а затем выполните запрос.

Аргумент Выражение

Теперь он берет дату из поля дня рождения, 4 – месяц, а 17 – день.

Давайте добавим «mmm» и «mmmm» вместо «mmdd» в следующих полях, как на следующем скриншоте.

Добавить месяц

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

Название месяца

В следующем поле возвращаются первые 3 символа из названия месяца для этого дня рождения, а в последнем поле вы получите полное название месяца.

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

Год

Позвольте нам снова запустить ваш запрос.

Месяц год

Теперь вы увидите месяц с запятой, а затем год.

IIf () Функция

Функция IIf () является аббревиатурой от «Immediate If», и эта функция оценивает выражение как true или false и возвращает значение для каждого. Имеет до трех аргументов функции, все из которых являются обязательными.

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

пример

Давайте возьмем простой пример. Мы создадим новый запрос, используя дизайн запроса, добавим таблицу tblAuthors, а затем добавим следующие поля.

Немедленно если

Теперь вы можете видеть, что у нас есть три поля – FirstName, MiddleInitial, LastName, а затем это объединенное поле, которое объединяет все три поля. Давайте запустим ваш запрос, чтобы увидеть результат этого запроса.

Конкат Поля

Теперь вы можете увидеть результат запроса, но вы также заметите, что некоторые записи не имеют среднего начального значения. Например, запись Джойса Дайера не имеет средней инициалы, но в поле FullName вы увидите период, который действительно не должен быть там. Итак, вернитесь к представлению «Дизайн». Здесь мы сцепим имя другим способом, используя функцию IIf.

Другой путь

Давайте напишем имя в другом поле и назовем его FullName1, а затем наберем функцию IIf.

  • Первым аргументом функции для Immediate If будет ваше выражение. В выражении мы увидим, является ли среднее начальное поле пустым или нулевым.

  • Следующий аргумент – это истинная часть. Итак, если средний инициал равен нулю, мы бы хотели отобразить FirstName и LastName.

  • Теперь для нашей ложной части – если MiddleInitial не равно NULL, то мы бы хотели отобразить FirstName, MiddleInitial и LastName.

Первым аргументом функции для Immediate If будет ваше выражение. В выражении мы увидим, является ли среднее начальное поле пустым или нулевым.

Следующий аргумент – это истинная часть. Итак, если средний инициал равен нулю, мы бы хотели отобразить FirstName и LastName.

Теперь для нашей ложной части – если MiddleInitial не равно NULL, то мы бы хотели отобразить FirstName, MiddleInitial и LastName.

Теперь давайте запустим ваш запрос, и вы увидите результаты, как на следующем скриншоте.

Показать результат

MS Access – Макросы

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

  • Макросы в Access работают несколько иначе, чем макросы в Word или Excel, где вы по сути записываете последовательность нажатий клавиш и воспроизводите их позже.

  • Макросы Access создаются из набора предопределенных действий, позволяя автоматизировать общие задачи и добавлять функциональные возможности к элементам управления или объектам.

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

  • Макросы предоставляют способ запуска команд без необходимости писать или даже знать код VBA, и вы можете многого достичь только с помощью макросов.

Макросы в Access работают несколько иначе, чем макросы в Word или Excel, где вы по сути записываете последовательность нажатий клавиш и воспроизводите их позже.

Макросы Access создаются из набора предопределенных действий, позволяя автоматизировать общие задачи и добавлять функциональные возможности к элементам управления или объектам.

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

Макросы предоставляют способ запуска команд без необходимости писать или даже знать код VBA, и вы можете многого достичь только с помощью макросов.

Создание макроса

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

Создание макроса

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

Информация о работе

Теперь перейдем к представлению «Дизайн» этой формы и кнопке «Добавить» в меню «Элементы управления». Когда вы отпустите кнопку мыши, вы увидите диалоговое окно Command Button Wizard.

Общая кнопка

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

Самый простой способ

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

Frmjobs

Вы должны указать, какую форму вы хотите открыть с помощью кнопки. А пока давайте выберем frmJobs и нажмите « Далее» .

Открытые записи

На этом экране у нас есть два варианта: мы можем открыть форму и отобразить очень конкретную запись , или мы можем открыть форму и показать все записи . Давайте выберем второй вариант и нажмите Далее, как на скриншоте выше.

Посмотреть вакансии

Мы могли бы заставить командную кнопку отображать картинку, или вы можете выбрать Показать текст. Здесь мы хотим, чтобы текст View Jobs отображался, и теперь нажмите Next.

CmdViewJobs

Теперь вы можете дать значимое имя вашей командной кнопке, как на скриншоте выше. Это может быть использовано в других кодах или других макросах. Давайте назовем это cmdViewJobs и нажмите Finish .

Теперь перейдите к представлению формы.

Форма ViewJobs

Теперь вы увидите кнопку «Просмотр вакансий» в вашей форме. Давайте нажмем на это.

Кнопка просмотра вакансий

Теперь у вас есть открытая форма, но вы не будете просматривать какую-либо информацию. Вернемся к представлению «Дизайн» формы frmEmployeeData. Убедитесь, что выбрана командная кнопка, и щелкните вкладку «Событие» в окне свойств.

Командная кнопка

При нажатии вы увидите встроенный макрос, созданный мастером. Если вы хотите изменить этот макрос, нажмите кнопку…, чтобы открыть макрос, созданный мастером.

Встроенный макрос

Это конструктор макросов, а справа вы увидите каталог действий. Здесь все ваши действия будут жить в папках. У вас есть опции ввода данных, импорт / экспорт данных и т. Д., А слева в основной области у вас есть другой макрос. Он содержит только одно действие, и, нажав на это одно действие, вы можете просмотреть другие свойства для этого конкретного действия.

Макро Дизайнер

Вы увидите имя формы и можете нажать на стрелку раскрывающегося списка, чтобы просмотреть формы, доступные в вашей базе данных. Вы можете изменить способ просмотра этой формы, вы можете открыть ее для просмотра формы, дизайна, предварительного просмотра. Вы можете применить имя фильтра или условие Где. Здесь мы хотим изменить режим данных, потому что frmJobs установлен в режим добавления, который позволяет только добавлять новые записи. Мы можем переопределить это здесь в этом макросе, изменив его на режим редактирования.

Режим данных

Теперь сохраните свой макрос, а затем закройте конструктор макросов и вернитесь в представление формы.

Сохранить макрос

Давайте снова кликнем на View Jobs.

ViewJob

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

Ms Access – импорт данных

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

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

  • В Access вы не можете использовать команду «Сохранить как» таким же образом, вы можете сохранить объекты Access как другие объекты Access, но вы не можете сохранить базу данных Access в виде файла электронной таблицы.

  • Чтобы сохранить Access в виде файла электронной таблицы, вам потребуется использовать функцию импорта на вкладке «Внешние данные».

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

В Access вы не можете использовать команду «Сохранить как» таким же образом, вы можете сохранить объекты Access как другие объекты Access, но вы не можете сохранить базу данных Access в виде файла электронной таблицы.

Чтобы сохранить Access в виде файла электронной таблицы, вам потребуется использовать функцию импорта на вкладке «Внешние данные».

Различные типы доступа к данным могут импортировать

Чтобы понять, какие данные вы можете импортировать в данные Access, давайте откроем вашу базу данных и перейдем на вкладку «Внешние данные».

Импортировать

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

  • Microsoft Office Excel
  • Microsoft Office Access
  • Базы данных ODBC (например, SQL Server)
  • Текстовые файлы (с разделителями или фиксированной ширины)
  • XML-файлы

пример

Давайте рассмотрим простой пример импорта данных из файла Excel. Вот данные в файле Access.

Доступ к файлу

Чтобы импортировать данные в Access, сначала нужно открыть базу данных Access, а затем перейти на вкладку «Внешние данные», как показано на следующем снимке экрана.

Внешние данные

В группе Импорт и ссылка вы увидите опцию Excel. Давайте нажмем на эту опцию.

Link Group

Просмотрите файл Excel, из которого вы хотите импортировать данные, и тогда у нас есть различные варианты для хранения данных. Давайте выберем первый вариант и нажмите Ok.

таблица

Здесь вы увидите предварительный просмотр ваших данных. Теперь нажмите Next.

Предварительный просмотр данных

Теперь в предварительном просмотре видно, что первая строка содержит заголовки столбцов. Давайте теперь установим флажок и нажмите Далее.

Вариант поля

Теперь вы увидите диалоговое окно, в котором вы можете установить тип данных для каждого столбца / поля. Если вы не хотите импортировать какое-либо поле, просто установите флажок «Не импортировать поле». Как только вы закончите с полем FirstName, просто нажмите на поле MiddleInitial.

Второй инициал

Давайте теперь пройдемся по всем полям и затем нажмите Далее.

Выберите опцию

Вот различные варианты первичного ключа. Давайте выберем первый вариант и нажмите «Далее».

TblContacts

В последнем диалоговом окне вы можете ввести имя таблицы по вашему выбору и нажать кнопку «Готово».

Последнее диалоговое окно

Если вы хотите сохранить все эти шаги, установите флажок и закройте диалоговое окно.

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

Данные в доступе

пример

Давайте теперь посмотрим на другой пример импорта данных из базы данных Access. Давайте снова перейдем на вкладку «Внешний».

Внешняя вкладка

В группе «Импорт и связь» нажмите «Доступ».

Доступ к базе данных

Просмотрите базу данных Access, из которой вы хотите импортировать данные, а затем выберите первую опцию, которая говорит Импорт таблиц, запросов, форм и т. Д. Теперь нажмите кнопку ОК.

Импортировать объекты

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

Импорт отчетов

Давайте перейдем на вкладку Отчеты и выберите любой отчет, который вы хотите импортировать; Вы также можете выбрать все данные, нажав на кнопку Выбрать все . Давайте выберем Проекты и нажмите ОК .

Выбрать все

Теперь закройте диалоговое окно. В области навигации вы увидите, что добавлен новый отчет. Давайте откроем этот отчет, и вы увидите все данные в этом отчете.

Новый отчет

MS Access – экспорт данных

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

Чтобы понять, какие данные вы можете экспортировать из данных Access, позвольте нам открыть вашу базу данных и перейти на вкладку «Внешние данные».

экспорт

В группе «Экспорт» вы можете увидеть различные варианты экспорта данных из Access. Ниже приведены наиболее часто используемые форматы экспорта данных –

  • Microsoft Office Excel
  • Microsoft Office Access
  • Базы данных ODBC (например, SQL Server)
  • Текстовые файлы (с разделителями или фиксированной ширины)
  • XML-файлы

пример

Давайте посмотрим на простой пример экспорта данных из Access. Откройте базу данных, из которой вы хотите экспортировать данные. В области навигации выберите объект, из которого вы хотите экспортировать данные.

Экспорт данных

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

На вкладке «Внешние данные» выберите тип данных, в которые вы хотите экспортировать данные. Например, чтобы экспортировать данные в формате, который может быть открыт в Microsoft Excel, щелкните Excel.

превосходить

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

Мастер экспорта

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

Откроется следующий файл Excel.

Сохранить экспорт

Предположим теперь, что вы хотите экспортировать данные в текстовый файл. На вкладке «Внешние данные» нажмите «Текстовый файл».

Текстовый файл

Укажите параметры экспорта и нажмите «ОК». Вы увидите диалоговое окно Encode, в которое мы хотим экспортировать данные в кодировке по умолчанию.

Windows по умолчанию

Выберите первый вариант и нажмите Ok.

Первый вариант

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

Теперь вы увидите, что текстовый файл открыт.

Проводить исследования

Точно так же вы можете изучить и другие варианты. Поэтому настоятельно рекомендуется поиграть с другими функциями импорта и экспорта.

Понравилась статья? Поделить с друзьями:
  • Руководство по эксплуатации flows in you
  • Устройство мавит лечение предстательной железы инструкция
  • Same 400 инструкция по применению таблетки
  • Водосток для крыши пластиковый как монтировать своими руками пошаговая инструкция
  • Руководство операционно хозяйственной деятельности