Как создать запрос в Access для добавления n записей?
Мне нужно создать запрос, который будет добавлять 10 записей в ранее созданную таблицу. Но появляются исключения.
Если написать вот так, то пишет, что пропущена точка с запятой.
INSERT INTO [Изделие] ( [название], [вес], [количество], [цена], [дата_изготовления], [фирма_изготовитель] ) VALUES ('Название1', 1.1, 1, 1.1, #2001/01/01#, 'фирма1'), ('Название2', 2.2, 2, 2.2, #2002/02/02#, 'фирма2');
Если написать вот так, то пишет, что после sql инструкции есть символы.
INSERT INTO [Изделие] ( [название], [вес], [количество], [цена], [дата_изготовления], [фирма_изготовитель] ) VALUES ( 'Название1', 1.1, 1, 1.1, #2001/01/01#, 'фирма1' ); INSERT INTO [Изделие] ( [название], [вес], [количество], [цена], [дата_изготовления], [фирма_изготовитель] ) VALUES ( 'Название2', 2.2, 2, 2.2, #2002/02/02#, 'фирма2' );
Так же смотрел на многих сайтах похожие вопросы, но там предлагают делать ещё какую-то таблицу и брать данные из неё. Но это не то, что мне нужно.
Помогите, пожалуйста.
- Вопрос задан более двух лет назад
- 128 просмотров
5 комментариев
Средний 5 комментариев
Как разместить комментарий в SQL запросе в access е В mysql и в oracle используются — и
shockware mail.ru
В окне базы данных выберите Запросы в списка Объекты, выберите представление, определяемую пользователем функцию или сохраненную процедуру, содержащую одну инструкцию, которую нужно открыть, и нажмите кнопку Конструктор на панели инструментов окна базы данных.
Щелкните правой кнопкой пустое место в окне конструктора запросов и выберите команду Свойства в контекстном меню.
Введите текст комментария в поле Примечание SQL.
Примечания
Не следует вводить в комментариях строки из двух знаков «/*» и «*/».
В случает изменения типа запроса (например, при переходе от запроса SELECT к запросу UPDATE), комментарий запроса удаляется.
Mindfreak
SQL запрос в Access не предусматривает использование комментариев
- Может ли Oracle APEX действовать без Oracle Database (допустим с MySQL или что-то наподобие.)?
- Как в MySQL разместить таблицы путем SQL запроса из файла file.sql уже весь гугл перерыл?
- И снова SQL. Есть ли способ в одном запросе обратится к нескольким БД (конкретно MySQL и Access)?
- Перевод Базы Данных MS Access в MySQL или Oracle Database 12c
- Как привязать и задействовать бд Access в HTML? Есть бд MS Access из 5 полей, как её в HTML связать
Новые вопросы
- Как упорядочивать номера записей в базе данных mysql?
- Код на PHP + mySQL механизм взаимодействия
- MySQL Error Not connection задолбала
- КАК СОЗДАТЬ СТОЛБЕЦ В MYSQL SAMP
- PHP MySQL выдернуть записи и тут же их удалить вернув результат
Основы создания запросов в Access 2003
Сегодня мы начнем рассматривать такое приложение как — Microsoft Access 2003, которое умеет создавать собственные базы данных (формат mdb), а также создавать клиентские приложения к существующим базам на основе MS SQL Server. Темой сегодняшней статьи будет создание новых запросов из Access, имеется в виду, как простые запросы, так и различные функции, представления и процедуры. Под запросом здесь понимается объекты базы данных.
О Microsoft Access
Microsoft Access – программный продукт компании Microsoft, являющейся реляционной СУБД. Имеет огромные возможности при организации базы данных, создания отдельного приложения, которое может взаимодействовать с множеством других СУБД. Наиболее часто встречающееся решение клиент-сервер, где в качестве клиента выступает приложение, написанное в Access (язык VBA, формы и многое другое), а сервером является СУБД Microsoft SQL Server. Однако Access поддерживает и взаимодействие с другими СУБД, например, такими как: MySql или PostgreSQL. О Access можно разговаривать долго, но цель сегодняшней статьи именно создание запросов (объектов) из Access.
Переходим к практике и начнем с простой базы mdb, т.е. как там создать эти самые запросы.
Создание запросов в Microsoft Access 2003 — база MDB
Для начала открываем базу, затем нажимаем на объекты «Запросы» и жмем кнопку «Создать».
Примечание! Имеется в виду, что база у Вас уже есть.

И перед Вами откроется новое окно выбора типа запроса

Давайте рассмотрим каждый из этих типов запросов подробней.
Типы запросов в Access 2003 — база MDB
Конструктор – это создание запроса на основе конструктора, так сказать в графическом редакторе, но в нем можно перейти в режим sql и написать текст запроса как обычно. Сразу же после запуска у Вас откроется окно выбора нужных таблиц или уже существующих запросов, так как существующие запросы можно также использовать для выборки необходимых данных, это как будто «представление».

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

Если не нравится это делать в графическом редакторе, то можете переключиться в режим SQL, для этого нажмите пункт меню «Вид», затем «Режим SQL».
Простой запрос – это, можно сказать, такой же конструктор, только немного другого вида и поменьше возможностей.

Перекрестный запрос – это так называемое транспонирование таблицы, другими словами, вывод данных, которые располагаются в колонках по горизонтали, т.е. каждое значение из одного столбца будет выведено по горизонтали в отдельной колонке. Это все делается с помощью мастера, поэтому проблем возникнуть не должно.
Повторяющееся записи – это как видно из названия поиск повторяющихся записей.
Записи без подчиненных – это поиск тех записей, которые отсутствуют в той или иной таблице.
С базами mdb достаточно, так как их редко используют на предприятиях, обычно используют следующую схему – пишут отдельный клиент, а все данные хранят на сервере с помощью СУБД в нашем случае — это MS SQL Server, а клиент Access (.adp).
Создание запросов в 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 клиента.
Для основы я думаю этого достаточно, если говорить об этом подробней, то в рамках одной статьи не уместится, но мне кажется этого достаточно для создания тех или иных запросов. Но если у Вас возникают вопросы по созданию той или иной функции или процедуры, то задавайте их в комментариях, постараюсь помочь.
Заметка! Для профессионального изучения языка T-SQL рекомендую посмотреть мои видеокурсы по T-SQL.
Пособие для студентов Модуль 3
Если пользователю надо получить данные из БД, он должен использовать специальные объекты — запросы. Особенность запросов состоит в том, что они извлекают данные из базовых таблиц и создают на их основе временную результирующую таблицу. При сохранении запроса сохраняется не результирующая таблица, а только алгоритм ее получения. Поэтому при следующем выполнении запроса мы, скорее всего, получим другую результирующую таблицу, отражающую новое состояние базы данных.
Если запрос подготовлен и сохранен в базе данных, то для выполнения запроса следует открыть панель Запросы в окне База данных (рис. 30), выбрать запрос и открыть его двойным щелчком на значке запроса – откроется результирующая таблица, соответствующая данному запросу.

Рис. 30. Запросы в окне базы данных.
Запросы лучше создавать вручную в режиме Конструктор. Для этого используется специальный значок Создание запроса в режиме конструктора в окне База данных. Он открывает специальный бланк, называемый бланком запроса по образцу (рис. 31). Он состоит из двух областей. В верхней отображается структура таблиц, к которым адресован запрос, а нижняя область разбита на столбцы – по одному столбцу на каждое поле будущей результирующей таблицы.

Рис. 31. Запрос в режиме Конструктор.
Для включения полей базовых таблиц в результирующую таблицу запроса следует дважды щелкнуть соответствующее поле в верхней части бланка. При этом автоматически заполняются столбцы в нижней части бланка.
Упорядочение записей в результирующей таблице. Если необходимо, чтобы данные, отобранные в результате работы запроса, были упорядочены по какому-либо полю, применяют сортировку. В нижней части бланка имеется специальная строка Сортировка. При щелчке на этой строке появляется раскрывающийся список, в котором можно выбрать метод сортировки: по возрастанию или по убыванию. В результирующей таблице данные будут отсортированы по тому полю, для которого задан порядок сортировки. На рисунке 32 задана сортировка по полю Фамилия.
Управление отображением данных в результирующей таблице. В нижней части бланка запроса по образцу имеется строка Вывод на экран. По умолчанию предполагается, что все поля, включенные в запрос, должны выводиться на экран, но это не всегда целесообразно. Бывают случаи, когда некое поле необходимо включить в запрос, но нежелательно, чтобы пользователь базы видел его содержание. В таких случаях отображение содержимого на экране запрещают сбросом флажка Вывод на экран. На рисунке 32 поле Город в результирующей таблице не будет показываться, хотя оно содержится в таблице. Необходимость включения этого поля в запрос обусловлена тем, что по нему задано условие отбора данных.

Рис. 32. Задание условий сортировки записей и показа полей в результирующей таблице запроса.
Сформировав структуру запроса, его закрывают, дают ему имя и в дальнейшем запускают двойным щелчком на значке в окне База данных.
Простые запросы на выборку
Такие запросы используются для отбора записей из одной или нескольких взаимосвязанных таблиц в соответствии с заданными критериями отбора. Критерии отбора записей записываются в виде условий отбора в строке Условие отбора бланка запроса по образцу и расположенных под ней строках. Условия отбора записываются по определенным правилам записи. В следующей таблице приведены примеры записи условий отбора.
Критерий отбора записей
Запись условия отбора
Значение в поле начинается с символа «А», остальные символы могут быть любыми
Значение в числовом поле > = 60