Файл: Построение системы управления базами данных.doc

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 05.12.2023

Просмотров: 345

Скачиваний: 7

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
rs.Open "Клиенты", cn, adOpenDynamic, adLockOptimisticrs.MoveFirstTextBoxIdClient.Text = rs.Fields("Id Клиента").ValueTextBoxFirstName.Text = rs.Fields("Фамилия").ValueTextBoxSecondName.Text = rs.Fields("Имя").ValueTextBoxThirdName.Text = rs.Fields("Отчество").ValueTextBoxGender.Text = rs.Fields("Пол").ValueTextBoxAddress.Text = rs.Fields("Адрес").ValueTextBoxPhoneNamber.Text = rs.Fields("Телефон").ValueExit SubErrorHandler:If ("База данных была приведена пользователем 'Admin' на компьютере 'DESKTOP-AEOHGQF' в состояние, препятствующее ее открытию или блокировке." = Err.Description) ThenDoCmd.CloseDoCmd.OpenForm "Клиенты"Err.ClearEnd IfIf ("Операция не допускается, если объект открыт." = Err.Description) ThenMsgBox "Подключение уже установлено!"End IfEnd SubПример кнопки «Удалить»:Private Sub CommandDelete_Click()rs.DeleteTextBoxIdClient.Text = ""TextBoxFirstName.Text = ""TextBoxSecondName.Text = ""TextBoxThirdName.Text = ""TextBoxGender.Text = ""TextBoxAddress.Text = ""TextBoxPhoneNamber.Text = ""End SubПример кнопки «Дальше»:Private Sub CommandNext_Click()If (rs.EOF = False) Then rs.MoveNextIf (rs.EOF) ThenMsgBox ("Дальше нет данных")Exit SubEnd IfTextBoxIdClient.Text = rs.Fields("Id Клиента").ValueTextBoxFirstName.Text = rs.Fields("Фамилия").ValueTextBoxSecondName.Text = rs.Fields("Имя").ValueTextBoxThirdName.Text = rs.Fields("Отчество").ValueTextBoxGender.Text = rs.Fields("Пол").ValueTextBoxAddress.Text = rs.Fields("Адрес").ValueTextBoxPhoneNamber.Text = rs.Fields("Телефон").ValueEnd SubЗапросыЗапрос – вопрос к БД, ответом на который будет служить одна, ни одной, или несколько записей удовлетворяющих критериям запроса. Задаваемы в запросе условия – значения конкретных полей – называются критериями отбора.Запросы позволяют:

  • фильтровать и сортировать данные;

  • производить расчёты;

  • группировать записи (рассчитывая различные итоговые значения);

  • вносить изменения сразу в несколько записей;

  • создавать таблицы, как результат запроса.

Типы запросов


  1. Запрос на выборку – осуществляет загрузку и отображение записей в режиме таблицы.

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

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

  4. Запрос с параметрами – позволяет ввести информацию, используемую в качестве критериев отбора.

В своей работе я создал 4 различных запросов (с точным совпадением, с неточным совпадением, с группировкой, с вычисляемым полем).Результат каждого запроса выводится в динамически создаваемую форму.Список всех запросов представлен на рисунке 6.Рисунок 6 — Список запросов в БД «Гостиница»Далее представлен запрос (рисунок 7) в режиме конструктора, с неточным поиском, который выводит данные клиентов, в Фамилии которых присутствуют заданные параметры «Не точный поиск» (начальные буквы/слоги фамилии).Рисунок 7 — запрос поиск по Фамилии в режиме конструктора БД «Гостиница».Далее представлен запрос после выполнения (рисунок 8). Введем, например, начальные буквы фамилии, так как реализован запрос с неточным поиском.Рисунок 8 — запрос начального параметра в БД «Гостиница».Далее (рисунок 9) получаем нужный результат:Рисунок 9 — результат запроса в БД «Гостиница»Если нам нужен запрос с точным совпадением, в условие отбора достаточно ввести квадратные скобки «[ ]». И в результате будет открыто диалоговое окно, предлагая ввести точные значения. Если внутри квадратных скобок написать текст, то диалоговое окно будет иметь сообщение с этим текстом.Рисунок 9 — Запрос поиск по номеру заселения в режиме конструктора БД «Гостиница».Рисунок 10 — Пример выполнения запроса с точным совпадением БД «Гостиница». Пример программы для обработки запроса «Поиск по номеру заселения»Private Sub CommandVisits_Click()Dim comsql As StringDim frm As FormDim ctl As ControlDim i As IntegerDim nomer As Stringcn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Admin\Desktop\Курсовая\Гостиница.accdb;Persist Security Info=False;"cn.Openrs.CursorLocation = adUseClientrs.CursorType = adOpenDynamicrs.LockType = adLockOptimisticnomer = InputBox("Введите № Заселения: ")If (nomer = "" Or Not (IsNumeric(nomer))) ThenMsgBox ("Введено неверное значение")cn.CloseExit SubEnd Ifcomsql = "SELECT Заселения.[№ Заселения], Клиенты.Фамилия, Клиенты.Имя, Клиенты.Отчество, Клиенты.Телефон, Гостиницы.Название FROM Гостиницы INNER JOIN (Клиенты INNER JOIN Заселения ON Клиенты.[Id Клиента] = Заселения.[Id Клиента]) ON Гостиницы.Название = Заселения.Гостиница WHERE (((Заселения.[№ Заселения]) Like '%" & nomer & "%'));"

On Error GoTo ErrorHandlerrs.Open comsql, cn, adOpenKeysetrs.MoveFirstSet frm = CreateFormWith frm.Caption = "Поиск по номеру заселения".ScrollBars = 0.RecordSelectors = False.NavigationButtons = False.DividingLines = False.AutoCenter = True.BorderStyle = 3.Section(0).Height = 3.862 * appCM.Width = 10.926 * appCM.HasModule = TrueEnd WithDim ctlText As ControlDim intDataX As Integer, intDataY As IntegerintDataX = 100intDataY = 100i = 0Set ctlText = CreateControl(frm.Name, acLabel, , "", "№ Заселения", intDataX, intDataY)Set ctlText = CreateControl(frm.Name, acLabel, , "", "Фамилия", intDataX + 3000, intDataY)Set ctlText = CreateControl(frm.Name, acLabel, , "", "Имя", intDataX + 6000, intDataY)Set ctlText = CreateControl(frm.Name, acLabel, , "", "Отчество", intDataX + 11000, intDataY)Set ctlText = CreateControl(frm.Name, acLabel, , "", "Телефон", intDataX + 14000, intDataY)Set ctlText = CreateControl(frm.Name, acLabel, , "", "Гостиница", intDataX + 17000, intDataY)intDataY = intDataY + 300While i < rs.RecordCountSet ctlText = CreateControl(frm.Name, acLabel, , "", rs.Fields("№ Заселения").Value, intDataX, intDataY)Set ctlText = CreateControl(frm.Name, acLabel, , "", rs.Fields("Фамилия").Value, intDataX + 3000, intDataY)Set ctlText = CreateControl(frm.Name, acLabel, , "", rs.Fields("Имя").Value, intDataX + 6000, intDataY)Set ctlText = CreateControl(frm.Name, acLabel, , "", rs.Fields("Отчество").Value, intDataX + 11000, intDataY)Set ctlText = CreateControl(frm.Name, acLabel, , "", rs.Fields("Телефон"), intDataX + 14000, intDataY)Set ctlText = CreateControl(frm.Name, acLabel, , "", rs.Fields("Название"), intDataX + 17000, intDataY)intDataY = intDataY + 300rs.MoveNexti = i + 1WendDoCmd.OpenForm frm.Namers.Closecn.CloseExit SubErrorHandler:If ("База данных была приведена пользователем 'Admin' на компьютере 'DESKTOP-AEOHGQF' в состояние, препятствующее ее открытию или блокировке." = Err.Description) ThenDoCmd.CloseDoCmd.OpenForm "Для запросов"Err.ClearEnd IfEnd Sub Так же добавлена обработка ошибок на случай если пользователь оставит поле «ввода» пустым или же введет неверные данные.Пример:Рисунок 11 — Диалоговое окно запроса БД «Гостиница».Результат:Рисунок 12 —Ошибка БД «Гостиница».ОтчетыОтчёт – форма для обработки данных на бумажных носителях.Содержание отчётов:

  1. Элементы оформления.

  2. Схемы и диаграммы.

  3. Верхние и нижние колонтитулы, содержащие служебную информацию.

  4. Графические элементы управления, в том числе фотографии и иллюстрации.
Режимы работы с отчётом:

  1. Конструктор

  2. Образец

  3. Предварительный просмотр
Создание отчета с помощью мастера отчетовВ мастере отчетов можно более точно настроить поля

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


  • на вкладке «Создание» в группе «Отчеты» выберите «Мастер отчетов»;

  • следуйте указаниям на страницах мастера отчетов. На его последней странице нажмите кнопку «Готово».
Создание отчета с помощью средства "Отчет"Средство "Отчет" — это самый быстрый способ создания отчета, потому что при его использовании отчет формируется сразу же, без запроса дополнительной информации. В отчете будут представлены все записи базовой таблицы или запроса. Хотя получившийся отчет, скорее всего, будет далек от совершенства, он позволит быстро просмотреть базовые данные. После этого отчет можно сохранить и изменить в режиме макета или конструктора в соответствии с поставленной задачей.

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

  • На вкладке «Создание» в группе «Отчеты» выберите «Отчет».
Access создаст отчет и отобразит его в режиме макета.Создание отчета с помощью средства "Пустой отчет"Если вам не подходят ни средство "Отчет", ни мастер отчетов, можно создать отчет с нуля при помощи средства "Пустой отчет". Это очень быстрый способ, особенно если в отчет нужно добавить всего несколько полей. Чтобы воспользоваться средством "Пустой отчет", выполните следующие действия:

  • на вкладке Создание в группе Отчеты выберите Пустой отчет;

  • в режиме макета будет открыт пустой отчет, а в правой части окна Access появится область "Список полей";

  • в области Список полей щелкните знак плюс (+) рядом с одной или несколькими таблицами, содержащими поля, которые вы хотите включить в отчет;

  • по очереди перетащите каждое из полей в отчет либо, нажав и удерживая клавишу CTRL, выберите несколько полей и перетащите их одновременно;

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

Разделы отчета

Отчет Access состоит из нескольких разделов. Разделы можно просматривать в режиме конструктора. Чтобы создавать полезные отчеты, необходимо понимать, для чего используется каждый раздел. Например, от того, в каком разделе размещается вычисляемый элемент управления, зависит то, как Access рассчитывает результаты.
В следующем списке описаны разделы отчета и их использование:

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

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

  • заголовок группы. Печатается в начале каждой новой группы записей. Заголовок группы служит для печати имени группы. Например, в отчете, сгруппированном по товарам, заголовок группы можно использовать для печати названия товара. Если в заголовке группы есть вычисляемый элемент управления с агрегатной функцией Sum, сумма вычисляется для текущей группы.

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

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

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

  • примечание отчета. Печатается один раз в конце отчета. Примечание отчета можно использовать для печати итогов и другой сводной информации по всему отчету.
Рисунок 13 — Отчет «Результаты стоимостей номеров» в режиме конструктора БД «Гостиница».Список всех отчетов, созданных для БД «Гостиница» и их выводом в Word и Excel, представлен на рисунке 14.Рисунок 14 — Список всех отчетов БД «Гостиница».Далее представлены отчет «Общая сводка по Заселениям» и «Результаты стоимостей номеров» в БД «Гостиница» (рисунок 15):Рисунок 15 — Отчет Общая сводка по Заселениям в БД «Гостиница».