Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
PAGE 31
Компьютерные информационные технологии: лабораторные работы
Содержание
Для перехода к нужной работе щелкните ссылку на нее левой клавишей мыши с удерживанием клавиши CTRL
[1] Лабораторная работа №1 [2] Автоматизация заполнения базы данных в Microsoft Excel c помощью VBA. [2.1] Цель работы: освоить в Microsoft Excel следующие приемы: [2.2] Выполнение работы [3] Лабораторная работа № 2 [4] Преобразование списка Microsoft Excel в формат Microsoft Access [4.1] Цель работы: [5] Лабораторная работа №3 [6] Работа с имеющейся на диске базой данной в СУБД ACCESS. [6.1] Цель работы: в среде СУБД освоить следующие приемы: [6.2] Выполнение работы [7] Лабораторная работа №4 [8] Создание новых таблиц в СУБД ACCESS. [8.1] Цель работы: в среде СУБД ACCESS освоить следующие приемы: [8.1.1] Выполнение работы [8.1.1.1] Контрольные вопросы [9] Лабораторная работа №5 [10] Создание запросов в СУБД ACCESS. [10.1] Цель работы: в среде СУБД ACCESS освоить следующие приемы: [10.1.1] Теоретические положения [10.1.2] Выполнение работы [10.1.2.1] Контрольные вопросы [11] Лабораторная работа №6 [12] Создание запросов на изменение в СУБД ACCESS. [12.1] Цель работы: в среде СУБД ACCESS освоить следующие приемы: [12.1.1] Теоретические положения [12.1.2] Выполнение работы [13] Создание запроса на удаление записей. [14] Лабораторная работа №7 [15] Создание форм в СУБД ACCESS. [15.1] Цель работы: научиться в среде СУБД ACCESS разрабатывать формы, освоить следующие приемы: [15.1.1] Выполнение работы [15.1.1.1] Контрольные вопросы [15.1.1.2] 1. Что такое форма и каково ее назначение? [15.1.1.3] 2. Как быстро и удобно создавать простые формы? [16] Лабораторная работа №8 [17] Создание отчетов в СУБД ACCESS. [17.1] Цель работы: научиться в среде СУБД ACCESS быстро и профессионально готовить отчеты, освоить следующие приемы: [17.1.1] Теоретические положения [17.2] Разделы отчета [17.2.1] Выполнение работы [17.2.1.1] 2.Создание суммарного отчета по сгруппированным данным с помощью мастера отчетов. [17.2.1.2] Контрольные вопросы [18] Лабораторная работа №9 [19] Проектирование и создание базы данных в СУБД ACCESS из указанных атрибутов (полей). [19.0.1] Теоретические положения [19.0.2] Выполнение работы [20] Лабораторная работа №10 [21] Проектирование и создание базы данных в СУБД ACCESS по своей предметной области. [21.0.1] Выполнение работы [21.0.1.1] Контрольные вопросы [22] Лабораторная работа №11 [23] Разработка макросов в СУБД ACCESS. Создание стартовой кнопочной формы. [23.0.1] Теоретические положения [23.0.2] Выполнение работы [24] Лабораторная работа №12 [25] Защита базы данных [25.0.1] Теоретические положения [26] Защита на уровне пользователей [27] Лабораторная работа №13 [28] Изучение объектов DAO на примере разработки приложения. [28.0.1] Теоретические положения |
1) повторить (изучить) в VBA EXCEL разработку приложения с использованием стандартных объектов VBA;
2) последовательное заполнение плоской базы данных через пользовательскую форму.
1. Создание пользовательской формы для заполнения базы данных туристов.
Для заполнения базы данных на рабочем листе с помощью редактора VBA (вызывается командой Разработчик/ Visual Basic) создадим диалоговое окно регистрация туристов фирмы "Эх, прокачу'" (рис. 1).
Для этого:
в редакторе VBA вставить объект UserForm1 (вызывается из строки меню Insert команда UserForm).
на объекте UserForm1 из панели элементов ToolBox (строки меню View ToolBox) разместить следующие объекты так, как показано на рисунке 1: Label (надпись), TextBox (поле), SpinButton (Счетчик), ComboBox (поле со списком), CommandButton (кнопка) и Frame (фрейм или рамка). В одном из фреймов разместить объекты СheckBox (флажок), а во втором объекты OptionButton (переключатель).
для создания необходимых надписей на русском языке так, как показано на рисунке 1, можно воспользоваться свойством Caption, имеющемся у всех перечисленных выше объектов. Свойство Caption отображает текст, необходимый пользователю, в надписи объекта. Программа же обращается к объекту по его имени, отображаемом в свойстве Name.
Рис. 1. Диалоговое окно Регистрация туристов фирмы "Эх, прокачу!"
2. Разработаем программный код (приведен ниже). При этом необходимо разобраться с назначением каждой процедуры кода.
3. Сохраним программу и запустим ее на выполнение
4. Заполним в Excel созданную базу данных пятью записями через пользовательскую форму.
5. Создадим кнопку «Вызов формы» в Excel для активизации пользовательской формы без загрузки редактора VBA. Для этого в меню Элементы управления найдем объект Кнопка, поместим его на активный рабочий лист, изменим надпись на кнопке на «Вызов формы» с помощью команды правой кнопки мыши Свойства Сaption, дважды щелкнем левой клавишей мыши по Кнопке и перейдем в редактор VBA. В открывшемя листе кода запишем команду UserForm1.Show для отображения пользовательской формы, сохраним проект и запустим на выполнение.
При инициализации диалогового окна программа проверяет, есть ли заголовки у полей создаваемой базы данных о регистрации туристов. Если этих заголовков нет, то программа автоматически создает их. Обратите внимание, что у окна приложения появилось пользовательское имя Регистрация. База данных туристов.
Обсудим, как приведенная ниже программа решает перечисленные задачи и что происходит в программе.
Событие Initialize объекта UserForm1 |
1. Активизирует диалоговое окно. 2. Назначает клавише <Esc> функцию кнопки Отмена, а клавише <Enter> Вычислить. 3. Назначает кнопкам ОК, Отмена всплывающие подсказки. 4. Закрепляет первую строку так, чтобы она всегда отображалась на экране. 5. Создает заголовки полей базы данных, если они еще не были созданы. 6. Заполняет раскрывающийся список. 7. Устанавливает текст заголовка окна приложения. |
Нажатие кнопки ОК запускает на выполнение процедуру CommandButton1.Click |
1. Определяет номер первой пустой строки в базе данных о регистрации туристов, куда будет введена новая запись. 2. Считывает данные из диалогового окна. 3. Вводит их в первую пустую строку. |
Нажатие кнопки Отмена запускает на выполнение процедуру CommandButton2.Click |
Закрывает диалоговое окно. Устанавливает заголовок приложения, используемый по умолчанию, т. е. удаляет пользовательский заголовок приложения, созданный при активизации формы. |
SpinButton1.Change |
Вводит значение в поле Продолжительность тура. |
Заголовок Рабочего Листа |
Создает заголовки полей базы данных о регистрации туристов. Эти заголовки отображаются с примечаниями. |
ПРОГРАММНЫЙ КОД:
Private Sub CommandButton1_Click()
' Процедура считывания информации из диалогового окна
' и записи ее в базу данных на рабочем листе
' Смысл переменных однозначно определен их названиями
Dim Фамилия As String * 20
Dim Имя As String * 20
Dim Пол As String * 3
Dim ВыбранныйТур As String * 20
Dim Оплачено As String * 3
Dim Фото As String * 3
Dim Паспорт As String * 3
Dim Срок As String * 3
Dim НомерСтроки As Integer
' Номер Строки - номер первой пустой строки рабочего листа
НомерСтроки = Application.CountA(ActiveSheet.Columns(1)) + 1
' Считывание информации из диалогового окна в переменные
With UserForm1
Фамилия = .TextBox1.Text
Имя = .TextBox2.Text
Срок = .TextBox3.Text
If .OptionButton1.Value = True Then
Пол = "Муж"
Else
Пол = "Жен"
End If
If .CheckBox1.Value = True Then
Оплачено = "Да"
Else
Оплачено = "Нет"
End If
If .CheckBox2.Value = True Then
Фото = "Да"
Else
Фото = "Нет"
End If
If .CheckBox3.Value = True Then
Паспорт = "Да"
Else
Паспорт = "Нет"
End If
ВыбранныйТур = .ComboBox1.List(.ComboBox1.ListIndex, 0)
End With
' Ввод данных в строку с номером Номер Строки рабочего листа
With ActiveSheet
.Cells(НомерСтроки, 1).Value = Фамилия
.Cells(НомерСтроки, 2).Value = Имя
.Cells(НомерСтроки, 3).Value = Пол
.Cells(НомерСтроки, 4).Value = ВыбранныйТур
.Cells(НомерСтроки, 5).Value = Оплачено
.Cells(НомерСтроки, 6).Value = Фото
.Cells(НомерСтроки, 7).Value = Паспорт
.Cells(НомерСтроки, 8).Value = Срок
End With
End Sub
Private Sub CommandButton2_Click()
' Процедура закрытия диалогового окна
' Установка заголовка окна приложения по умолчанию
UserForm1.Hide
Application.Caption = Empty
End Sub
Private Sub SpinButton1_Change()
' Процедура ввода значения счетчика в поле ввода
With UserForm1
.TextBox3.Text = CStr(.SpinButton1.Value)
End With
End Sub
Private Sub TextBox3_Change()
' Процедура установки значения счетчика из поля ввода
With UserForm1
.SpinButton1.Value = CInt(.TextBox3.Text)
End With
End Sub
Private Sub UserForm_Initialize()
' Процедура вызова диалогового окна
' и задание элементов раскрывающегося списка
ЗаголовокРабочегоЛиста
' Задание пользовательского заголовка окна приложения
Application.Caption = "Регистрация. База данных туристов"
' Закрытие строки формул окна Excel
Application.DisplayFormulaBar = False
' Задание элементов раскрывающегося списка
With CommandButton1
.Default = True
.ControlTipText = "Ввод данных в базу данных"
End With
With CommandButton2
.Cancel = True
.ControlTipText = "Кнопка отмены"
End With
OptionButton1.Value = True
With ComboBox1
.List = Array("Лондон", "Париж", "Берлин")
.ListIndex = 0
End With
' Активизация диалогового окна
UserForm1.Show
End Sub
Sub ЗаголовокРабочегоЛиста()
' Процедура создания заголовков полей базы данных
' Если заголовки существуют, то досрочный выход из процедуры
If Range("A1").Value = "Фамилия" Then
Range("A2").Select
Exit Sub
End If
' Если заголовки не существуют, то создаются заголовки полей
ActiveSheet.Cells.Clear
Range("A1:H1").Value = Array("Фамилия", "Имя", "Пол", _
"Выбранный Тур", "Оплачено", "Фото", "Паспорт", "Срок")
Range("А:А").ColumnWidth = 12
Range("D:D").ColumnWidth = 14
' Закрепляется первая строка с тем, чтобы она всегда
' отображалась на экране
Range("2:2").Select
ActiveWindow.FreezePanes = True
Range("A2").Select
End Sub
Контрольные вопросы
1) научиться преобразовывать список EXCEL в файл базы данных ACCESS
2) ознакомиться с базовыми понятиями среды MS ACCESS
Чтобы преобразовать список Microsoft Excel в ACCESS, необходимо иметь установленную на компьютере СУБД Microsoft Access.
Список Excel это набор строк, содержащий взаимосвязанные данные.
Таблица Access это объект, который определяется и используется для хранения данных. Каждая таблица включает информацию об объекте определенного типа. Она состоит из полей (столбцов) и записей (строк).
Выполнение работы
Задача: преобразование списка MS Excel (базы данных Книги) в формат MS Access.
Заполните базу данных в EXCEL записями (записи соответствуют строкам таблицы), используя команду Форма из меню Данные, и сохраните файл под именем Книги в вашей сетевой папке.
Код книги |
Название |
Автор |
Объем |
Год издания |
Код издательства |
Стоимость |
1 |
Педагогика |
Беспалько |
340 |
1994 |
1 |
24 000р. |
2 |
Сборник задач |
Сканави |
634 |
1992 |
2 |
60 000р. |
3 |
Программирование |
Арсак |
273 |
1989 |
3 |
18 000р. |
4 |
Язык АДА |
Перминов |
278 |
1987 |
1 |
16 000р. |
5 |
Операционные системы |
Грибанов |
446 |
1991 |
4 |
23 000р. |
6 |
БД на Паскале |
Ульман |
563 |
1992 |
2 |
32 000р. |
- Выберите пункт Новая база данных. В поле имя файла укажите Библиотека, укажите место хранения новой базы данных ваша сетевая папка и нажмите кнопку Создать. Появится окно базы данных MS Access.
- Выберите вкладку Внешние данные.
- В группе Импорт выберите
- В появившемся окне Внешние данные:
укажите имя импортируемого файла Книги, тип файлов файлы Microsoft Excel, путь доступа к файлу ваша сетевая папка с лабораторными работами
установите переключатель «Импортировать данные источника в новую таблицу в текущей базе данных».
нажмите ОК.
первая строка содержит заголовки столбцов,
данные необходимо сохранить в новой таблице,
определите ключ Код книги,
сохраните полученную таблицу базы данных Библиотека, например, под именем Книги.
.
Обратите внимание, что файлы баз данных Access-2007 имеют расширения accdb. Файлы баз данных Access более ранних версий имеют формат mdb.
База данных это реализованная с помощью компьютера модель данных, отражающая состояние объектов и их отношения. База данных (БД) предполагает наличие комплекса программных средств, обслуживающих ее и позволяющих использовать содержащуюся в ней информацию. Такие комплексы программ называют СУБД (системами управления базами данных).
В Access база данных это файл, в котором хранятся все объекты, необходимые для обеспечения работы пользователя: таблицы, запросы, формы, отчеты, страницы доступа к данным, макросы и модули.
СУБД это программа, предназначенная для создания БД и обработки информации в этих БД. СУБД Access система управления реляционной базой данных (т. е. xpaнят информацию в нескольких связанных (related) между собой таблицах).
Все управление базой данных осуществляется в Окне базы данных, появляющемся при открытии БД. Это окно содержит основные объекты Access: таблицы, запросы, формы, отчеты, макросы и модули. В строке заголовка окна всегда отображается имя открытой или создаваемой БД.
Работать с таблицей MS ACCESS можно в двух основных режимах: в режиме конструктора и в режиме таблицы (можно выбрать из контекстного меню).
Режим таблицы используется для просмотра, добавления, изменения, сортировки и удаления данных.
В режиме конструктора задается структура таблицы, т.е. определяются типы, свойства полей, их число и названия (заголовки столбцов). Он используется для изменения только структуры таблицы. Ниже показан вид таблицы Группы по маске1 базы данных Библиотека в режиме конструктора.
В режиме конструктора верхняя часть окна содержит список полей таблицы.
В столбце Имя поля указаны имена полей, выбранных при создании таблицы. Обратите внимание, что они не содержат пробелов. По имени будет осуществляться доступ к данным. Имя можно набирать русскими буквами.
В столбце Тип данных указан тип данных, содержащихся в поле.
В столбце Описание может быть представлено краткое описание каждого поля.
Обратите внимание на значок ключевого поля слева от поля Группа. Ключевое поле используется для однозначной идентификации каждой записи таблицы (в таблице не должно быть двух или более записей, имеющих одинаковое значение в ключевом поле). По ключевым полям таблицы можно связывать друг с другом.
В нижней части окна представлена таблица, содержащая свойства активного поля, в данном случае поля Код книги. Рассмотрим основные из этих свойств.
1. Размер поля. Свойство Размер поля определяет размер или величину значений, которые могут быть введены в это поле.
Для числового типа данных свойство Размер поля может принимать значения из следующего списка:
Для текстового типа данных длина поля 255 символов.
Для типа данных Мемо длина поля 65535 символов.
2. Формат поля (формат отображения) используется для вывода данных в формах и запросах. Существует набор специальных символов формата, которые задают вид и размер выводимых строк.
3. Маска ввода позволяет задать вид строки при наборе данных.
4. Подпись поля (Caption) это второе имя поля, которое можно использовать в таблицах и формах. Подпись может состоять из нескольких слов и быть более понятной, нежели обычное имя поля.
5. Значение по умолчанию. Чаше всего такой параметр необходим для числовых или логических полей, когда изначально необходимо наличие данных.
6. Условие на значение и Сообщение об ошибке. С помощью инструмента Построителя выражений можно сформировать ограничения на значения поля. Это должно быть выражение логического типа. Условие должно иметь смысл применительно к поставленной перед разработчиком задаче. Формирование этого параметра - часть алгоритма функционирования базы данных. Таким образом. можно решить некоторые проблемы, не прибегая к программированию.
Например, для ввода числа градусов (величины угла) можно предусмотреть такое ограничение:
>1 And <360
Если пользователь введет число, не удовлетворяющее этим условиям, программа выведет на экран сообщение об ошибке. Для этого сообщения надо задать строку в параметре Сообщение об ошибке. В нашем примере это может быть такая фраза: «Введите число от 1 до 360».
7. Обязательное поле. Если эта опция выбрана, при заполнении новой записи пользователь обязательно должен ввести какие-нибудь данные. В противном случае программа будет выводить «ругательные» сообщения, пока пользователь не введет данные.
8. Индексированное поле. Этот параметр может иметь одно из трех значений.
1. Поле не индексировано.
2. Поле индексировано, допускаются повторяющиеся значения.
3. Поле индексировано, не допускаются повторения значений поля.
Чаше всего это свойство используют для запрета повторяющихся значений. Например, если создается база данных для почтовой рассылки, то необходимо запретить повтор значений в поле «Электронный адрес», иначе один адресат может получить несколько одинаковых писем.
Контрольные вопросы
Вы обнаружили на столе заявление об отпуске, но подпись сотрудника неразборчива, так что Вы четко различаете лишь “Кр” в начале фамилии. Выполните поиск и просмотр тех записей, которые отвечают данным признакам:
Укажите всех сотрудников фирмы, которые пришли на работу в фирму до сентября 1996 года. Используйте фильтр с указанием даты для поиска ответа.
Сортировка позволяет упорядочить записи таблицы (формы) определенным образом. В отсортированных записях легче отыскать то, что нужно.
В ходе проверки возникла необходимость необходимость выяснить, кто из сотрудников фирмы имеет домашний телефон с первыми цифрами 234. Для этого можно произвести сортировку записей.
Контрольные вопросы
-создание новых таблиц;
-создание связей между таблицами;
-установка ключевых полей для таблицы;
-удаление таблиц из базы данных;
-использование полей подстановки при создании таблицы;
-заполнение таблицы записями в режиме таблицы;
Теоретические положения
Существуют следующие способы создания пустой таблицы для последующего ее заполнения собственными данными.
Существуют следующие способы создания таблиц на основе существующих данных.
Между таблицами могут быть установлены связи один-к-одному, один-ко-многим и многие-ко-многим. Информация о каждом типе связи имеется в справочной системе ACCESS. Поля таблиц, используемые для установления связей должны иметь одинаковый тип данных (допускается связь данных типа счетчик с числовым типом), их значения должны отвечать требованию целостности данных в базе данных.
В фирме Борей проводится рекламная компания. Персональная ответственность за рекламу определенных товаров возложена на конкретных сотрудников фирмы.
1.Создание новой таблицы
Создайте новую таблицу в режиме конструктора, включающую следующие поля:
Код товара, Рекламируемый товар, Сотрудник, Дата начала компании. Для этого:
2. Установление связи между таблицами.
Один и тот же сотрудник может отвечать за рекламу нескольких товаров. Необходимо создать связь между таблицами Реклама и Сотрудники, а в качестве связующих, использовать поля Сотрудник из таблицы Реклама и Код сотрудника из таблицы Сотрудники. Определите, какую из таблиц сделать первичной.
3. Удаление таблицы из базы данных.
4. Повторите создание таблицы Реклама в режиме конструктора, изменив тип поля Сотрудник. Вместо Числового типа создайте столбец подстановки фамилий сотрудников из таблицы Сотрудники, выбрав мастер подстановок в столбце Тип данных. Заполните таблицу 5 записями.
Контрольные вопросы
-создание запросов и установка условий отбора;
-сортировка информации и установка в запросе диапазона данных;
-создание запроса на основе связаннных таблиц;
-суммирование данных в запросе;
-установка параметров запроса;
Запросы используются для просмотра, изменения и анализа данных различными способами. Запросы также можно использовать в качестве источников записей для форм, отчетов. В Microsoft Access есть несколько типов запросов.
Запросы на выборку
Запрос на выборку является наиболее часто используемым типом запроса. Запросы этого типа возвращают данные из одной или нескольких таблиц и отображают их в виде таблицы, записи в которой можно обновлять (с некоторыми ограничениями). Запросы на выборку можно также использовать для группировки записей и вычисления сумм, средних значений, подсчета записей и нахождения других типов итоговых значений.
Запросы с параметрами
Запрос с параметрами это запрос, при выполнении отображающий в собственном диалоговом окне приглашение ввести данные, например условие для возвращения записей или значение, которое требуется вставить в поле. Можно разработать запрос, выводящий приглашение на ввод нескольких единиц данных, например двух дат. Затем Microsoft Access может вернуть все записи, приходящиеся на интервал времени между этими датами.
Запросы с параметрами также удобно использовать в качестве основы для форм, отчетов и страниц доступа к данным. Например, на основе запроса с параметрами можно создать месячный отчет о доходах. При печати данного отчета Microsoft Access выводит на экран приглашение ввести месяц, доходы за который должны быть приведены в отчете. После ввода месяца Microsoft Access выполняет печать соответствующего отчета.
Перекрестные запросы
Перекрестные запросы используют для расчетов и представления данных в структуре, облегчающей их анализ. Перекрестный запрос подсчитывает сумму, среднее, число значений или выполняет другие статистические расчеты, после чего результаты группируются в виде таблицы по двум наборам данных, один из которых определяет заголовки столбцов, а другой заголовки строк. Перекрестный запрос создается с помощью мастера или самостоятельно в режиме конструктора запроса. В бланке запроса нужно указать поля, значения которых будут заголовками столбцов и строк, а также поле, значения которого следует использовать в вычислениях. Существует возможность представления рассчитанных данных в денежном и других форматах.
Запросы на изменение
Запросом на изменение называют запрос, который за одну операцию изменяет или перемещает несколько записей.
Запросы SQL
Запрос SQL это запрос, создаваемый при помощи инструкций SQL. Язык SQL (Structured Query Language) используется при создании запросов, а также для обновления и управления реляционными базами данных, такими как базы данных Microsoft Access.
Когда пользователь создает запрос в режиме конструктора запроса, Microsoft Access автоматически создает эквивалентную инструкцию SQL. Фактически, для большинства свойств запроса, доступных в окне свойств в режиме конструктора, имеются эквивалентные предложения или параметры языка SQL, доступные в режиме SQL. При необходимости пользователь имеет возможность просматривать и редактировать инструкции SQL в режиме SQL. После внесения изменений в запрос в режиме SQL его вид в режиме конструктора может измениться.
Используется база данных Борей.
Создайте запрос “Просмотр заказов” на базе таблицы «Заказы» в режиме Простой запрос.
2. Создание запроса на выборку в режиме конструктора.
Отдел маркетинга интересуют кондитерские изделия, цена которых не превышает 1500 руб. За единицу. Создайте новый запрос на базе таблицы Товары в режиме конструктора.
3. Сортировка данных в запросе и поиск в заданном диапазоне.
Вас интересуют только изделия, имеющиеся на складе в количестве не менее 20 единиц с ценами в интервале от 1000 руб. до 2000 руб. Разместить эти товары в алфавитном порядке.
4. Создание запроса на основе связанных таблиц.
Получите сведения о заказах из США и видах доставки.
5. Суммирование данных в запросе.
Получить сведения о суммах, выплаченных за доставку заказов в США и Францию.
Создайте запрос в режиме конструктора на базе таблицы Заказы, который содержит поля : код заказа, код клиента, дата размещения, дата исполнения, название получателя.(Этот запрос уже был создан в п.1 под именем “Просмотр заказов” и можно просто открыть его в конструкторе).
BETWEEN [ Начало периода ] AND [Конец периода]
Нужно рассчитать сумму товаров, хранящихся на складе.
Контрольные вопросы
Существует четыре типа запросов на изменение.
Требуется создать новую таблицу Неперспективные товары на базе таблицы Товары и включить в нее те товары, поставки которых прекращены.
Фирма Борей решила поднять цены на молочные продукты на 10% по отношению к установленным ранее. Необходимо внести изменения в таблицу Товары.
Требуется удалить из таблицы Товары те товары, поставки которых прекращены. Это удобно сделать с помощью запроса на удаление записей.
Добавим товары из таблицы Неперспективные товары, имеющиеся на складе, в таблицу Товары.
Если таблица находится в открытой в настоящий момент базе данных(это наш случай), выберите параметр в текущей базе данных.
Если таблица не находится в открытой в настоящий момент базе данных(это к общему сведению), выберите параметр в другой базе данных и введите имя базы данных, в которой находится таблица, или нажмите кнопку Обзор, чтобы указать путь к базе данных. Можно ввести путь к базе данных Microsoft FoxPro, Paradox или dBASE, а также строку подключения к базе данных SQL.
Если в обеих таблицах выделенные поля имеют одинаковые имена, то соответствующие имена автоматически вводятся в строку Добавление. Если имена полей двух таблиц отличны друг от друга, нужно будет указать в строке Добавление имена полей таблицы-получателя.
Контрольные вопросы
-добавление в форму подписи;
-добавление в форму связанного элемента управления;
-добавление в форму рисунка;
-создание формы, включающей подчиненную;
-создание командной кнопки;
-создание в форме поля со списком;
-установка свойств, обеспечивающих защиту данных.
Самыми простыми вариантами являются автоформа и создание простой формы по таблице с помощью мастера форм.
Создайте автоформу по таблице «Заказы» базы данных «Борей» с названием “Информация о заказах”
Удобные формы облегчают ввод и получение информации. Следует улучшить некоторые из форм базы данных Борей.
Усовершенствуем форму Продажи по годам. Включим в форму дополнительную надпись, которая сделает необходимые дополнительные пояснения по использованию этой формы.
Для того, чтобы иметь сведения обо всех заказах, выполненных с помощью определенного канала доставки, необходимо создать форму с подчиненной формой. Создайте новую форму на основе таблицы Доставка.
В форме Доставка целесообразно добавить список с названиями типов доставки заказов, в котором можно будет выбрать интересующий тип доставки. Для создания такого списка:
Дополним форму Товары фирменным знаком компании. Нарисуйте заранее этот знак в графическом редакторе и сохраните в виде файла “ФирмЗнак.bmp”
6. Создание командной кнопки.
Форма Сотрудники рассматривается отделом кадров как краткая информация о конкретном сотруднике фирмы. Если необходимо просматривать информацию обо всех заказах, которые курировал данный сотрудник, удобно создать командную кнопку в форме Сотрудники для того, чтобы иметь возможность открыть ранее созданную нами форму “Информация о заказах”.
Многие формы базы данных Борей основаны на таблице Заказы. Текущая дата размещения заказа должна появляться в таких формах в качестве значения по умолчанию. На дату выполнения заказа должно быть наложено условие.
Контрольные вопросы
1. Что такое форма и каково ее назначение?
2. Как быстро и удобно создавать простые формы?
3. Как добавить в форму подпись?
4. Как добавить в форму рисунок?
5. Как создаются и используются на форме список полей и комбинированный список?
6. Как создать командную кнопку?
7.Как создать форму с подчиненной формой?
8.Где и как можно установить дополнительные свойства полей с данными?
-создание детального отчета без повторов;
-создание отчета по сгруппированным данным;
-использование выражения для описания сумм по группам;
-изменение порядка сортировки;
-распечатка групп данных без разрывов;
-введение иной формы нумерации страниц.
Отчет это гибкое и эффективное средство для организации данных при выводе на печать. С помощью отчета имеется возможность вывести необходимые сведения в том виде, в котором требуется. Больше всего сведений в отчете берется из базовой таблицы, запроса или инструкции SQL, являющихся источниками данных для отчета. Другие сведения вводятся при разработке отчета.
Вся информация в отчете разбивается на разделы, каждый из которых имеет специальное назначение. При печати разделы располагаются на страницах в определенном порядке:
В режиме конструктора на экране отображается макет каждого раздела отчета в одном экземпляре. При печати некоторые разделы могут неоднократно повторяться. Элементы управления, такие как надпись или поле, находящиеся в разделе, определяют местоположение информации в отчете.
Отчет с группировкой данных позволяет вычислить итоговые значения для групп, а также представить информацию в удобном для использования виде. В этом отчете заказы сгруппированы по дате отгрузки.
1.Создание детального отчета с помощью мастера отчетов.
Создайте отчет с указанием поставщиков определенных товаров. Необходимая информация берется из запроса Товары по поставщикам.
2.Создание суммарного отчета по сгруппированным данным с помощью мастера отчетов.
Выведите суммарные данные продаж по каждому виду товара.
Необходимо ввести в созданный только что отчет новое текстовое поле и изменить порядок сортировки данных в группе.
=”сумма продаж”&[Категория]
Распечатайте группы без разрывов и введите новый вид нумерации страниц.
5. Создание отчета в режиме конструктора
Повторите создание отчета “Товары по поставщикам” (см.п.1) в режиме конструктора.
Контрольные вопросы
1.Как используется Мастер по созданию отчетов?
2. Как выполнить просмотр перед печатью?
3. Как создать суммарный отчет по сгруппированным данным?
4.Как использовать в отчете выражения?
5.Как изменить в отчете порядок сортировки?
6.Как проставить нумерацию страниц отчета?
7.Назовите области отчета.
8.Как создается отчет в режиме конструктора?
Цель работы: приобретение навыков проектирования БД, закрепление навыков разработки БД в ACCESS
Прежде чем приступить в Microsoft Access к фактической разработке таблиц, запросов, форм и других объектов, рекомендуется предварительно спланировать структуру на бумагу. Полезно также ознакомиться с уже разработанными базами данных, аналогичными требуемой, или открыть учебную базу данных «Борей» и изучить ее макет в окне «Схема данных».
Разработка базы данных разбивается на следующие основные этапы.
Определение цели создания базы данных
На первом этапе разработки базы данных необходимо определить ее назначение и как она будет использоваться.
По мере определения предназначения базы данных начнет формироваться перечень необходимых данных. Зная это, можно определить, какие фактические данные следует сохранять в базе данных и по каким темам распределяются эти данные. Темам должны соответствовать таблицы, а данным поля (столбцы) в этих таблицах.
Определение нужных полей в базе данных
Каждое поле содержит определенные фактические данные. Например, может потребоваться следующая информация о заказчиках: название компании, адрес, город, страна и номер телефона. Для каждого типа сведений следует создать отдельное поле. При составлении схемы полей, учитывайте следующее.
Определение таблиц, которые должна содержать база данных
Каждая таблица должна содержать информацию только на одну тему. Список нужных полей подскажет, какие требуются таблицы. Например, если будет использоваться поле «ДатаНайма», оно принадлежит теме сведений о сотрудниках, т.е. должно содержаться в таблице «Сотрудники». Потребуются также таблицы «Клиенты», «Товары» и «Заказы».
Определение таблиц, к которым относятся поля
При решении вопроса, к какой таблице должно относиться каждое поле, необходимо учитывать следующие принципы разработки.
Например, при включении поля, содержащего адрес заказчика в таблицу «Заказы» эта информация будет повторяться во многих записях, если заказчик будет делать разные заказы. Если же поместить адрес в таблицу «Клиенты», он появится только один раз. В этом отношении таблицы в реляционной базе данных отличаются от таблиц в однотабличных базах данных, таких как электронные таблицы.
Данные, хранящиеся только в одной таблице, обновляются только один раз. Это более эффективно и, кроме того, исключает возможность дублирования записей, содержащих разные сведения.
Определение полей с уникальными значениями в каждой записи
Для связывания в Microsoft Access сведений, хранящихся в разных таблицах например, для связывания клиента со всеми его заказами каждая таблица базы данных должна содержать поля или набор полей, однозначно определяющих каждую запись. Такое поле или набор полей называют первичным ключом.
Определение связей между таблицами
После разбиения сведений на таблицы и определения полей первичного ключа необходимо выбрать способ, которым Microsoft Access будет вновь объединять связанные сведения. Для этого следует определить связи между таблицами базы данных Microsoft Access.
Может оказаться полезным изучить связи в существующей базе данных с хорошо организованной структурой, например, в учебной базе данных «Борей».
Усовершенствование структуры базы данных
После создания нужных таблиц, полей и связей необходимо еще раз просмотреть структуру базы данных и выявить возможные недочеты. Желательно это сделать на данном этапе, пока таблицы не заполнены данными.
Создайте таблицы в Microsoft Access, создайте между ними связи, и введите в таблицы достаточный объем данных для проверки структуры. Чтобы проверить связи в базе данных, посмотрите, удается ли создать запросы для получения нужных сведений. Создайте черновые формы и отчеты посмотрите, отображаются ли в них те данные, что ожидались. Выполните поиск излишних повторов данных и исключите их.
Ввод данных и создание других объектов базы данных
Если структуры таблиц отвечают поставленным требованиям, то можно ввести все данные. Затем можно создать все необходимые объекты базы данных запросы, формы, отчеты, страницы доступа к данным, макросы и модули.
Использование средств анализа Microsoft Access
В Microsoft Access существуют два инструмента, помогающие усовершенствовать структуру базы данных Microsoft Access.
Работа выполняется по индивидуальным вариантам и включает следующие элементы:
Задание: спроектировать БД, содержащую некоторые сведения, представленные в виде группы атрибутов (см.таблицу 1). Восемь первых атрибутов являются обязательными для всех, а остальные варьируются (см. таблицу 2). Приведенные атрибуты характеризуют некоторую группу людей и позволяют с учетом их профессиональной деятельности рассчитать денежное содержание.
Таблица 1. Состав атрибутов
1.ФИО |
2. Год рождения |
3. Должность |
4. Оклад |
5. Стаж |
6. Надбавка за стаж (свыше 5, 10, 15,20,25,30,35,40 лет) |
7. Удаленность (средняя, большая, очень большая) |
8. Надбавка за удаленность |
9.Сложность (средняя, высокая, очень высокая) |
10. Надбавка за сложность |
11. Вредность (по категориям: 1,2 ,3, 4, 5) |
12. Надбавка за вредность |
13.Классность(мастер,первая,вторая,третья) |
14. Надбавка за классность |
15. Ученое звание(доцент, снс, профессор) |
16. Надбавка за ученое звание |
17. Ученая степень(ктн, дтн) |
18.Надбавка за степень; |
19. Воинское звание (лейтенант, ст_лейтенант, , капитан, майор, подполковник, полковник) |
20. Надбавка за звание. |
Задание состоит в следующем.
Таблица 2. Распределение атрибутов по вариантам
Вариант |
Номер атрибута |
|||||||||||
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
|
1 |
* |
* |
* |
* |
||||||||
2 |
* |
* |
* |
* |
||||||||
3 |
* |
* |
* |
* |
||||||||
4 |
* |
* |
* |
* |
||||||||
5 |
* |
* |
* |
* |
||||||||
6 |
* |
* |
* |
* |
||||||||
7 |
* |
* |
* |
* |
||||||||
8 |
* |
* |
* |
* |
||||||||
9 |
* |
* |
* |
* |
||||||||
10 |
* |
* |
* |
* |
||||||||
11 |
* |
* |
||||||||||
12 |
* |
* |
* |
* |
||||||||
13 |
* |
* |
* |
* |
||||||||
14 |
* |
* |
* |
* |
||||||||
15 |
* |
* |
* |
* |
||||||||
16 |
* |
* |
* |
* |
* |
* |
||||||
17 |
* |
* |
* |
* |
* |
* |
||||||
18 |
* |
* |
* |
* |
* |
* |
||||||
19 |
* |
* |
* |
* |
* |
* |
||||||
20 |
* |
* |
* |
* |
* |
* |
||||||
21 |
* |
* |
* |
* |
* |
* |
||||||
22 |
* |
* |
* |
* |
* |
* |
||||||
23 |
* |
* |
* |
* |
* |
* |
||||||
24 |
* |
* |
* |
* |
* |
* |
||||||
25 |
* |
* |
* |
* |
* |
* |
||||||
26 |
* |
* |
* |
* |
* |
* |
||||||
27 |
* |
* |
* |
* |
* |
* |
||||||
28 |
* |
* |
* |
* |
* |
* |
Цель работы: проектирование и разработка собственной БД в ACCESS
Контрольные вопросы
Цель работы: приобретение навыков разработки макросов в СУБД, изучение технологии создания стартовой кнопочной формы БД в режиме конструктора
Макрос представляет набор макрокоманд, который создается для автоматизации часто выполняемых задач. Группа макросов позволяет выполнить несколько задач одновременно.
Макросы: общие сведения
Макросом называют набор из одной или более макрокоманд, выполняющих определенные операции, такие как открытие форм или печать отчетов. Макросы могут быть полезны для автоматизации часто выполняемых задач. Например, при нажатии пользователем кнопки можно запустить макрос, который распечатает отчет.
При создании макроса пользователь вводит макрокоманды, которые требуется выполнить, в верхней части окна макросов. В нижней части окна макросов задаются аргументы макрокоманды.
Макрос может быть как собственно макросом, состоящим из последовательности макрокоманд, так и группой макросов. В некоторых случаях для решения, должна ли в запущенном макросе выполняться определенная макрокоманда, может применяться условное выражение.
Создание кнопочной формы
Стартовая кнопочная форма открывается первой при загрузке базы данных и представляет собой удобный интерфейс для доступа к объектам базы данных.(таблицам, Формам, запросам и отчетам).
Для создания, изменения и удаления кнопочных форм служит диспетчер кнопочных форм или их можно создавать в конструкторе форм (если надстройка диспетчера кнопочных форм отсутствует.) Для использования диспетчера кнопочных форм:
Имя новой кнопочной формы добавляется в поле Страницы кнопочной формы.
Примечание. Для создания кнопочной формы, которая открывает другие кнопочные формы, выберите в поле Команда команду Перейти к кнопочной форме, а затем укажите кнопочную форму, к которой надо перейти.
Примечание. Чтобы изменить или удалить какую-либо из созданных кнопок, выберите ее имя в списке Элементы данной кнопочной формы и нажмите кнопку Изменить или Удалить. Если требуется изменить порядок элементов кнопочной формы, выберите элемент в списке и воспользуйтесь кнопками Вверх или Вниз.
Создание меню пользователя
Меню пользователя открывается при загрузке базы данных одновременно с меню и панелями инструментов Access и представляет собой удобный интерфейс для доступа к объектам базы данных.(таблицам, Формам, запросам и отчетам).
Для создания, изменения и удаления элементов меню пользователя используется команда Сервис Настройка Команды.
Создание пункта меню: выполните команду Сервис Настройка Команды. В списке «Категории» выберите «Новое меню». Выделите «Новое меню» в списке «Команды» и, удерживая нажатой левую кнопку мыши, отбуксируйте в нужное место панели инструментов.
Создание списка меню: выполните команду Сервис Настройка Команды. В списке «Категории» выберите «Файл». Выделите «Специальная» в списке «Команды» и, удерживая нажатой левую кнопку мыши, отбуксируйте под нужный пункт созданного меню.
Команде пункта меню или списка меню должен быть назначен макрос. Это можно выполнить, выбрав «Свойства» из контекстного меню.
Сжатие базы данных
Чтобы поддерживать базу данных в надлежащем порядке, необходимо периодически выполнять некоторые служебные процедуры. Вероятно, наиболее важной из них является резервное копирование данных, которое выполняется с помощью стандартных средств Windows для работы с файлами. Не менее существенной процедурой является сжатие базы данных. По мере обработки таблиц и добавления объектов 'файл базы данных увеличивается в объеме. При стирании части информации не происходит полного ее удаления из файла. В результате объем, занимаемый базой данных на жестком диске, может оказаться неоправданно большим.
Чтобы сжать базу данных, выполните команду Сервис > Служебные программы > Сжать и восстановить базу данных
Сравните размер файла базы данных до и после сжатия. Вы увидите, насколько эффективно сжатие экономит дисковое пространство.
Та же самая команда выполняет восстановление базы данных, поврежденной в результате внезапного сбоя электропитания. Иногда в процессе работы вы заметите, что база данных ведет себя как-то странно. В такой ситуации, не дожидаясь предупреждения, выполните команду Сжать и восстановить базу данных. Access по возможности восстановит нарушения, обнаруженные в структуре данных.
Параметры запуска
Параметры запуска позволяют управлять внешним видом и функциональными характеристиками файла Microsoft Access при его открытии. Параметры запуска применяются только к текущему файлу Access. Свойства, соответствующие параметрам запуска, не подавляют настройки свойств конкретной панели инструментов, строки меню, контекстного меню, формы или отчета. Например, параметры Строка меню и Контекстное меню в диалоговом окне Параметры запуска не переопределяют значения свойств для конкретных форм или отчетов, имеющих пользовательскую строку меню или контекстное меню. Таким образом, при открытии формы или отчета Microsoft Access отображает пользовательскую строку меню, присоединенную к этой форме или отчету, а не глобальную строку меню, указанную в диалоговом окне Параметры запуска. Пользователь также имеет возможность создать макрос AutoExec для выполнения макрокоманд при открытии файла Access. Диалоговое окно Параметры запуска можно использовать вместо или в дополнение к макросу AutoExec. Макрос AutoExec выполняется после вступления в силу параметров запуска, поэтому в макрос AutoExec не следует включать макрокоманды, которые могут изменить параметры запуска. Например, если в поле Вывод формы/страницы диалогового окна Параметры запуска указана форма, а в макросе AutoExec вызывается макрокоманда ОткрытьФорму, то сначала будет открыта форма, указанная в диалоговом окне Параметры запуска, а сразу за ней форма, указанная в макрокоманде ОткрытьФорму.
Внимание! Макросы могут содержать вирусы, поэтому их следует выполнять с соблюдением следующих мер предосторожности: используйте на компьютере последнюю версию антивирусного программного обеспечения; установите высокий уровень безопасности макросов; используйте цифровые подписи; создайте список доверенных источников макросов.
Существует два способа задать действия, выполняемые приложением при запуске, и ряд параметров, влияющих на работу приложения: установка параметров запуска в специальном диалоговом окне и создание макроса "AutoExec".
Для установки параметров запуска выберите команду Сервис, Параметры запуска. На экране появляется диалоговое окно Параметры запуска.
В диалоговом окне Параметры запуска (Startup) можно задать:
Флажки Окно базы данных и Строка состояния позволяют скрывать при запуске окно базы данных и строку состояния.
Следующая группа флажков позволяет запретить пользователям вносить изменения в разработанное приложение. Пока вы разрабатываете приложение, все эти флажки установлены, но когда вы будете передавать его пользователям, целесообразно сбросить флажки Полный набор меню Access, Встроенные панели инструментов и Изменение панелей инструментов/меню. Вместо стандартных меню и панелей инструментов можно предоставить пользователям свои собственные меню и панели инструментов или использовать встроенные сокращенные меню, не допускающие пользователя к конструкторам. Чтобы пользователь не мог получить доступ к полным меню через специальную комбинацию клавиш <Ctrl>+<F11> или к окну базы данных с помощью клавиши <F11>, нужно еще сбросить флажок Специальные клавиши Access. Если этот флажок сброшен, пользователь не сможет также открыть окно с текстом программ с помощью комбинаций клавиш <Ctrl>+<G> или <Ctrl>+<Break>. Но при этом он может все-таки попасть в текст программы, если произойдет ошибка, которая не перехвачена в коде программы.
Все эти параметры вступают в силу только после следующего запуска приложения.
Замечание
Все параметры запуска, задаваемые в диалоговом окне Параметры запуска, могут быть установлены также с помощью программы VBA, т. к. все они являются свойствами объекта Database.
Задание1
Создание макроса
Задание 2
Задание 2
Выполните сжатие вашей базы данных.
Задание3
Сделать так,чтобы при запуске отображалась ваша кнопочная форма или строка меню.
Для этого необходимо:
1.В своей базе данных в меню “Сервис” выбрать “Параметры запуска”.
2.В открывшемся окне в строке “Вывод формы/страницы” выбрать свою кнопочную форму.
3.Отредактировать поле “Строка меню” по своему усмотрению.
4.Закрыть базу данных.
5.Открыть базу данных и проверить работу установленных параметров.
Примечания
Цель работы
Защита на уровне пользователей (Защита на уровне пользователей. При активизации защиты на уровне пользователей в базе данных Microsoft Access администратор базы данных или владелец объекта предоставляет определенные разрешения отдельным пользователям и группам пользователей на следующие объекты: таблицы, запросы, формы, отчеты и макросы.) Microsoft Access напоминает механизмы безопасности, используемые на серверах и больших компьютерах. С помощью паролей и разрешений (Разрешения. Набор атрибутов, определяющих права пользователя на данные или объекты в базе данных.) предоставляется или ограничивается доступ пользователей или групп к объектам базы данных. Учетные записи системы безопасности определяют пользователей и группы, которым разрешен доступ к объектам. Эта информация, которую называют сведениями о рабочей группе (Рабочая группа. Группа пользователей сети, которые работают с данными в режиме общего доступа и имеют общий файл рабочей группы.), сохраняется в файле рабочей группы (Файл рабочей группы. Файл, который Microsoft Access считывает при запуске, содержащий сведения о пользователях, входящих в рабочую группу. Эти сведения включают имена учетных записей пользователей, их пароли и имена групп, в которые входят пользователи.).
Общие сведения о защите на уровне пользователей
Наиболее гибкий и распространенный способ защиты базы данных называют защитой на уровне пользователей. Двумя основными причинами использования защиты на уровне пользователей являются:
При использовании этого типа защиты пользователь должен ввести пароль при запуске Microsoft Access. Затем Access читает файл рабочей группы, в котором каждый пользователь идентифицируется уникальным кодом. В файле рабочей группы пользователи по их личным кодам и паролям идентифицируются как авторизованные индивидуальные пользователи и как члены конкретных групп. В Microsoft Access определены две стандартные группы: администраторы (группа «Admins» (Группа «Admins». Учетная запись группы системных администраторов, имеющих полные разрешения на все базы данных, используемые рабочей группой. Программа установки автоматически добавляет в группу «Admins» стандартную учетную запись пользователя «Admin».)) и пользователи (группа «Users» (Группа «Users». Учетная запись группы, в которую включаются все учетные записи пользователей. Microsoft Access автоматически добавляет создаваемые учетные записи пользователей в группу «Users».)), но допускается определение дополнительных групп.
Хотя установка защиты на уровне пользователей для большинства баз данных является сложной задачей, мастер защиты позволит быстро и легко защитить базу данных Access (База данных Microsoft Access. Совокупность данных и объектов, относящихся к определенной задаче. Управление данными выполняется ядром базы данных Microsoft Jet.). Более того, благодаря использованию общих схем защиты, мастер позволяет уменьшить или даже вообще исключить необходимость использования команды Защита в меню Сервис.
Мастер защиты помогает назначить разрешения и создать учетные записи пользователей (Учетная запись пользователя. Учетная запись пользователя, определяемая именем и личным кодом (PID), которая создается для управления разрешениями пользователя на доступ к объектам базы данных в рабочей группе Microsoft Access.) и учетные записи групп (Учетная запись группы. Совокупность учетных записей пользователей, входящих в рабочую группу, имеющая собственные групповое имя и личный код (PID). Разрешения, назначенные группе, автоматически получает каждый пользователь, входящий в группу.). Однако после запуска мастера для базы данных и существующих в ней таблиц, запросов, форм, отчетов и макросов имеется возможность вручную назначить или удалить разрешения на доступ для учетных записей пользователей и групп в рабочей группе. Также могут быть установлены разрешения на доступ, по умолчанию присваиваемые вновь создаваемым объектам базы данных.
Группам и пользователям предоставляются разрешения, определяющие возможность их доступа к каждому объекту базы данных. Например, члены группы «Users» могут иметь разрешения на просмотр, ввод или изменение данных в таблице «Клиенты», но им не будет разрешено изменять структуру этой таблицы. Члены группы «Users» могут быть допущены только к просмотру данных в таблице, содержащей сведения о заказах, и не иметь доступа к таблице «Платежная ведомость». Члены группы «Admins» имеют разрешения на доступ ко всем объектам базы данных. Имеется возможность установить более разветвленную структуру управления, создавая собственные учетные записи групп, предоставляя этим группам соответствующие разрешения и добавляя пользователей в группы.
Если для системы защиты достаточно группы администраторов и группы пользователей, то нет необходимости создавать другие группы. Можно воспользоваться стандартными группами «Admins» и «Users». В этом случае необходимо присвоить соответствующие разрешения на доступ стандартной группе «Users» и добавить дополнительных администраторов в стандартную группу «Admins». Каждый новый пользователь автоматически добавляется в группу «Users». Типовые разрешения на доступ для группы «Users» могут включать «Чтение данных» и «Обновление данных» для таблиц и запросов и «Открытие/запуск» для форм и отчетов
В случае необходимости более разветвленной структуры управления для различных групп пользователей, имеется возможность создания новых групп, присвоения группам различных наборов разрешений на доступ и добавления новых пользователей в соответствующие группы. Для упрощения управления разрешениями на доступ рекомендуется присваивать разрешения только группам (а не отдельным пользователям), а затем добавлять пользователей в соответствующие группы.
Например, можно организовать защиту базы данных «Заказы» с помощью создания учетных записей «Управляющие» для руководства фирмы, «Представители» для торговых представителей и «Персонал» для административного персонала. После этого следует присвоить наибольшее количество разрешений группе «Управляющие», промежуточное количество группе «Представители» и минимальное группе «Персонал». При создании учетной записи для нового сотрудника эта запись будет добавляться в одну из групп и сотрудник автоматически получит разрешения, принадлежащие этой группе.
Рабочие группы и файлы рабочих групп
Рабочая группа Microsoft Access это группа пользователей, которые совместно используют данные в многопользовательской среде. Если определена защита на уровне пользователей, члены рабочей группы регистрируются с помощью учетных записей пользователей (Учетная запись пользователя. Учетная запись пользователя, определяемая именем и личным кодом (PID), которая создается для управления разрешениями пользователя на доступ к объектам базы данных в рабочей группе Microsoft Access.) и учетных записей групп (Учетная запись группы. Совокупность учетных записей пользователей, входящих в рабочую группу, имеющая собственные групповое имя и личный код (PID). Разрешения, назначенные группе, автоматически получает каждый пользователь, входящий в группу.), которые сохраняются в файле рабочей группы Microsoft Access. Пароли пользователей также запоминаются в файле рабочей группы. Этим учетным записям системы защиты могут быть предоставлены разрешения на доступ к базе данных и ее таблицам, запросам, формам, отчетам и макросам. Сами разрешения сохраняются в защищенной базе данных.
Когда пользователь в первый раз запускает Microsoft Access после установки Microsoft Office, Access автоматически создает файл рабочей группы Microsoft Access, который идентифицируется по указанными пользователем имени и названию организации. Относительное расположение файла рабочей группы записывается в следующие параметры реестра:
HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Access\Jet\4.0\Engines\SystemDB
и
HKEY_USERS\.DEFAULT\Software\Microsoft\Office\10.0\Access\Jet\4.0\Engines\SystemDB
Следующие пользователи наследуют стандартный путь к файлу рабочей группы из раздела реестра HKEY_USERS. Так как получение этой информации часто не представляет особого труда, существует вероятность того, что кто-то сможет создать другую версию этого файла и приобрести неотъемлемые разрешения на доступ (Разрешения. Набор атрибутов, определяющих права пользователя на данные или объекты в базе данных.) учетной записи администратора (члена группы Admins (Группа «Admins». Учетная запись группы системных администраторов, имеющих полные разрешения на все базы данных, используемые рабочей группой. Программа установки автоматически добавляет в группу «Admins» стандартную учетную запись пользователя «Admin».)) в рабочей группе, определяемой этим файлом рабочей группы. Чтобы избежать этого, создайте новый файл рабочей группы и укажите код рабочей группы (WID) (Код рабочей группы. Набор от 4 до 20 алфавитно-цифровых символов (с учетом регистра), который вводится при создании нового файла рабочей группы с помощью администратора рабочих групп. Этот код однозначно определяет группу «Admins» в файле рабочей группы.). Только тот, кто знает этот код, сможет создать копию файла рабочей группы.
Любые создаваемые учетные записи пользователей и групп и пароли сохраняются в этом файле рабочей группы до тех пор, пока пользователь не присоединится к другой рабочей группе с помощью администратора рабочих групп.
Примечание. В Access 2002 программу «Администратор рабочих групп» можно запустить из подменю Защита меню Сервис.
Обязательно запишите введенное имя, название организации и код рабочей группы с учетом регистра (для всех трех элементов) и храните их в надежном месте. Если потребуется заново создать файл рабочей группы, необходимо будет ввести точно эти же сведения. Если они забыты или потеряны, восстановить их и получить доступ к базам данных будет невозможно.
Разрешения на доступ: как они работают и кто может их назначать
Существуют два типа разрешений на доступ (Разрешения. Набор атрибутов, определяющих права пользователя на данные или объекты в базе данных.): явные и неявные. Разрешения называются явными, если они непосредственно присвоены учетной записи пользователя (Учетная запись пользователя. Учетная запись пользователя, определяемая именем и личным кодом (PID), которая создается для управления разрешениями пользователя на доступ к объектам базы данных в рабочей группе Microsoft Access.); такие разрешения не влияют на разрешения других пользователей. Неявными называются разрешения на доступ, присвоенные учетной записи группы (Учетная запись группы. Совокупность учетных записей пользователей, входящих в рабочую группу, имеющая собственные групповое имя и личный код (PID). Разрешения, назначенные группе, автоматически получает каждый пользователь, входящий в группу.). Пользователь, включенный в такую группу, получает все разрешения, предоставленные группе; удаление пользователя из этой группы лишает его всех разрешений, присвоенных данной группе.
При попытке пользователя выполнить какую-либо операцию с защищенным объектом базы данных его текущие разрешения определяются комбинацией явных и неявных разрешений на доступ. На уровне пользователей всегда действуют минимальные ограничения из налагаемых явными разрешениями для пользователя и для всех групп, к которым принадлежит данный пользователь. Поэтому простейшим способом управления рабочей группой является создание новых групп и определение разрешений на доступ для этих групп, а не для индивидуальных пользователей. После этого изменение разрешений для отдельных пользователей осуществляется путем добавления пользователей в группы или удаления их из групп. Кроме того, при необходимости предоставить новые разрешения, они предоставляются сразу всем членам группы в одной операции.
Изменять разрешения других пользователей на отдельные объекты базы данных могут следующие пользователи:
В ряде случаев пользователи, не имеющие разрешения на выполнение какого-либо действия, имеют возможность присвоить их себе. Такая ситуация имеет место для пользователя, являющегося членом группы «Admins» или владельцем объекта.
Пользователь, создавший таблицу, запрос, форму, отчет или макрос, является владельцем этого объекта. Кроме того, группа пользователей, которые могут изменять разрешения в базе данных, может также сменить владельца объектов или заново создать эти объекты, что является альтернативным способом смены владельца объектов. Для создания объекта заново достаточно импортировать или экспортировать этот объект в другую базу данных или сделать копию объекта. Этот прием является простейшим способом смены владельца объектов, в том числе и всей базы данных.
Примечание. Копирование, импорт или экспорт не приводит к изменению прав владельца для запросов, у которых свойство При запуске предоставляются права (RunPermissions) имеет значение Владельца. Изменение владельца допускается только для запросов, у которых свойство При запуске предоставляются права (RunPermissions) имеет значение Пользователя.
Организация учетных записей
Файл рабочей группы Microsoft Access содержит следующие встроенные учетные записи.
Учетная запись |
Функция |
Admin |
Стандартная учетная запись пользователя (Учетная запись пользователя. Учетная запись пользователя, определяемая именем и личным кодом (PID), которая создается для управления разрешениями пользователя на доступ к объектам базы данных в рабочей группе Microsoft Access.). Данные записи являются одинаковыми для всех экземпляров Microsoft Access и других приложений, использующих ядро базы данных Microsoft Jet (Ядро базы данных Microsoft Jet. Компонент СУБД Microsoft Access, выполняющий загрузку и сохранение данных в базах данных пользователей и в системных базах данных. Ядро Jet может рассматриваться как диспетчер данных, на основе которого строятся СУБД, такие как Microsoft Access.), таких как Microsoft Visual Basic для приложений (VBA) (Visual Basic для приложений (VBA). Макро-версия языка программирования Microsoft Visual Basic, используемая для программирования приложений Microsoft Windows и поставляемая с некоторыми приложениями (Microsoft). ) и Microsoft Excel. |
Admins |
Учетная запись группы (Учетная запись группы. Совокупность учетных записей пользователей, входящих в рабочую группу, имеющая собственные групповое имя и личный код (PID). Разрешения, назначенные группе, автоматически получает каждый пользователь, входящий в группу.) администраторов. Данная запись является уникальной в каждом файле рабочей группы. По умолчанию пользователь «Admin» является членом группы «Admins» (Группа «Admins». Учетная запись группы системных администраторов, имеющих полные разрешения на все базы данных, используемые рабочей группой. Программа установки автоматически добавляет в группу «Admins» стандартную учетную запись пользователя «Admin».). В каждый момент в группу «Admins» должен входить по крайней мере один пользователь. |
Users |
Учетная запись группы, содержащая все учетные записи пользователей. Microsoft Access автоматически добавляет учетные записи пользователей в группу «Users» при их создании членом группы «Admins». Данные записи являются одинаковыми в каждом файле рабочей группы, однако этот файл содержит только учетные записи пользователей, созданные членами группы «Admins», входящими в данную рабочую группу. По умолчанию данная учетная запись имеет все разрешения на все новые объекты. Единственным способом удаления учетной записи из группы «Users» является удаление пользователя членом группы «Admins». |
В действительности, система защиты Microsoft Access всегда включена. До активизации пользователем процедуры подключения для рабочей группы Microsoft Access при запуске автоматически подключает всех пользователей с помощью встроенной учетной записи пользователя «Admin» (Учетная запись «Admin». Стандартная учетная запись пользователя. При установке Microsoft Access учетная запись пользователя «Admin» автоматически включается в создаваемый файл рабочей группы.) с пустым паролем. Неявно Microsoft Access использует учетную запись «Admin» как учетную запись администратора рабочей группы, а также как владельца (Владелец. При активизированной системе защиты это учетная запись пользователя, которая осуществляет управление базой данных или ее объектом. По умолчанию разрешения владельца имеет учетная запись пользователя, создавшего базу данных или ее объект.) всех создаваемых баз данных и таблиц, форм, отчетов и макросов.
Наличие администраторов и владельцев является необходимым, поскольку им предоставляются разрешения, которые невозможно отобрать.
Поскольку учетные записи пользователя «Admin» совершенно одинаковы для всех экземпляров Microsoft Access, то первым шагом при организации системы защиты является определение учетных записей администратора и владельца (или единой учетной записи, являющейся записью и администратора, и владельца). После этого следует удалить учетную запись пользователя «Admin» из группы «Admins». Если этого не сделать, любой пользователь Microsoft Access сможет подключиться к рабочей группе с помощью учетной записи «Admin» и получить все разрешения на доступ к таблицам, запросам, формам, отчетам и макросам рабочей группы.
В группу «Admins» разрешается добавлять произвольное число учетных записей, однако владельцем базы данных может быть только одна учетная запись та, что была активной при создании базы данных, либо та, что была активной при передаче права владельца путем создания новой базы данных и импорта в нее всех объектов из исходной базы данных. Однако учетные записи групп могут являться владельцами таблиц, запросов, форм, отчетов и макросов базы данных.
Соображения при организации учетных записей
После создания учетных записей пользователей и групп можно просматривать и печатать их схемы. Microsoft Access печатает отчет по учетным записям в рабочей группе, демонстрирующий группы, к которым принадлежит каждый пользователь, и всех пользователей, входящих в каждую группу.
Защита паролем
Частичную защиту базы данных обеспечивает добавление пароля, ограничивающего пользователей, которые могут открывать базу данных. Microsoft Access хранит пароль базы данных в незашифрованном виде. Если это нарушает безопасность защищаемой паролем базы данных, не следует использовать пароль. Вместо этого необходимо определить защиту на уровне пользователей.
Внимание!
Соглашения о паролях
Имена учетных записей могут иметь длину от 1 до 20 знаков и могут состоять из букв, цифр, пробелов и символов из расширенных наборов, за исключением следующих:
Примечание. В паролях учитывается регистр знаков.
Теперь пароль задан. При следующем открытии базы данных появляется диалоговое окно, в которое необходимо ввести пароль.
Примечания
Выполнение работы
Контрольные вопросы
Цель работы: приобретение навыков разработки приложений с использованием объектов DAO
Объекты доступа к данным DAO (Data Access Objects) позволяют управлять структурой базы данных и содержащимися в ней данными из программ Visual Basic. Многие объекты DAO соответствуют объектам, которые можно видеть в базе данных например, объект TableDef соответствует таблице Microsoft Access. Объект Field соответствует полю в таблице.
Большая часть свойств объектов DAO является свойствами DAO. Эти свойства определены в ядре базы данных Microsoft Jet и задаются тем же способом, как и в других приложениях, включающих ядро Jet. Некоторые свойства, которые можно задать для объектов DAO, определяются в Microsoft Access, а затем автоматически распознаются ядром базы данных Jet. Способ задания свойств объектов DAO зависит от того, где определено свойство, в ядре базы данных Jet или в Microsoft Access.
Объекты DAO представлены в следующей таблице
Коллекция |
Объект |
Connections |
Connection |
Containers |
Container |
Databases |
Database |
None |
DBEngine |
Documents |
Document |
Errors |
Error |
Fields |
Field |
Groups |
Group |
Indexes |
Index |
Parameters |
Parameter |
Properties |
Property |
QueryDefs |
QueryDef |
Recordsets |
Recordset |
Relations |
Relation |
TableDefs |
TableDef |
Users |
User |
Workspaces |
Workspace |
Порядок работы при объектном доступе к данным
Выполнение работы
Option Explicit
'
'
Dim РабочаяОбласть As Workspace
Dim БазаДанных As Database
Dim Запись As Recordset
Dim ЗаписьДубль As Recordset
Dim Фамилия As String
Dim Критерий As String
Dim Закладка As Variant
Private Sub CommandButton1_Click()
'
'Найти запись по фамилии
'
'Запоминается на закладке текущая запись
'
Закладка = Запись.bookmark
'
'Считывается фамилия из поля фамилия, на её основе
'создаётся критерий поиска и ищется первая запись с
'подобной фамилией
'
Фамилия = Trim(TextBox1.Text)
Критерий = "(Фамилия)='" & Фамилия & "'"
Запись.FindFirst Критерий
'Если запись с указанной фамилией найдена ,то она
'отображается в диологовом окне.
'Если запись не найдена, то отображается сообщение и
'при помощи закладки происходит возврат записи, с
'которой был начат поиск.
'
If Запись.NoMatch = False Then
ПоказатьЗапись
Else
MsgBox "Запись не найдена", vbInformation, "Студенты"
Запись.bookmark = Закладка
ПоказатьЗапись
End If
End Sub
Private Sub CommandButton10_Click()
'
'Переход к последней записи
'
Запись.MoveLast
ПоказатьЗапись
End Sub
'
Private Sub CommandButton2_Click()
'
'Найти следующую запись по фамилии
'
Закладка = Запись.bookmark
Фамилия = Trim(TextBox1.Text)
Критерий = "[Фамилия]='" & Фамилия & "'"
Запись.FindNext Критерий
'
If Запись.NoMatch = False Then
ПоказательЗапись
Else
MsgBox "Больше таких записей нет", vbInformation, "Студенты"
Запись.bookmark = Закладка
ПоказатьЗапись
End If
End Sub
'
Private Sub CommandButton3_Click()
'
'Удаление записи
'
With Запись
.Delete
.MoveNext
End With
ПоказатьЗапись
End Sub
'
Private Sub CommandButton4_Click()
'
'Добавление записи
'
With Запись
.AddNew
.Fields("Фамилия").Value = TextBox1.Text
.Fields("Группа").Value = TextBox2.Text
.Fields("Предмет").Value = TextBox3.Text
.Fields("Оценка").Value = TextBox4.Text
.Update
End With
'
Exit Sub
'
End Sub
Private Sub CommandButton5_Click()
'
'Редактирование записи
'
With Запись
.Edit
.Fields("Фамилия").Value = TextBox1.Text
.Fields("Группа").Value = TextBox2.Text
.Fields("Предмет").Value = TextBox3.Text
.Fields("Оценка").Value = TextBox4.Text
.Update
End With
End Sub
'
Private Sub CommandButton6_Click()
'
'Закрытие записи,базы данных и окна
'
Запись.Close
БазаДанных.Close
РабочаяОбласть.Close
UserForm1.Hide
End Sub
'
Private Sub CommandButton7_Click()
'
'Переход к первой записи
'
Запись.MoveFirst
ПоказатьЗапись
End Sub
'
Private Sub CommandButton8_Click()
'
'Переход к предыдущей записи
'
Запись.MovePrevious
'
'Если достигнута первая запись,то отображается сообщение
'
If Запись.BOF = True Then
Запись.MoveFirst
MsqBox "Первая запись", vbInformation, "Студенты"
End If
ПоказатьЗапись
End Sub
Private Sub CommandButton9_Click()
'
'Переход к последующей записи
'
Запись.MoveNext
'
'Если достигнута последняя запись,то отображается сообщение
'
If Запись.EOF = True Then
Запись.MoveLast
MsgBox "Последняя запись", vbInformation, "Студенты"
End If
ПоказатьЗапись
End Sub
'
Private Sub OptionButton1_Click()
'
'Отображение данных только о хорошистах и отличниках
'
'Создание копии записи
'
Set ЗаписьДубль = Запись.Clone
'
'фильтрация Записей по критериям
'
Запись.Filter = "[Оценка]>=4"
'
'Создание отфильтрованной записи
'
Set Запись = Запись.OpenRecordset()
If Запись.RecordCount > 0 Then
'
'Если отфильтрованная запись существует, то она отображается в диалоговом окне
'
Показать Запись
Else
'
'Если отфильтрованной записи нет, то отображается соответствующее
'сообщение, востанавливается первоночальный объект Recordset
'и выбирается переключатель Все
MsgBox "Таких студентов нет", vbInformation, "Студенты"
Set Запись = ЗаписьДубль.Clone
Set Запись = Запись.OpenRecordset()
OptionButton2.Value = True
End If
End Sub
'
Private Sub OptionButton2_Click()
'
'Отображение всех студентов
'
Запись = Запись.Clone
Set Запись = ЗаписьДубль.OpenRecordset()
ЗаписьДубль.Close
Показать Запись
End Sub
'
'
Private Sub UserForm_Initilaze()
'
'Создание рабочей области
'
SetРабочая область = CreteWorkspace(Name:="", UserName:="admin", Password:="", UseType:=dbUseJet)
'
'Открытие базы данных студентов.mdb
'
Set БазаДанных = РабочаяОбласть.OpenDatabase(Name:="c:\My_DOC\студенты.mdb", Options:=True)
'
'Cоздание записей
'
Set Запись = БазаДанных.OpenRecordset("ПервыйКурс", dbOpenDynaset)
'
'Принудительное перемещение на последнюю запись для того,
'чтобы определить число записей.
End Sub
Private Sub UserForm_Click()
End Sub
Private Sub UserForm_Initialize()
'
'Создание рабочей области
'
Set РабочаяОбласть = CreateWorkspace(Name:="", UserName:="admin", Password:="", UseType:=dbUseJet)
'
'Открытие базы данных студентов.mdb
'
Set БазаДанных = РабочаяОбласть.OpenDatabase(Name:="c:\Мои документы\студенты.mdb", Options:=True)
'
'Cоздание записей
'
Set Запись = БазаДанных.OpenRecordset("ПервыйКурс", dbOpenDynaset)
'
'Принудительное перемещение на последнюю запись для того,
'чтобы определить число записей.
Запись.MoveLast
Label5.Caption = "Всего записей" & CStr(Запись.RecordCount)
Запись.MoveFirst
ПоказатьЗапись
With UserForm1
.Caption=”Студенты первого курса”
.OptionButton2.Value=True
End With
End Sub
Sub ПоказатьЗапись()
Процедура вывода записи в поля диалогового окна
TextBox1.Text=Запись.Fields(“Фамилия”).Value
TextBox2.Text=Запись.Fields(“Группа”).Value
TextBox3.Text=Запись.Fields(“Предмет”).Value
TextBox4.Text=Запись.Fields(“Оценка”) .Value
End Sub
Контрольные вопросы.