Изменение свойств запросов в microsoft access
Содержание:
- Свойства таблиц и полей в Access
- Запросы на выборку
- Запросы на добавление
- Объединение таблиц в запросы
- Создание запроса с несколькими таблицами
- Просмотр связей между таблицами
- Как используются запросы?
- Какие составляющие запроса есть?
- Создание запросов в Microsoft Access 2003 — база MS SQL Server
- Запросы на изменение
- Типы данных в Access
- Пример
- Типы данных Access
Свойства таблиц и полей в Access
Кроме того, что поля базы данных определяют структуру этой базы, они предназначены для определения групповых свойств сведений, которые записаны в ячейках, принадлежащих каждому из полей. Основные свойства полей таблиц Microsoft Access:
- Имя поля необходимо для того, чтобы определить, каким образом необходим обращаться к данным этого поля при автоматических операциях с базой. Стандартные имена полей используются, как заголовки столбцов таблицы.
- Тип поля служит для определения типа данных, содержащихся в конкретном поле.
- Размер поля с максимальной длиной информации, измеряемой символами, которая допустима для рассматриваемого поля.
- Формат поля отражает метод форматирования сведений в ячейках, относящихся к полю.
- Маска ввода необходима для определения формы, согласно которой осуществляют ввод данных.
- Подпись позволяет распознать заголовок столбца таблицы для конкретного поля. В том случае, когда подпись отсутствует, заголовок столбца является свойством Имя поля.
- Значение по умолчанию является тем значением, которое отображается в ячейках поля автоматически, относится к средству автоматизации ввода данных.
- Условие на значение представляет собой ограничение, которое используют, чтобы проверить корректность ввода информации, является средством автоматизации ввода, которое используется, обычно, для сведений в числовом, денежном типе или типе даты.
- Сообщение об ошибке является текстовым оповещением, которое отображается автоматически, когда ошибочные данные вводятся в поле. Данное поле является обязательным, то есть свойством, которое определяет обязательность заполнения данного поля при наполнении базы.
- Пустые строки представляют собой свойство, разрешающее ввод пустых строковых.
- Индексированное поле предусмотрено для тех полей, операции в которых предусматривают поиск или сортировку записей по значению, за счет чего данные процессы существенно ускоряются. Индексированные поля позволяют проверять значения в записях по данному полю на отсутствие повторов, что обеспечивает автоматическое исключение дублирования информации.
Так как разные поля содержат информацию неодинакового типа, то их свойства могут отличаться, исходя из типа данных. К примеру, перечисленные свойства применяются к полям в основном с текстовым типом. Для полей другого типа характерно наличие или отсутствия этих свойств, либо их дополнение другими свойствами
Данные, представляющие действительные числа, включают важное свойство в виде количества знаков после десятичной запятой. Однако для полей, в которых хранятся изображения, звукозаписи, видео и другие объекты OLE, перечисленные свойства не актуальны
Примечание
Информация в базе данных имеет вид двухмерной таблицы. Строки в ней называют записями, а столбцы — полями. Определения «запись» и «поле» используют при описании таблиц, а термины «строка» и «столбец» целесообразно употреблять, когда речь идет о результатах выполнения запросов.
Общие характеристики таблицы определяются свойствами таблицы Access. Заполнять такие свойства не является необходимостью. Для открытия окна свойств таблице в режиме конструктора нужно нажать на кнопку «Свойства» (Ргорегties), расположенную на панели инструментов.
Любая таблица характеризуется следующими свойствами:
Запросы на выборку
Наиболее востребованная операция в БД – это получение данных из таблиц, для чего предназначены запросы на выборку. Эти команды позволяют посмотреть нужные данные из БД согласно введенным условиям. Для этого пользователь «Конструктора запросов» или программист указывает список полей (столбцов), которые он хочет получить, присваивает им наименования, расставляет в нужном порядке.
Команда может быть безусловной либо с заданными параметрами. В первом случае пользователю будет возвращен массив данных, состоящий из всех строк таблицы. Во втором – только те строки, которые отвечают введенному требованию. Таким образом можно задавать ограничения – устанавливать фильтр на необходимые данные.
Полученную информацию можно также отсортировать по одному или нескольким полям, объединить строки по какому-то признаку, произвести подсчеты с использованием функций. Это агрегатные функции, подсчитывающие количество, сумму, среднее арифметическое значение полей и другие итоги.
В выборках объединяют несколько таблиц, связывая их между собой по необходимому признаку и получая итоговую таблицу, содержащую информацию из нескольких источников.
Попробуем сделать выборку в Access, для чего предназначены запросы в «Конструкторе». Создадим в нашей базе данных таблицу «Студенты».
Код | Имя студента | Фамилия студента | Дата рождения | Факультет | Курс |
1 | Иван | Иванов | 16.05.1999 | Технологический | 3 |
2 | Сергей | Козлов | 19.01.1999 | Экономический | 3 |
3 | Валерий | Пяткин | 22.12.2000 | Экономический | 2 |
4 | Тимофей | Трещоткин | 01.05.2001 | Юридический | 1 |
Открываем вкладку «Создание» и выбираем пункт «Конструктор запросов». Добавляем таблицу «Студенты». Для выбора нужных полей дважды кликаем на них. Внизу окна добавляем сортировку, если она необходима, и дополнительные условия отбора.
После нажатия на кнопку «Выполнить» вкладки «Конструктор» в окне появляются результаты выборки.
Такие же результаты можно получить с использованием SQL-запроса. Переход в режим SQL происходит по контекстному пункту меню. Наша операция здесь выглядит так:
SELECT Студенты., Студенты., Студенты.
FROM Студенты
ORDER BY Студенты.;
Аналогично можно создать и выполнить команды на выборку из нескольких таблиц, с параметрами и итогами.
Запросы на добавление
Этот тип операций используется для вставки новых строк в существующую таблицу БД. Можно добавлять конкретные значения полей, а можно извлекать информацию из одной таблицы и добавлять ее в другую. Как извлекать данные, мы уже знаем, давайте посмотрим, как добавить строки.
Создадим еще одну таблицу «Новые студенты» и добавим в нее 2 записи:
Код | Имя | Фамилия | Дата рождения |
1 | Юрий | Семенов | 11.12.2002 |
2 | Алексей | Торопов | 13.08.2002 |
А теперь вставим эти данные в таблицу «Студенты» с помощью «Конструктора запросов». Для этого на вкладке «Конструктор» выберем пункт «Добавить», а в открывшемся окне укажем таблицу «Студенты», в которую будут вставляться данные. В окне запроса добавим таблицу «Новые студенты», из которой будем брать записи. Выберем поля, информация из которых будет добавлена в таблицу «Студенты»:
И выполним запрос. Таблица стала выглядеть так.
В режиме языка запросов SQL на добавление принимает вид:
Объединение таблиц в запросы
Последнее, что вам нужно учитывать при разработке запроса, — это то, как вы связываете или присоединяетесь к столам, с которыми работаете. Когда вы добавляете две таблицы в запрос Access, это то, что вы увидите в области « Связывание объектов» :
Строка, соединяющая две таблицы, называется линией соединения . Посмотрите, как линия соединения на самом деле является стрелкой? Это связано с тем, что он указывает порядок, в котором запрос просматривает данные из двух таблиц. На изображении выше, стрелка указывает от налево на право , это означает , что запрос будет смотреть на данные в левой таблице первой, то только данные в правой таблице, относится к записям это уже видели в левой таблице.
Ваши таблицы не всегда будут соединены таким образом, иногда Access к ним присоединятся право на левый. В любом случае вам может потребоваться изменить направление соединения, чтобы убедиться, что ваш запрос содержит правильную информацию. Направление объединения может повлиять на информацию, которую получает ваш запрос.
Чтобы понять, что это значит, рассмотрите вопрос, который мы разрабатываем. По нашему запросу нам нужно увидеть клиентов, которые разместили заказы, поэтому мы включили таблицу Customers и таблицу Orders . Давайте рассмотрим некоторые данные, содержащиеся в этих таблицах.
Что вы замечаете, когда смотрите эти списки? Каждый заказ в таблице « Заказы» связан с кем-то в таблице « Клиенты» — клиентом, который разместил этот заказ. Однако, когда вы смотрите таблицу Customers, вы увидите, что клиенты, разместившие несколько заказов, связаны более чем с одним заказом, а те, кто никогда не размещал заказ, не привязаны к никаким заказам. Как вы можете видеть, даже когда две таблицы связаны, возможно иметь записи в одной таблице, которые не имеют отношения к какой-либо записи в другой таблице.
Итак, что происходит, когда Access пытается запустить наш запрос с текущим соединением слева направо ? Во-первых, он извлекает каждую запись из таблицы влево: таблица наших клиентов.
Затем он извлекает каждую запись из правой таблицы, которая имеет отношение к записи Access, уже взятой из левой таблицы.
Поскольку наше соединение началось с таблицы Customers , наш запрос будет включать записи для всех наших клиентов, включая тех, кто никогда не размещал заказы. Это больше информации, чем мы хотим! Мы только хотим , чтобы увидеть записи для клиентов , которые разместили заказы .
К счастью, мы можем исправить эту проблему, изменив направление линии соединения. Если мы присоединяемся к таблицам справа налево , Access сначала получит все заказы из правой таблицы, которая является нашей таблицей Orders :
Затем Access будет смотреть на левую таблицу и извлекать только записи клиентов, которые связаны с ордером справа.
Теперь у нас есть именно та информация, которую мы хотим: все клиенты, которые разместили заказ, и только те клиенты. Как вы можете видеть, нам нужно было присоединиться к нашим таблицам в правильном направлении, чтобы получить нужную нам информацию.
Теперь, когда мы понимаем, какое направление соединения нам нужно использовать, мы готовы построить наш запрос!
В нашем запросе, мы должны использовать право — налево Join, но правильное направление присоединиться к таблицам в запросах будет зависеть от того, что информация , которую вы хотите увидеть и где хранится эта информация. Когда вы добавляете таблицы в запрос, Access автоматически присоединяется к таблицам для вас, но часто не присоединяет их в правильном направлении
Вот почему важно всегда пересматривать соединения между вашими таблицами перед созданием запроса
Создание запроса с несколькими таблицами
Теперь, когда мы запланировали наш запрос, мы готовы его спроектировать и запустить. Если вы создали письменные планы для своего запроса, обязательно обращайтесь к ним часто в процессе разработки запроса.
Чтобы создать запрос с несколькими таблицами:
- Выберите команду « Конструктор запросов» на вкладке « Создать » на ленте.
В появившемся диалоговом окне « Показать таблицу » выберите каждую таблицу, которую вы хотите включить в свой запрос, затем нажмите « Добавить» . После того, как вы добавили все нужные таблицы, нажмите « Закрыть» . Когда мы планировали наш запрос, мы решили, что нам нужна информация из таблицы Customers и Orders , поэтому мы добавим их.
Таблицы появятся в панели «Связывание объектов» , которая связана линией соединения . Дважды щелкните тонкий раздел линии соединения между двумя таблицами, чтобы изменить направление соединения.
Регистрация Свойства диалоговое окно. Выберите вариант, чтобы выбрать направление вашего соединения.
- Выберите вариант 2: для объединения слева направо . В нашем запросе левая таблица — таблица Customers , поэтому выбор этого означает, что все наши клиенты, которые соответствовали нашим критериям местоположения, независимо от того, разместили ли они заказ, будут включены в наши результаты. Мы не хотим выбирать этот вариант для нашего запроса.
- Выберите вариант 3: для запроса справа налево . Поскольку наш правильный стол является нашей таблицей Orders , выбор этого параметра позволит нам работать с записями для всех заказов и только для клиентов, разместивших заказы. Мы выберем этот вариант для нашего запроса, потому что это именно те данные, которые мы хотим видеть.
В окнах таблицы дважды щелкните имена полей, которые вы хотите включить в свой запрос. Они будут добавлены в дизайнерскую сетку в нижней части экрана.
В нашем примере мы будем включать большинство полей из таблицы Customers : имя , фамилия , адрес , город , штат , почтовый индекс и номер телефона . Мы также будем включать идентификационный номер из таблицы Orders .
Установите критерии поля , введя требуемые критерии в строке критериев каждого поля. Мы хотим установить два критерия:
- Во-первых, чтобы найти клиентов, которые не живут в Роли, мы будем вводить Not In («Raleigh») в поле City.
- Во-вторых, чтобы найти клиентов , которые имеют телефонный номер , начинающийся с кодом 919 , мы вводим Like ( «919 *») в номер телефона поле.
После того, как вы установили критерии, запустите запрос, нажав команду « Выполнить» на вкладке « Дизайн запросов ».
Результаты запроса будут отображаться в представлении Datasheet запроса , которое выглядит как таблица. Если вы хотите, сохраните запрос, нажав команду « Сохранить» на панели быстрого доступа. Когда появится запрос на его имя, введите нужное имя и нажмите «ОК» .
Новые статьи
- Проектирование собственной базы данных в Access — 21/08/2018 15:16
- Форматирование форм в Access — 21/08/2018 15:11
- Создание форм в Access — 21/08/2018 15:05
- Изменение таблиц в Access — 21/08/2018 14:58
- Дополнительные параметры отчета в Access — 21/08/2018 14:48
- Создание отчетов в Access — 21/08/2018 14:42
- Дополнительные параметры дизайна запроса в Access — 21/08/2018 14:36
Предыдущие статьи
- Сортировка и фильтрация записей в Access — 21/08/2018 04:37
- Работа с формами в Access — 21/08/2018 04:25
- MS Access — Работа с таблицами, создание, удаление, настройка внешнего вида — 20/04/2018 17:18
- MS Access — Управление базами данных и объектами — 30/03/2018 16:18
- Начало работы в Access. Знакомство с Access 2010 — 10/02/2018 18:24
- MS Access: Введение в объекты — Таблицы, формы, запросы и отчеты — 07/02/2018 08:32
- MS Access: Что такое база данных? Отличие Access от Excel. — 03/02/2018 18:18
Просмотр связей между таблицами
Чтобы просмотреть межтабличные связи, щелкните Схема данных на вкладке Работа с базами данных. Откроется окно «Схема данных», в котором будут отображены все существующие связи. Если связи еще не были определены или это окно открывается впервые, приложение Access предложит добавить в окно таблицу или запрос.
Вызов окна «Схема данных»
На вкладке Файл выберите команду Открыть.
Выбор и открытые базы данных.
На вкладке Работа с базами данных в группе Отношения нажмите кнопку Схема данных.
Если в базе данных есть связи, будет отображено окно «Схема данных». Если в базе данных нет связей или это окно открывается впервые, будет отображено диалоговое окно Добавление таблицы. Нажмите кнопку Закрыть, чтобы закрыть это диалоговое окно.
На вкладке Конструктор в группе Связи щелкните элемент Все связи.
Будут отображены все связи, определенные в базе данных
Обратите внимание на то, что скрытые таблицы (таблицы, для которых установлен флажок скрытый в диалоговом окне Свойства) и их отношения не отображаются, если в диалоговом окне Параметры переходов не выбран параметр Показывать скрытые объекты
Связь между таблицами представляется как линия между таблицами в окне «Схема данных». Связь, не обеспечивающая целостность данных, отображается как тонкая линия между общими полями, поддерживающими связь. Если выбрать связь, щелкнув линию, то линия станет жирной. Если обеспечить целостность данных для этой связи, линия станет толще на концах. Кроме того, над жирной частью линии с одной стороны связи будет отображаться цифра 1, а с другой стороны — символ бесконечности (∞).
Когда открыто окно «Схема данных», на ленте доступны указанные ниже команды.
На вкладке Конструктор в группе Сервис
Изменить связи . Открывает диалоговое окно Изменение связей . При выборе линии связи можно щелкнуть элемент Изменить связи, чтобы изменить связь между таблицами. Можно также дважды щелкнуть линию связи.
Очистить макет . Запрещает отображение всех таблиц и связей в окне «Схема данных». Имейте в виду, что эта команда только скрывает таблицы и связи, но не удаляет их.
Отчет о связях . Создает отчет, отображающий таблицы и связи базы данных. В отчете отображаются только таблицы и связи, не скрытые в окне «Схема данных».
На вкладке Конструктор в группе Отношения
Добавить таблицу . Открывает диалоговое окно Добавление таблицы, чтобы можно было выбрать таблицы и запросы для просмотра в окне «Схема данных».
Скрыть таблицу . Скрывает выбранную таблицу в окне «Схема данных».
Прямые связи . Отображает все связи и связанные таблицы для выбранной таблицы в окне «Схема данных», если они еще не отображены.
Все связи . Отображает все связи и связанные таблицы базы данных в окне «Схема данных». Имейте в виду, что скрытые таблицы (таблицы, для которых установлен флажок Скрытый в диалоговом окне Свойства) и их связи не будут отображены, если не установлен флажок «Показывать скрытые объекты» в диалоговом окне «Параметры переходов».
Закрыть . Закрывает окно «Схема данных». Если в макет окна «Схема данных» были внесены какие-либо изменения, будет предложено сохранить их.
Как используются запросы?
Запросы гораздо более мощные, чем простые поиски или фильтры, которые вы могли бы использовать для поиска данных в таблице. Это связано с тем, что запросы могут извлекать информацию из нескольких таблиц. Например, если вы можете использовать поиск в таблице клиентов, чтобы найти имя одного клиента в вашей компании или фильтр в таблице заказов, чтобы просмотреть только заказы, размещенные за последнюю неделю, ни один из них не позволит вам просматривать как клиентов, так и заказы на один раз. Однако вы можете легко запустить запрос, чтобы найти имя и номер телефона каждого клиента, совершившего покупку за последнюю неделю. Хорошо спроектированный запрос может предоставить информацию, которую вы, возможно, не сможете найти, просто просмотрев данные в ваших таблицах.
Когда вы запускаете запрос, результаты представлены вам в таблице, но при его разработке вы используете другое представление. Это называется представлением Query Design , и оно позволяет увидеть, как ваш запрос объединяется.
Какие составляющие запроса есть?
Продолжаем отвечать на вопрос: для чего нужны запросы. SQL используется для написания запросов. Компонентов должно быть всего два: SELECT и FROM. Но помимо этого возможны и используются многие другие команды, которые добавляют новые требования для выбора и сортировки данных с помощью представления. Эти запросы к базе данных предназначены для получения с вашего компьютера самой необходимой информации: что и где искать. Самая популярная часть после требуемых запчастей — это Dove. Где используется для установки определенных условий для выбора данных. Затем здесь вы можете указать идентификационный номер, дату рождения или другую уникальную информацию, по которой можно идентифицировать человека.
Создание запросов в Microsoft Access 2003 — база MS SQL Server
Давайте рассмотрим создание новых запросов из клиента Access на базе MS SQL Server (подразумевается, что клиент adp и база данных на основе MS SQL Server у Вас уже есть).
Примечание! Данная статья не подразумевает изучение sql, поэтому на момент прочтения этой статьи Вы уже должны понимать основы sql и понятие основных объектов в базе данных таких как: представление, функция, процедура. Если Вы совсем новичок в этом, то сначала, конечно же, рекомендуется освоить SQL, так как многие термины ниже Вам будут не понятны. Рекомендуемые статьи:
- Видеокурсы по T-SQL
- Самоучитель по языку Transact-SQL
- Основы языка запросов SQL – оператор SELECT
- Как написать функцию на PL/pgSQL?
- Что такое представления VIEWS в базах данных? И зачем они нужны?
Начало все такое же, открывает проект, затем нажимаем на объекты «Запросы» и жмем кнопку «Создать».
И теперь подробней.
Типы запросов в Access 2003 — база MS SQL Server
Конструктор встроенной функции – это, можно сказать, обычное представление, только в нее можно передавать параметры, затем выполняются какие-то запросы на сервере, и возвращается таблица. Это своего рода функция, которая возвращает данные в виде таблицы. К ней обращаются следующим образом (если говорить об sql):
SELECT * FROM my_test_tabl_func(par1, par2 ……)
После нажатие на «OK» для создания этой функции, у Вас появится уже знакомое окно добавления существующих таблиц, представлений. Но я обычно закрываю это окно и пишу запрос вручную в специальное поле, для того чтобы это поле отобразилось, нажмите на панели следующее:
Затем если Вы хотите добавить входящие параметры можете просто в условие ставить знак @ и название переменной, например, так:
SELECT * FROM table WHERE kod = @par
После на панели в свойствах функции
на вкладке «параметры функции» появится те параметры, которые Вы указали, причем передавать их нужно в том порядке, в котором они здесь указанны.
Конструктор представления – это создание обычного представления, в просто народе «Вьюха».
Конструктор сохраненной процедуры – создание процедуры с помощью конструктора, принцип такой же, как и в вышеупомянутых функциях. Напомню процедура — это набор sql операторов, как на выборку, так и на изменение данных.
Ввод сохраненной процедуры – это создание процедуры с помощью текстового редактора, т.е. создание процедуры чисто вручную. В итоге то же самое, что и с помощью конструктора. При создании объектов в текстовом редакторе шаблон создания у Вас уже создается автоматически access-ом.
Ввод скалярной функции – это создание функции, которая возвращает значение. Создается с помощью текстового редактора.
Ввод табличной функции – это создание функции, которая вернет набор записей. Похожа на встроенную функцию.
Для того чтобы в клиенте access их можно было отличать, у них разные иконки, те самые которые Вы видите при создании того или иного объекта.
При создании всех этих объектов они сохраняются на сервере, и Вы их можете использовать не только из своего adp проекта, но и из других клиентов.
Конечно же, все эти объекты Вы можете создать и на сервере с помощью, например, Enterprise Manager (устарел, сейчас SQL Server Management Studio), но мы сегодня рассматриваем возможность создания этих объектов из access клиента.
Нравится1Не нравится
Запросы на изменение
Часто возникает необходимость внести изменения в уже существующие записи таблицы, для чего предназначены запросы на изменение данных. По аналогии с предыдущими операциями, эта может выполняться как над всеми строками, так и только над теми, что соответствуют критериям отбора.
Сейчас в таблице «Студенты» есть две записи с пустыми полями «Факультет» и «Курс» — недавно добавленные строки. Давайте сделаем в них изменения и внесем нужные данные в эти столбцы.
Студент Семенов поступил на первый курс юридического факультета. В Конструкторе запросов выбираем тип команд «Обновление» и добавляем нужные данные и условие изменения записей. Нам нужно изменить два поля, поэтому вносим данные для изменения в двух столбцах параметров запроса – поле «Факультет» таблицы «Студенты» должно принять значение «Юридический», поле «Курс» этой же таблицы – значение «1». В третьем столбце вносим условие, по которому отбирать данные для изменения. Фамилия студента таблицы «Студенты» должна быть «Семенов».
В режиме SQL видим:
UPDATE Студенты SET Студенты.Факультет = «Юридический», Студенты.Курс = 1
WHERE Студенты.=»Семенов»;
Выполняем операцию и получаем результат.
Типы данных в Access
Каждое поле имеет тип данных. Тип определяет данные, которые могут храниться в нём (допустим, вложенные файлы или большие объёмы текста):
Хоть тип данных и является свойством поля, он отличается от других свойств:
• задаётся не в области «Свойства поля», а на бланке таблицы;
• определяет, какие другие свойства существуют у этого поля;
• его нужно указывать при создании поля.
Если хотите создать новое поле в Access, нужно ввести данные в новый столбец, используя режим таблицы. В результате Access автоматически определит тип данных для вашего поля с учётом введённого вами значения. Если значение не будет относиться к определённому типу, Access выберет текстовый тип. В случае необходимости вы сможете его изменить через ленту.
Пример
Само по себе понимание написанного проблематично без предоставления подходящего примера. Но даже один пример не может объяснить все, и вам придется искать много информации, пока вы не поймете все возможности, предоставляемые разработчиками SQL:
ВЫБЕРИТЕ название, номер продукта, прейскурантную цену как цену
ОТ ПРОИЗВОДСТВА
ГДЕ Линия продуктов = ‘R’
Разберем предложенный мною выше код. Сначала идет подборка необходимых данных: название, номер товара и страница прайс-листа. Также прайс-лист отображается с немного другим названием, просто «цена». Данные взяты из базы данных «Товары» из таблицы «Товары». Обычно нет необходимости указывать базу данных, если вы работаете только с одной, в которую вы фактически отправляете запрос. Но если баз несколько, обязательно укажите, так как компьютер просто не поймет, к кому вы обращаетесь, или вообще проигнорирует ваш запрос и выдаст ошибку. Третья строка указывает на то, что отображается не вся информация, а только информация, которая входит в линейку продуктов «P». Итак, короткая статья закончилась, после прочтения которой вы понимаете, для чего нужны запросы.
Типы данных Access
Тип |
Описание |
Текстовый |
Текст |
Числовой |
Числовые |
Дата/время |
Для |
Денежный |
Для |
Поле |
Для |
Счетчик |
Специальное |
Логический |
Может |
Поле |
Объект |
Гиперссылка |
Для |
Мастер |
Создает |