Green-sell.info

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

Access добавить запись в таблицу

SQL-Урок 13. Добавление данных (INSERT INTO)

В предыдущих разделах мы рассматривали работу по получению данных с заранее созданных таблиц. Теперь пора разобрать, каким же образом мы можем создавать/удалять таблицы, добавлять новые записи и удалять старые. Для этих целей в SQL существуют такие операторы, как: CREATE — создает таблицу, ALTER — изменяет структуру таблицы, DROP — удаляет таблицу или поле, INSERT — добавляет данные в таблицу. Начнем знакомство с данной группой операторов из оператора INSERT.

1. Добавление целых строк

Как видно из названия, оператор INSERT используется для вставки (добавления) строк в таблицу базы данных. Добавление можно осуществить несколькими способами:

  • — добавить одну полную строку
  • — добавить часть строки
  • — добавить результаты запроса.

Итак, чтобы добавить новую строку в таблицу, нам необходимо указать название таблицы, перечислить названия колонок и указать значение для каждой колонки с помощью конструкции INSERT INTO название_таблицы (поле1, поле2 . ) VALUES (значение1, значение2 . ). Рассмотрим на примере.

INSERT INTO Sellers (ID, Address, City, Seller_name, Country) VALUES (‘6’, ‘1st Street’, ‘Los Angeles’, ‘Harry Monroe’, ‘USA’)

Также можно изменять порядок указания названий колонок, однако одновременно нужно менять и порядок значений в параметре VALUES.

2. Добавление части строк

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

INSERT INTO Sellers (ID, City, Seller_name) VALUES (‘6’, ‘Los Angeles’, ‘Harry Monroe’)

В данном примере мы не указали значение для двух столбцов Address и Country . Вы можете исключать некоторые столбцы из оператора INSERT INTO, если это позволяет производить определение таблицы. В этом случае должно соблюдаться одно из условий: этот столбец определен как допускающий значение NULL (отсутствие какого-либо значения) или в определение таблицы указанное значение по умолчанию. Это означает, что, если не указано никакое значение, будет использовано значение по умолчанию. Если вы пропускаете столбец таблицы, которая не допускает появления в своих строках значений NULL и не имеет значения, определенного для использования по умолчанию, СУБД выдаст сообщение об ошибке, и это строка не будет добавлена.

3. Добавление отобранных данных

В предыдущей примерах мы вставляли данные в таблицы, прописывая их вручную в запросе. Однако оператор INSERT INTO позволяет автоматизировать этот процесс, если мы хотим вставлять данные из другой таблицы. Для этого в SQL существует такая кострукция как INSERT INTO . SELECT . . Данная конструкция позволяет одновременно выбирать данные из одной таблицы, и вставить их в другую. Предположим мы имеем еще одну таблицу Sellers_EU с перечнем продавцов нашего товара в Европе и нам нужно их добавить в общую таблицу Sellers. Структура этих таблиц одинакова (то же количество колонок и те же их названия), однако другие данные. Для этого мы можем прописать следующий запрос:

INSERT INTO Sellers (ID, Address, City, Seller_name, Country) SELECT ID, Address, City, Seller_name, Country FROM Sellers_EU

Нужно обратить внимание, чтобы значение внутренних ключей не повторялись (поле ID), в противном случае произойдет ошибка. Оператор SELECT также может включать предложения WHERE для фильтрации данных. Также следует отметить, что СУБД не обращает внимания на названия колонок, которые содержатся в операторе SELECT, для нее важно только порядок их расположения. Поэтому данные в первом указанном столбце, что были выбраны из-за SELECT, будут в любом случае заполнены в первый столбец таблицы Sellers, указанной после оператора INSERT INTO, независимо от названия поля.

4. Копирование данных из одной таблицы в другую

Часто при работе с базами данных возникает необходимость в создании копий любых таблиц, с целью резервирования или модификации. Чтобы сделать полную копию таблицы в SQL предусмотрен отдельный оператор SELECT INTO. Например, нам нужно создать копию таблицы Sellers, нужно будет прописать запрос следующим образом:

SELECT * INTO Sellers_new FROM Sellers

В отличие от предыдущей конструкции INSERT INTO . SELECT . , когда данные добавляются в существующую таблицу, конструкция SELECT . INTO . FROM . копирует данные в новую таблицу. Также можно сказать, что первая конструкция импортирует данные, а вторая — экспортирует. При использовании конструкции SELECT . INTO . FROM . следует учитывать следующее:

  • — можно использовать любые предложения в операторе SELECT, такие как GROUP BY и HAVING
  • — для добавления данных из нескольких таблиц можно использовать объединение
  • — данные возможно добавить только одну таблицу, независимо от того, из скольких таблиц они были взяты.

Добавление записи

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

Читать еще:  Маска ввода номера телефона access

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

Чтобы можно было добавлять новые записи в таблицу в режиме Формы, свойство Разрешить добавление (Allow Additions) должно иметь значение Да (Yes). Значение этого свойства можно изменить, используя окно’свойств формы в режиме Конструктора.

Чтобы добавить новую запись в таблицу с помощью формы:

    Откройте форму. Перейдите в режим Формы, если форма была открыта в другом режиме. Для этого нажмите кнопку Вид (View) панели инструментов текущего режима и выберите из списка режимов элемент Режим формы (Form View). В текстовых полях формы появятся значения полей первой записи таблицы или запроса, являющегося источником данных формы. Access помещает точку вставки в первое поле формы.

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

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

Чтобы запретить добавление записей в таблицу с помощью формы:

  1. Откройте форму в режиме Конструктора.
  2. Выделите всю форму.
  3. На панели инструментов Конструктор форм (Form Design) нажмите кнопку Свойства (Properties).
  4. В появившемся окне свойств формы (рис. 5.31) раскройте вкладку Данные (Data).

Рис. 5.31. Вкладка Данные диалогового окна свойств формы

Теперь кнопка Новая запись (New Records), как на панели инструментов Режим формы (Form View), так и внизу окна формы, будет заблокирована, и добавление новых записей в таблицу с помощью формы будет невозможно.

Чтобы при добавлении новой записи какое-либо поле формы имело заранее заданное значение:

  1. Откройте форму в режиме Конструктора.
  2. Выделите нужное поле, щелкнув по нему левой кнопкой мыши.
  3. На панели инструментов Конструктор форм (Form Design) нажмите кнопку Свойства (Properties).
  4. В появившемся окне свойств поля (рис. 5.32) раскройте вкладку Данные (Data).

Рис. 5.32. Вкладка Данные диалогового окна свойств текстового поля

Теперь в каждой новой записи выделенное вами поле будет иметь по умчанию введенное значение. Это значение можно изменять в новой записи, если свойство Блокировка (Locked) данного поля имеет значение Нет (No). Подробнее об этом рассказано в следующем разделе.

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

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

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

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

В этой статье

Обзор

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

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

Преимущества использования запроса на добавление

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

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

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

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

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

Основные этапы создания запроса на добавление

Создание запроса на добавление включает следующие основные этапы.

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

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

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

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

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

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

В этой статье

Этап 1. Создание запроса на выборку записей для копирования

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

На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.

Откроется окно конструктора запроса и диалоговое окно Добавление таблицы.

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

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

1. Таблица «Основные средства» в окне конструктора запросов

2. Бланк запроса

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

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

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

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

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

Запрос на добавление записей

Дата добавления: 2015-07-04 ; просмотров: 5570 ; Нарушение авторских прав

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

Чтобы построить запрос на добавление записей, выполните следующее.

1. Создайте новый запрос. В нашем примере бланк запроса включает три поля таблицы ОжидаемыеТовары (рис. 16).

2. Чтобы преобразовать запрос на выборку в запрос на добавление, щелкните на кнопке Добавление груп­пы Тип запроса. На экране появится диалоговое окно Добавление.

3. Выберите из раскрывающегося списка поля имя таблицы название той табли­цы, в которую необходимо добавить записи новой таблицы (для нашего примера это таблица Товары, как показано на рис. 17), затем примите пред­ложенную по умолчанию опцию в текущей базе данных и щелкните на кнопке ОК.

В бланке запроса теперь появилась новая строка — Добавление (рис. 18).

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

4. Щелкните на кнопке Выполнить группы Результаты. Программа Access сообщит о том, какое число записей будет добавлено в таблицу. Щелкните на кнопке Да, чтобы завершить выполнение запроса.

5. Если необходимо, сохраните запрос.

6. Чтобы проверить полученные результаты, обратитесь к категории Таблицы облас­ти переходов и откройте целевую таблицу Товары.

Запросы на удаление

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

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

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

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

3. Вернитесь в режим конструктора запросов и воспользуйтесь для выбора типа за­проса (на удаление записей) кнопкой Удаление группы Тип запроса. Запрос на выборку будет преобразован в запрос на удаление, а в бланке запроса вместо стро­ки Сортировка появится новая строка — Удаление. Простой пример бланка за­проса на удаление приведен на рис. 18.

4. Щелкните на кнопке Выполнить группы Результаты. Программа Access сообщит о том, сколько записей будет удалено и запросит подтверждение операции. Щелк­ните на кнопке Да, если вы готовы расстаться с указанными записями.

Таков сценарий удаления записей из одной, не связанной с другими таблицы. Однако на практике таблицы базы данных, как правило, связаны между собой, и наличие этих связей в схеме базы данных обязательно учитывается программой Access при попытке удалить записи одной из связанных таблиц. Напомним, что если между таблицами определено от­ношение «один ко многим» и в диалоговом окне Изменение связей установлен флажок опции каскадное удаление связанных записей, при удалении записи в главной таблице автоматически будут удалены все связанные записи подчиненной таблицы, даже если ее поля не фигурировали в бланке запроса на удаление.

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

Работе в программе в Microsoft Access

Запрос на добавление

Запрос на добавление

Запрос на добавление добавляет группу записей из одной или нескольких таблиц в конец одной или нескольких таблиц.

Пример

Скопируйте таблицу «Koolitus», и вставляя её, выберите в диалоговом окне Paste Table As (Вставка таблицы) переключатель Только структура (Structure Only). Имя таблице дайте «Koolitus_Arhiiv2005».

В списке появляется новая таблица, пока пустая, т. к. мы скопировали только структуру таблицы «Koolitus» (Oбучение).

Теперь создадим запрос на добавление, который позволит перенести в новую таблицу данные из таблицы «Koolitus» за 2005 год.

  1. Сначала в режиме Конструктора создайте запрос на выборку нужных записей из таблицы «Koolitus».
  2. В строке Criteria (Условие отбора) в столбце «Koolituse_lopp» (Конец обучения) введите выражение
    Between 01.01.2005 And 31.12.2005
  3. Запустите запрос на выборку, чтобы проверить, правильно ли отобраны записи. Оказались отобранными 4 записи.
  4. Вернитесь в режим Конструктора и щелкните на кнопке Добавление. Появляется диалоговое окно Append(Добавление), аналогичное диалоговому окну Создание таблицы(Make Table).

5. В поле Table Name ( имя таблицы) необходимо выбрать из списка имя таблицы, в которую будут добавляться записи. В данном случае мы выбираем таблицу «Koolitus_Arhiiv2005», которую мы только что создали. Нажмите кнопку ОК. (Если бы таблица, в которую нужно добавить записи, находилась в другой базе данных, необходимо было бы выбрать переключатель в другой базе данных (Another Database) и затем в поле имя файла (File Name) указать имя файла, который содержит требуемую таблицу).

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

7. Сохраните запрос в базе данных, присвоив ему имя Arhiiv_2005. Нажмите кнопку Запуск (Run), чтобы выполнить запрос. Прежде чем новые записи будут добавлены в таблицу, Access выдает сообщение о числе записей, которые предполагается добавить.

8. Вы можете нажать кнопку Да (Yes), и только после этого записи будут добавлены. Если вы нажмете кнопку Нет (No), вставка записей будет отменена.

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

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