MS Access, страница 5
Описание файла
Документ из архива "MS Access", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "MS Access"
Текст 5 страницы из документа "MS Access"
Макрокоманда представляет из себя последовательность операций, записанных в виде инструкций на специальном языке. При оработке данных часто приходится делать длинные последовательности действий. Но любые действия, операции могут быть записаны в виде макрокоманд. Вызов макрокоманд приводит к выполнению последовательности ранее описанных действий. Применение макрокоманд позволяет автоматизировать различные повторяющиеся процессы, такие как заполнение Базы, выполнение запросов, открывание различных объектов и т.д.
Последовательность операций вводится пользователем в окно проектирования макокоманд. Для создания макрокоманды в окне Базы данных нажмите кнопку Macro, а затем кнопку New. После этого откроется окно проектирования макрокоманд. Полный вид этого окна:
В окне проектирования макрокоманд каждая строка может содержать одну инструкцию в колонке Action и комментарий к ней в колонке Comment. Нужную инструкцию вы можете выбрать из предоставляемого списка.
Колонка Condition содержит условные выражения для управления процессом выполнения макрокоманды. Эта колонка не обязательна и при первоначальной загрузке окна проектирования макрокоманд она не высвечивается. Выбрать ее Вы можете в меню View выбрав опцию Conditions.
Вы так же можете создать макрогруппу содержащую несколько макрокоманд. Каждая из макрокоманд будет выполнятся независимо от других макрокоманд в группе. Макрокоманды в ходящие в макрогруппу представляют собой именованные последовательности инструкций. Создать макрогруппу Вы можете так: сначала создайте макрокоманду, а затем в колонке Macro Name в первой строке задайте ей имя. Эта колонка так же не обязательна и при первоначальной загрузке окна проектирования макрокоманд она не высвечивается. Выбрать ее Вы можете в меню View выбрав опцию Macro Names.
В одном окне проектирования макрокоманд может содержаться несколько макрогрупп.
Выполнить макрокоманду Вы можете нажав на кнопку
или выбрыв опцию Run Macro... в меню File.
Модули.
При решении достаточно сложных задач Вы скоро столкнетесь с ограниченностью макрокоманд. Для преодоления возникших проблем Вы можете попробовать написать свою программу на встроенном в Access языке программирования - Access Basic. Он представляет из себя средство визуального программирования и является диалектом языка Visual Basic. Такая процедура оформляется как Модуль.
Модуль представляет из себя совокупность объявлений (деклараций) и последовательностей исполняемых команд (процедур, функций) записанных на язаке Access Basic.
Для создания модуля нажмите на кнопку Modul в окне Базы данных, а затем на кнопке New. Вы увидете такое окно:
Это окно представляет из себя текстовый редактор, с автоматической проверкой синтаксиса при заканчивании строки, где вы можете набирать текст своей программы состояший из переменных, операторов, вызываемых функций.
Access Basic-код(последовательность Ваших операторов) выполняется при вызове и выполнии операции в которой используется Ваша функция, при нажатии кнопки:
3. ПОСТРОЕНИЕ НЕБОЛЬШОЙ БАЗЫ ДАННЫХ.
Для того чтобы лучше понять Access построим свою Базу данных. Сначала определимся какую информацию будет содержать наша База данных. База данных может содержать информацию о чем угодно: о зарплате, о торговых поставках, о больных в поликлинике, о студентах ВУЗа, о друзьях, о книгах в вашей библиотеке. Мы постоим самую простую - о студентах какого-нибудь ВУЗа. Эта База данных будет состоять из трех взаимосвязанных таблиц:
-
Список ВУЗов, который будут содержать такую информацию:
- Номер ВУЗа.
- Название ВУЗа.
-
Список факультетов, который будут содержать такую информацию:
- Номер факультета.
- Номер ВУЗа, где находится этот факультет.
- Название факультета.
-
Список студентов, который будут содержать такую информацию:
- Номер студента.
- Номер факультета.
- студента.
- На каком курсе студент.
И это далеко не полный список того что мы можем знать о студенте, но ведь мы делаем небольшую Базу и этого хватит что бы понять как строить Базу данных.
Графически это может быть представлено в виде трех таблиц:
1. Список ВУЗов:
Н омер ВУЗа | Название ВУЗа |
1 | ПВУ |
2 | ППИ СПбГТУ |
3 | ПГПИ |
2. Список факультетов:
Н омер факультета | Номер ВУЗа | Название факультета |
1 | 1 | Информационные системы |
2 | 3 | Ин. яз. |
3 | 2 | Мех. Маш. |
3. Список студентов:
Нмер студента | Номер факультета | Ф.И.О. | Курс |
1 | 3 | Иванов И.И. | 5 |
2 | 2 | Сидоров С.С. | 1 |
3 | 1 | Петров П.П. | 1 |
Где стрелочками показаны связи или отношения(реляции) между таблицами (т.к. Access реляционная СУБД).
Итак, начнем.
Запускаем Access и открываем Базу данных, назовем ее Students. Сначала нам надо построить три, выше описанных таблицы. Для этого нажимаем кнопку New и начнем конструировать первую таблицу. Вводим имена поле и их типы, первой записью вы можете ввести счетчик(тип counter) записей и установить первичный ключ, но это необязательно. Access при сохранении таблицы спросит: "Создать первичный ключ?" если Вы выберите Да, то он создаст новое поле с именем ID и типом counter. Дальше нам будут нужны только поля с типами Text и Number.
Эти таблицы будут выглядеть так:
1.
2.
3.
Дальше нам нужно установить связи между таблицами, для этого в меню Edit выберите опцию Relationships и установите связи между полями. Для установления связи выберите нужное вам поле, укажите на него мышкой и удерживая правую кнопку мыши покажите на поле с которым Вы хотите установить связь. Но здесь есть небольшое ограничение: поля между которыми Вы хотите установить связь должны быть одного типа. После установления связей наши таблицы будут выглядеть так (в данном случае мы установили связь один ко многим):
Эти связи нам нужны для облегчения поиска и выборки информации. Например при просмотре списка университетов Access автоматически устанавливает указатель(т.е. делает запись текущей) на первую запись в таблице Faculties содержащую в поле Namber_of_univer такое же число, что и в текущем поле ID таблицы Univer.
Теперь мы можем заполнить какой-либо информацией эти три таблицы. Для этого в окне Базы Данных нажмите кнопку Open или в меню View выберите опцию Datasheet. И начинайте заполнять, поля с типом Cоunter заполняются автоматически. После заполнения, содержимое этих таблиц может выглядеть, например, так:
1.
2.
3.
Как вы понимаете это минимальный набор информации по этой теме, но нам и его хватит.
И так на данном этапе мы имеем Базу данных состоящую из трех связанных таблиц и содержащую некоторую информацию. Дальше нам надо как-то работать с этой Базой и в первую очередь нам надо производить поиск и выборку информации. Для этого существуют запросы.
Построим несколько запросов.
1. Отсортируем таблицу student в алфавитном порядке по полю name. Для этого сделаем QBE-запрос такого вида:
И если мы просмотрим Dynaset то увидим следующую таблицу:
2. Дальше нам, например, может понадобиться выбрать из списка студентов всех обучающихся на первом курсе. Для этого существуют критерии выборки. Для того чтобы осуществить нужную нам выборку нам надо в QBE-запросе в поле Criteria столбца year поставить цифру ‘1’(это значит что из таблицы Student будут выбраны все записи у которых в поле столбца year стоит ‘1’). И если мы просмотрим Dynaset то увидим следующую таблицу:
3. Так как у нас есть несколько связанных таблиц, то мы можем сделать запрос основанный на нескольких таблицах. Например, из имеющихся у нас таблиц сделаем такую выборку: Название ВУЗа, название факультета где обучается студент, имя студента и курс, отсортированную по полям name_of_university и name. Для этого подготовим такой QBE-запрос:
И если мы просмотрим Dynaset то увидим следующую таблицу:
Таким образом вы видите что Access позволяет осуществлять различную обработку информации.
Но что Вы будете делать если в Вашу Базу данных ввод информации будет осуществляется неквалифицированным пользователем. Чтобы такие люди могли спокойно работать с вашей Базой и не видели того, что им ненужно видеть, Access предусматривает такую вещь как Формуляры. Построим один.
Из предусмотренных Access способов создания формуляров выберем самый простой - это использование Конструктора формуляров. Свой формуляр сделаем на основе запроса который мы, в свою очередь сделали на основе нескольких таблиц. Из предлагаемых формуляров выберем Single-column, дальше выберем все поля и сделаем его Shadowed. После всего этого у нас должно получиться что-то вроде этого:
В этом окне можно как редактировать так и вводить новую информацию. Помимо этого, формуляры можно распечатывать на принтере. Посмотреть как будет выглядеть данный формуляр на листе бумаге Вы можете в конце работы.
Кроме формуляров Access предоставляет специальное средство для распечатки выбранной информации - Отчеты. Отчеты отличаются от формуляров одним: в отчете нельзя редактировать данные. Давайте создадим один, но основанный только на одной таблице Univer. Для этого также воспользуемся Конструктором отчетов, т.к. это более легкий и понятный способ построения чего-либо. Для этого из предлагаемых запросов и таблиц выберем таблицу Univer, потом выберем опцию группировки Groups/Totals, порядок полей в отчете оставим такой же, сгруппируем по полю name_of_university в режиме Normal, очередность сортировки в группах сделаем по оставшемуся полу ID, выберем стиль формы отчета Presentation и расположение на листе бумаги Portrait, введем имя для отчета University и нажмем кнопку Finish. Access создаст отчет, его Вы сможете увидеть в конце работы.
Обрабатывая таким образом информацию мы часто повторяем определенные последовательности операций и для того чтобы избежать этого, а также повысить эффективность общения с Базой данных и сократить время обработки данных. Access предоставляет набор Макрокоманд. В нашей Базе есть одно такое повторяющееся действие: если при каждой загрузке Базы данных мы хотим открывать сразу все наши таблицы, запросы, отчеты или что-нибудь еще, то мы можем записать последовательность макрокоманд делающих это.
Для этого создадим окно проектирования макрокоманд, здесь каждая строка может содержать одну инструкцию в колонке Action и комментарий к ней в колонке Comment. В каждой строке колонки Action есть список макрокоманд из которого выберем нужные нам макрокоманды: Opentable(Открыть таблицу), OpenQuery(Открыть запрос), OpenReport(Открыть отчет), Minimize(Минимизировать), MsgBox(Окошко сообщения) и разобьем их на макрогруппы с именами 1, 2, 3. Первая макрогруппа будет выдавать сообщение, открывать три таблицы и минимизировать их. Вторая будет выдавать сообщение, открывать запрос и минимизировать его. Третья будет выдавать сообщение, открывать отчет и минимизировать его.