Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая Шарипов Е.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
18.37 Mб
Скачать

Глава II Практика Построение базы данных в ms Access

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

Рисунок 1

По аналогии создадим остальные таблицы:

  1. Продавцы (Ключевое поле-Код продавца) Рисунок 2

  2. Поставка (Ключевое поле-Код товара) Рисунок 3

  3. Чек (Ключевое поле – Код) Рисунок 4

Рисунок 2

Рисунок 3

Рисунок 4

Теперь откроем таблицы в режиме таблиц и заполним их.

Рисунок 5 Таблица чеков

Рисунок 6 Таблица товаров

Рисунок 7 Таблица поставки

Рисунок 8 Таблица Продавцов

Построение визуальной части в Delphi

Создадим главную форму, в которой будут содержаться компоненты ADOConnection, ADOTable, DataSource, MainMenu, PopupMenu, StatusBar и кнопки открывающие другие формы, но перед этим создадим схему связей всех форм, которая в данном случае будет выглядеть так:

Рисунок 9

Для начала расположим элементы на форму и дадим названия (Рисунок10):

Рисунок 10

Элементы ADOTable и DataSource добавляются попарно на каждую таблицу.Для создания Главного и всплывающего меню делаем двойной щелчок мыши на элемент MainMenu Popupmenu и в появившемся окне добавляем кнопки и переименовываем их (смотри Рисунок 11 и 12). Для указания команд, необходимо щелкнуть мышью на созданную вами кнопку 2 раза в режиме добавления кнопок.

Рисунок 11 Создание кнопок в Главном меню

Рисунок 12 Создание кнопок в Всплывающем меню

Для того что бы кнопки открывали другие формы необходимо прописать formХ.show; где Х-это число от 2 до 7 обозначающее номер формы.

Для того что бы снова не писать повторяющиеся команды в кнопках расположенных на главном и всплывающем меню, укажем ссылки на кнопки уже созданные ранее. То есть для кнопки из меню напишем buttonХclick(buttonХ) где Х номер кнопки на которую мы ссылаемся.

Что бы создать кнопку выхода, которая будет спрашивать об уверенности пользователя закрыть программу необходимо поместить в кнопку данный код: «If MessageDlg('Вы действительно хотите выйти?',mtConfirmation,[mbYes,mbNo],0)= mrYes then Form1.Close;» Она будет находится на каждой форме. (Рисунок 13)

Рисунок 13

Для создания часов в StatusBar и краткой информаций о создателе. Разделим его на 3 раздела. Для этого щелкаем по параметру Panels и добавляем новые панели (Рисунок 14). Для того что бы создать часы и информацию в панель, нужно ввести в код для таймера:

«statusbar1.Panels[0].Text:=datetostr(now);

statusbar1.Panels[1].Text:=timetostr(now);

Statusbar1.panels[2].text:='Шарипов Есет Бау 11-6'»

Рисунок 14

Установка защиты паролем. В данной работе создана схема защиты паролем путем скрывания большинства кнопок и раскрыть их можно только вписав код и нажав «Вход» после чего должно выйти сообщение либо об ошибке либо о Входе в программу (или верном пароле) после чего поле ввода пароля и кнопка проверки становятся недоступны. Для создания такой защиты необходимо скрыть все нужные нам кнопки при создании формы путем вписывания кода в раздел «при создании формы Form Create. Скрытие кнопок делается двумя путями: либо устанавливается параметр visible false либо вписав команду X.hide где Х-кнопка которую мы скрываем. После ввода верного пароля мы указываем либо команду X.Show либо изменяем параметр visible true проверка пароля делается вот так: «if edit1.Text='240594»

Как выглядит работа защиты паролем:

Рисунок 15 До ввода пароля

Рисунок 16 Неверный пароль

Рисунок 17 Верный пароль

Соединение Базы Данных

ADOConnection: двойной щелчок по пиктограмме элемента выбираем параметр Microsoft Jet 4.0 OLE DB Provider и в следующей вкладке указываем путь к базе(Рисунок 18):

Рисунок 18

Создав пары ADOTable-DataSource, соединяем Table с Connection, Source с Table указав в Table имя нужной нам таблице как на рисунках 19 и 20

Рисунок 19 Рисунок 20

Создание запросов поисков и вывод таблиц

Расставляем DBGrid, Edit, Button1-2,DBNavigation,Label на форму (Рисунок 20)

Рисунок 21 Таблица Продавцы

Соединяем DBGrrid и DBNavigation с DataSource

А в процедуру «при изменении Edit» впишем

«if edit1.text=''then showmessage('необходимо ввести хотя бы 1 символ')

else begin

dbgrid1.visible:=true;

form1.Adotable2.active:=true;

form1.Adotable2.locate('ФИО Продавца',Edit1.text,[loPartialKey]);»

Получится, что при вводе Фамилии начинается поиск в таблице, если есть совпадение то курсор автоматически наводится на искомую строку(Рисунок 22):

Рисунок 22

А в случае если после становится пустым (Рисунок 23)

Рисунок 23

по аналогии создаем другие формы с таблицами и поиском

Эта форма отличается тем, что в ней присутствует выбор между двумя параметрами поиска, который реализован через ComboBox

«if edit1.text=''then showmessage('необходимо ввести хотя бы 1 символ')

else begin

dbgrid1.visible:=true;

form1.Adotable3.active:=true;

if combobox1.itemindex=0 then

form1.Adotable3.locate('ФИО Продавца',Edit1.text,[loPartialKey])

else form1.Adotable3.locate('Наименование',Edit1.text,[loPartialKey]);» (Рисунок 24)

Рисунок 24 Отчет по покупкам

Рисунок 25 Список товаров

Рисунок 26 Список Чеков

Отличие поставки в том, что дополнительно указывается количество и цена указанного товара, а так же суммы на которую он был закуплен (Рисунок29). Для создания подсчета суммы необходимо добавить 2 DBEdit и 1 Label соединить DBEdit с таблицей через DataSource Рисунок 27 и 28

Рисунок 27 Рисунок 28

И прописать «label2.Caption:=inttostr(strtoint(dbedit1.text)*strtoint(dbedit2.text)); » при изменении одного из DBEdit

Рисунок 29 Поставка

Рисунок 30. О программе

Заключение

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

При выполнении курсовой работы были изучены технологии связывания MS Access со средой программирования Delphi.