Как сделать поиск в access?

Поиск записей

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

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

В этой статье

Просмотр всех записей

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

1. Переход к первой записи

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

3. Текущая запись

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

5. Переход к последней записи

6. Открытие новой (пустой) записи

7. индикатор фильтра

При щелчке в поле Текущая запись можно ввести номер записи, а затем нажать КЛАВИШу ввод, чтобы перейти к этой записи. Номер записи помещается последовательно, начиная с начала формы или таблицы. Он не соответствует никакому значению поля.

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

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

Переход к определенной записи

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

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

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

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

Поиск конкретной записи

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

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

Откройте таблицу или форму, а затем выберите поле, в котором нужно выполнить поиск.

На вкладке Главная в группе Найти нажмите кнопку Найти. Также можно нажать клавиши CTRL+F.

Откроется диалоговое окно Поиск и замена с выбранной вкладкой найти .

В поле найти введите значение, которое нужно найти.

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

Совет: В списке Совпадение представлен оператор сравнения (например, «равно» или «Contains»). Чтобы расширить область поиска, в списке совпадение выберите любую часть поля.

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

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

Дополнительные сведения об использовании диалогового окна Поиск и замена см. в статье Использование диалогового окна Поиск и замена для изменения данных.

Фильтр для отображения ограниченного количества записей

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

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

Чтобы убедиться в том, что таблица или форма еще не отфильтрована, на вкладке Главная в группе Сортировка _амп_ фильтр нажмите кнопку Дополнительнои выберите команду Очистить все фильтры, если эта команда доступна.

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

На вкладке Главная в группе Сортировка и фильтр нажмите кнопку Выделение и щелкните нужный фильтр.

Чтобы отфильтровать другие поля в зависимости от выделенного фрагмента, повторите шаги 3 и 4.

Создание запроса для поиска определенной записи

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

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

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

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

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

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

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

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

В конструкторе запросов дважды щелкните элемент » состояние » в таблице » вопросы «.

Состояние отображается во втором столбце бланка запроса в строке поля .

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

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

Во втором столбце бланка в строке Условие отбора введите = «закрыто». Это критерий поиска. Так вы убедитесь, что запрос возвращает только те записи, для которых значение Status равно «закрыто».

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

Запрос готов к запуску и выглядит примерно так:

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

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

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

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

Теперь у вас есть запрос, в котором отображаются проблемы со статусом «закрыто».

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

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

Макросы Access 2007. Ускорение поиска

Создадим двумя способами кнопку «Поиск фамилии» для быстрого поиска покупателя по фамилии в форме “Покупатель”. Первый способ – использование стандартных возможностей Access 2007. Второй способ – использование макроса.

Читать еще:  Как сделать групповую операцию в access 2007?

Использование стандартных возможностей Access 2007

Откроем форму «Покупатель» в режиме конструктора. С панели элементов перенесем пиктограмму Кнопка в нижнюю часть формы. Будет вызван мастер Создание кнопки. Выберем режимы Категории: Переходы по записями, Действия: Найти запись. Затем на кнопке разместим текст «Поиск фамилии», введя соответствующий текст в поле Текст. Далее в качестве названия кнопки введем ФИО. При работе с формой “Покупатель” при нажатии кнопки будет вызываться окно стандартного поиска и замены Access.

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

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

Использование макроса

Для примера создадим подобную кнопку поиска для формы «Товар». Создадим поле для ввода начала названия товара. Откроем эту форму в режиме конструктора и перетащим туда пиктограмму Поле в нижнюю часть формы. Вызовем список свойств правой части поля (первоначально оно имеет обозначение Свободный) щелчком правой кнопки мыши и заменим Имя на Поиск данное имя в дальнейшем будет использоваться. В строке состояния (свойство Текст строки состояния) введем текст: «Введите название товара или его первые буквы». Вызовем список свойств для левой части Поля (Надписи) и заменим Подпись также на Поиск. Закроем форму.

Дальше создадим макрос «Поиск». Он будет состоять из трех макрокоманд. Откроем вкладку Создание, нажмем кнопку Макрос. С помощью команд панели инструментов Имена макросов включим дополнительный столбец Имя макроса. Введем туда в первой строке слово Поиск. В колонке Макрокоманда выберем макрокоманду КЭлементуУправления. В области Аргументы макрокоманды в нижней части окна в качестве Имени элемента введем текст [Наименование] (в этом поле таблицы ТОВАР будет искаться товар с указанным именем). Во второй строчке во втором столбце Макрокоманда выберем из списка макрокоманд команду НайтиЗапись. В аргументах макрокоманды введем с клавиатуры в поле Образец поиска текст =[Поиск] (т.е. будет разыскиваться в поле Наименование таблицы ТОВАР запись, начало названия товара в которой совпадает с введенным в поле Поиск значением). В поле Совпадение выберем из списка элемент «С начала поля». Остальные элементы оставим без изменения. В третьей строке во втором столбце выберем снова макрокоманду КэлементуУправления, в аргументах макрокоманды для Имени элемента введем [Поиск]. Квадратные скобки вводить обязательно!

Созданный нами макрос будет работать следующим образом. Вначале выбирается поле Наименование таблицы ТОВАР для организации поиска. Затем по образцу из поля Поиск формы осуществляется поиск первой по порядку нужной нам записи. Затем фокус опять передается в поле Поиск для возможного продолжения поиска.

Закроем макрос и сохраним его с именем «Поиск товара». Теперь опять откроем форму «Товар» и перетащим туда макрос «Поиск товара». Появится кнопка с соответствующей подписью. Для поиска товара нужно ввести первые буквы названия товара, нажать кнопку «Поиск», будет найдена нужная запись (если она существует). Обратите внимание, то если ничего не вводить в окне Поиск, то при нажатии кнопки будет выдано сообщение об ошибке! В СУБД Access 2007 существуют способы обработки подобных ситуаций – макросы с условиями, но мы их рассматривать не будем.

Но таким образом можно найти лишь первую запись на введенную букву. Нетрудно организовать еще одну кнопку «Поиск далее». Для этого сделаем копию макроса «Поиск товара» через буфер обмена и назовем его «Поиск далее». С помощью конструктора изменим в новом макросе в аргументе строки НайтиЗапись свойство Первое вхождение с Да на Нет, Область поиска – Вниз. Теперь перетащим новый макрос в режиме конструктора в форму «Товар». Теперь будет идти поиск и последующих записей с тем же началом в поле Наименование.

Задание

  1. Создать в форме «Покупатель» аналогичные кнопки для поиска покупателя по началу фамилии.
  2. Создать в форме «Заказ» кнопку поиска записей, имеющих совпадающую с вводимой в специальном поле дату.

Связанные статьи

Рекомендую прочесть статьи, связанные с данной:

Microsoft Access «Разработка формы общего просмотра для базы данных, состоящей из двух связных таблиц»

Развивающие: уметь создать базу данных из двух связных таблиц, создать форму общего просмотра этих таблиц.

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

Рабочие станции учащихся. ОС Windows XP, Microsoft Office.

Угринович Н.Д. Информатика и информационные технологии. Учебник для 10-11 классов / Н.Д. Угринович. — М.: БИНОМ. Лаборатория знаний, 2007.

Требуется разработать Информационно-Поисковую Систему (ИПС) «Изделия Столярной мастерской ПЛ12»

База данных должна содержать две таблицы «Изделия» и «Комплектующие»

Таблица «Изделия» содержит поля

  • Код изделия -числовое, ключевое
  • Наименование изделия — текстовое
  • Изображение изделия — OLE

Таблица «Комплектующие» содержит поля

  • Код изделия -числовое
  • Наименование материала — текстовое
  • Количество — числовое
  • Единица измерения — текстовое
  • Цена -денежное

Таблицы связаны по полю КОД связью один ко многим.

Занести данные — пять изделий и к каждому его комплектующие.

Создать форму общего просмотра, подчиненную. В ней создать кнопки:

  • Следующая запись
  • Предыдущая запись
  • Выход
  • Добавление
  • Удаление
  • Список всех изделий
  • Создать общее меню ИПС

1. Создадим Базу Данных «Мастерская»

Открыть программу ACCESS

2. Щёлкнуть по строке Создать файл (в правой части окна)

В открывшемся окне, в правой части

щелкнуть по строке Новая база данных

В открывшемся окне, в строке Имя файла, с клавиатуры ввести Мастерская

Откроется стандартное рабочее окно программы ACCESS

1. Для создания таблиц в окне Объекты щёлкнем по строке Таблицы, в окне справа по строке Создание таблицы в режиме конструктора

В строке имя поля набираем имя первого поля таблицы Изделия — это Код, нажимаем клавишу Ввода (Enter), курсор переместится во второй столбец Тип данных. Щёлкнуть по кнопке N , откроется список всех типов полей, выбрать числовое. В стандартной строке щёлкнуть по кнопке ключевое поле

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

Закрываем окно Таблица1, щёлкнув по кнопке На запрос о сохранении отвечаем ДА

В открывшемся окне Сохранение с клавиатуры вводим имя таблицы Изделия и щёлкаем ОК

Появится стандартное окно программы ACCESS

Аналогично создадим таблицу Комплектующие

На запрос о создании ключевых полей ответить НЕТ

Установим связь между таблицами по полю Код. Щёлкаем по значку Схема данных

Выделяем таблицу Изделия и щёлкаем по кнопке Добавить, выделяем таблицу Комплектующие и щёлкаем по кнопке Добавить, затем щёлкаем по кнопке Закрыть.

Откроется следующее окно

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

Проставить галочки (просто щёлкнуть мышью) во все маленькие окнам

И щёлкнуть по кнопке Создать. Откроется окно

Закрыть окно Схема данных (Щёлкнуть по кнопке в правом верхнем углу окна). На запрос о сохранении ответить ДА.

Заполнить таблицы Изделия и Комплектующие. В стандартном окне Access (Рисунок 10) быстро дважды щёлкнуть по таблице Изделия и ввести данные. В поле Изображение нажать правую кнопку мыши, в контекстном меню выбрать Вставить объект. В открывшемся окне выбрать Вставить из файла и в окне Обзор указать полный путь к файлу с рисунком изделия. Аналогично заполнить таблицу Комплектующие

Для создания подчиненной формы общего просмотра выбираем объект Форма и щёлкаем по строке создание формы с помощью мастера

В строке таблицы и запросы выбираем таблицу Изделия и стрелкой >> выбираем все поля этой таблицы. Затем выбираем таблицу Комплектующие и стрелкой > по одному выбираем все поля, кроме Кода и щёлкаем кнопку Далее.

Щёлкаем по строке Подчиненные формы и затем по кнопке Далее. Откроется окно

Выбираем вид Табличный и щёлкаем Далее Откроется окно

Выбираем любой стиль, например Официальный и щёлкаем Далее. Откроется окно

В строке Форма с клавиатуры вводим имя формы Общий просмотр и щёлкаем Готово

Откроется окно формы Общий просмотр

Создадим в ней кнопку Предыдущая запись, для чего откроем форму Общий просмотр в режиме Конструктор. Выбираем объект Формы, выделяем форму Общий просмотр, щёлкаем по кнопке Конструктор

В панели элементов выбираем значок Кнопка и рисуем кнопку в Форме, откроется окно

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

Выберем рисунок Указатель влево и щёлкнем Готово. Наша кнопка в Форме примет вид

Аналогично создадим Кнопку Следующая запись. Для создания кнопок Добавления и Удаления выбираем Категорию Обработка записей. Действие Добавить запись и Удалить запись. Для Кнопки выхода из Формы выбираем Категорию Работа с формой, Действие Закрыть форму. В результате Форма Общий просмотр примет вид

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

Щёлкаем в нём по строке Поиск записи в форме на основе значения, которое содержит список и затем Далее. Откроется следующее окно

Выделяем поле Наименование и стрелкой > выбираем его, щёлкаем Далее. Откроется окно

Щёлкаем Далее, в открывшемся окне в строке задайте подпись с клавиатуры вводим Выбор изделия и щёлкаем Готово

Форма примет вид

Для работы с Формой закрыть её в режиме Конструктор, щёлкнув в правом углу по кнопке и в стандартном окне ACCESS (рисунок 10) выбираем объект Формы и дважды щёлкаем по форме Общий просмотр.

Читать еще:  Как сделать прайс лист в access?

Создание базы данных в MS Access 2007: пошаговая инструкция

В современном мире нужны инструменты, которые бы позволяли хранить, систематизировать и обрабатывать большие объемы информации, с которыми сложно работать в Excel или Word.

Подобные хранилища используются для разработки информационных сайтов, интернет-магазинов и бухгалтерских дополнений. Основными средствами, реализующими данный подход, являются MS SQL и MySQL.

Продукт от Microsoft Office представляет собой упрощенную версию в функциональном плане и более понятную для неопытных пользователей. Давайте рассмотрим пошагово создание базы данных в Access 2007.

Описание MS Access

Microsoft Access 2007 – это система управления базами данных (СУБД), реализующая полноценный графический интерфейс пользователя, принцип создания сущностей и связей между ними, а также структурный язык запросов SQL. Единственный минус этой СУБД – невозможность работать в промышленных масштабах. Она не предназначена для хранения огромных объемов данных. Поэтому MS Access 2007 используется для небольших проектов и в личных некоммерческих целях.

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

Определения основных понятий

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

  1. Предметная область – множество созданных таблиц в базе данных, которые связаны между собой с помощью первичных и вторичных ключей.
  2. Сущность – отдельная таблица базы данных.
  3. Атрибут – заголовок отдельного столбца в таблице.
  4. Кортеж – это строка, принимающая значение всех атрибутов.
  5. Первичный ключ – это уникальное значение (id), которое присваивается каждому кортежу.
  6. Вторичный ключ таблицы «Б» – это уникальное значение таблицы «А», использующееся в таблице «Б».
  7. SQL запрос – это специальное выражение, выполняющее определенное действие с базой данных: добавление, редактирование, удаление полей, создание выборок.

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

Создание БД

Для наглядности всей теории создадим тренировочную базу данных «Студенты-Экзамены», которая будет содержать 2 таблицы: «Студенты» и «Экзамены». Главным ключом будет поле «Номер зачетки», т.к. данный параметр является уникальным для каждого студента. Остальные поля предназначены для более полной информации об учащихся.

Итак, выполните следующее:

  1. Запустите MS Access 2007.
  2. Нажмите на кнопку «Новая база данных».
  3. В появившемся окне введите название БД и выберите «Создать».

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

Создание и заполнение таблиц

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

Создание и редактирование схем данных

Перед тем, как приступить к связыванию двух сущностей, по аналогии с предыдущим пунктом нужно создать и заполнить таблицу «Экзамены». Она имеет следующие атрибуты: «Номер зачетки», «Экзамен1», «Экзамен2», «Экзамен3».

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

  1. Перейти во вкладку «Работа с базами данных».
  2. Нажать на кнопку «Схема данных».
  3. Если схема не была создана автоматически, нужно нажать ПКМ на пустой области и выбрать «Добавить таблицы».
  4. Выберите каждую из сущностей, поочередно нажимая кнопку «Добавить».
  5. Нажмите кнопку «ОК».

Конструктор должен автоматически создать связь, в зависимости от контекста. Если же этого не случилось, то:

  1. Перетащите общее поле из одной таблицы в другую.
  2. В появившемся окне выберите необходимы параметры и нажмите «ОК».
  3. Теперь в окне должны отобразиться миниатюры двух таблиц со связью (один к одному).

Выполнение запросов

Что же делать, если нам нужны студенты, которые учатся только в Москве? Да, в нашей БД только 6 человек, но что, если их будет 6000? Без дополнительных инструментов узнать это будет сложно.

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

Виды запросов

SQL синтаксис реализует принцип CRUD (сокр. от англ. create, read, update, delete — «создать, прочесть, обновить, удалить»). Т.е. с помощью запросов вы сможете реализовать все эти функции.

На выборку

В этом случае в ход вступает принцип «прочесть». Например, нам нужно найти всех студентов, которые учатся в Харькове. Для этого нужно:

А что делать, если нас интересуют студенты из Харькова, стипендии у которых больше 1000? Тогда наш запрос будет выглядеть следующим образом:

SELECT * FROM Студенты WHERE Адрес = «Харьков» AND Стипендия > 1000;

а результирующая таблица примет следующий вид:

На создание сущности

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

  1. Перейти во вкладку «Создание».
  2. Нажать кнопку «Конструктор запросов» в блоке «Другие».
  3. В новом окне нажмите на кнопку SQL, после чего в текстовое поле введите команду:

CREATE TABLE Преподаватели
(КодПреподавателя INT PRIMARY KEY,
Фамилия CHAR(20),
Имя CHAR (15),
Отчество CHAR (15),
Пол CHAR (1),
Дата_рождения DATE,
Основной_предмет CHAR (200));

где «CREATE TABLE» означает создание таблицы «Преподаватели», а «CHAR», «DATE» и «INT» — типы данных для соответствующих значений.

  1. Кликните по кнопке «Выполнить».
  2. Откройте созданную таблицу.

На добавление, удаление, редактирование

Здесь все гораздо проще. Снова перейдите в поле для создания запроса и введите следующие команды:

  • для заполнения кортежа:
    INSERT INTO Преподаватели
    VALUES (1, ‘Иванова’, ‘Иванна’, ‘Ивановна’, ‘Ж’, ’05-06-1981′, ‘География’);
  • для редактирования записи:
    UPDATE Преподаватели SET Имя = ‘Анна’;
  • для удаления:
    DELETE * FROM Преподаватели WHERE Имя=’Анна’;.

Создание формы

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

  1. Откройте интересующую таблицу.
  2. Перейдите во вкладку «Создание».
  3. Нажмите на необходимый формат формы из блока «Формы».

Все базовые функции MS Access 2007 мы уже рассмотрели. Остался последний важный компонент – формирование отчета.

Формирование отчета

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

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

Если отображение вас не устраивает, его можно немного подкорректировать. Для этого:

  1. Нажмите ПКМ на вкладке отчета и выберите «Конструктор».
  2. Вручную расширьте интересующие столбцы.
  3. Сохраните изменения.

Итак, с уверенностью можно заявить, что создание базы данных в MS Access 2007 мы разобрали полностью. Теперь вам известны все основные функции СУБД: от создания и заполнения таблиц до написания запросов на выборку и создания отчетов. Этих знаний хватит для выполнения несложных лабораторных работ в рамках университетской программы или использования в небольших личных проектах.

Для проектирования более сложных БД необходимо разбираться в объектно-ориентированном программировании и изучать такие СУБД, как MS SQL и MySQL. А для тех, кому нужна практика составления запросов, рекомендую посетить сайт SQL-EX, где вы найдете множество практических занимательных задачек.

Удачи в освоении нового материала и если есть какие-либо вопросы – милости прошу в комментарии!

Запросы в access

Запросы в access – объекты базы данных, извлекающие из таблиц или других запросов информацию согласно заданным условиям. Это виртуальные таблицы (существующие в оперативной памяти компьютера.

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

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

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

Основные отличия запросов от расширенного фильтра:

— используя реляционные связи, можно применять запрос к нескольким таблицам (запросам);

— на экран можно выводить только необходимые поля;

— в запросе можно переставлять поля в любом порядке;

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

— применение фильтра и сортировки возможно только в открытой таблице, запросе и форме, а запрос работает с таблицами и запросами, которые не надо открывать;

— в запросе можно выводить на экран только необходимые (по количеству или процентному соотношению) записи (например, для лучшей десятки продаж можно отсортировать сумму продаж по возрастанию, а в свойствах запроса «Набор значений» (в режиме конструктора) ввести число 10;

— фильтры не могут создавать вычисляемые поля.

Обилие всяких кнопочек и настроек может постоянно сбивать вас с толку. Также может появиться страх при первом открытии программы.

Самым распространённым является запрос на выборку.

В строке условия отбора значение даты вводится, окруженное знаками #. Например, Between #01.01.2010# And #31.12.2010# — будут отобраны записи в диапазоне с 1 января по 31 декабря 2010 года.

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

При сортировке нескольких полей порядок сортировки идёт слева направо.

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

При операциях с числами программа использует математические знаки, например «+». Но при соединении текстовых полей знак «+» заменяется знаком «&» (амперсанд). Этот знак выполняет операцию конкатенации, т. е. соединяет между собой строки и подстроки, например, ФИО: [Фамилия] & » » & [Имя] & » » & [Отчество] (в кавычках заключена константа «пробел»).

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

При создании вычисляемого поля надо ввести название столбца, после него знак двоеточия, а затем вычисляемое выражение (как в вышеупомянутом примере с ФИО).

Для очистки запроса есть команда меню Правка – Очистить бланк.

Нельзя добавлять и изменять записи в запросах, если:

— две таблицы запроса связаны отношением «один-ко-многим» и в таблице «один» не задан первичный ключ;

— в запросе используются рекурсивные соединения (связь установлена между полями одной таблицы (запроса));

— в запросе применяются статистические функции SQL.

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

— таблица является единственной в запросе;

— таблицы в запросе связаны отношением «один-к-одному»;

— если таблицы в запросе связаны отношением «один-ко-многим», можно изменять поля только в таблице «многие».

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

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

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

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

Групповые операции (перекрёстные запросы в access)

Аксесс довольно сложная программа. Это подтверждает тот факт, что в интернете можно найти массу информации по ней. Однако, вы знаете что на самом деле достаточно знать лишь 20% инструментов, чтобы создавать и настраивать 80% баз данных в программе? И научиться этому можно после изучения 40 специальных видеоуроков, в которых описана самая суть без воды.

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

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

По умолчанию строка «Групповая операция» в режиме конструктора скрыта.

Группировка

Инструкция «Группировка» разбивает результаты запроса по каждому уникальному значению поля (полей). Например, если в поле Страна встречается 20 раз Литва, 30 раз Польша, 50 раз Чехия, то при группировке по этому полю будет всего три записи – по одной на каждую страну. Если будем добавлять группировку в другие поля, то количество выбранных записей возрастёт, так как программа будет искать уникальное значение не одного, а нескольких полей (например, зададим группировку по странам и по поставщикам. В Литве пять поставщиков, а, следовательно, уникальных записей для Литвы уже будет пять, а не одна).

Инструкция Группировка автоматически задаёт сортировку в алфавитном порядке. Для изменения порядка сортировки надо явно указать программе параметры в строке «Сортировка».

Управляющие запросы

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

Создание таблицы

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

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

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

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

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

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

Обновление

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

Добавление

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

Удаляет указанные записи в таблицах (одной или нескольких).

Перед выполнением запроса на удаление надо создать такой же запрос на выборку. Лишь убедившись, что отобраны нужные записи, меняем тип запроса «Выборка» на «Удаление».

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

Запрос с параметром

Хотите узнать какие 35 инструментов нужно знать, чтобы научиться создавать базы данных в Аксесс?

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

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

Например, нам часто нужны сведения по сотрудникам, фамилия которых начинается с определённой буквы. Можно сделать около 30 запросов (для почти всех букв русского алфавита), чтобы получать требуемые данные, но это займёт много времени для создания запросов, загромоздит базу данных и вызовет путаницу. Вместо этого создадим один запрос для формирования списка сотрудников, который будет нас спрашивать, с какой буквы начинающиеся фамилии мы хотим видеть. В поле «Условие отбора» введём: Like [Введите первую букву фамилии]& «*». На самом деле, если введём букву «С», условие будет читаться Access как Like «С*». Знак амперсанда «&» указывает на необходимость сцепления введённой буквы с остальными символами искомой ячейки, так как «*» обозначает любое количество символов после «С».

Например, выражение Between [Начальная дата:] And [Конечная дата:] запросит ввести начальную и конечную даты и выдаст все записи, содержащиеся в этом диапазоне (программа распознает разные форматы, например: 01.01.2010 или 01,01,2010 или 01/01/2010). Но для этого в режиме конструктора через меню Запрос – Параметры (можно вызвать через контекстное меню) надо вызвать диалоговое окно «Параметры запроса». В столбце «Параметр» указать правильно название, например [Начальная дата:], а в столбце «Тип данных» указать требуемый тип, в нашем случае «Дата/время». Как правило, указываются параметры для числовых и полей дата/время.

Ещё пример: Like «. » & [Введите номер месяца, например, для марта — 03, для ноября — 11] & «. ». Программа попросит ввести номер месяца года и выдаст все записи, относящиеся к этому месяцу. Если в параметре ввести знак звёздочки «*», то будут выбраны дни рождений за все месяцы.

Запрос может не работать, если формат даты в условии задан 00.00.0000, а в настройках панели управления установлен 00/00/0000. Тогда надо вместо точек добавить ещё по одному вопросу.

Запрос на объединение таблиц

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

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

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

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

Собственный язык Access JetSQL имеет отличия от ANSI SQL.

Хотя большинство запросов создаются в режиме конструктора, Access хранит их в формате SQL (структурированном языке запросов). Чтобы увидеть режим SQL, надо выбрать Вид-Режим SQL.

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