В данной работе были созданы следующие запросы:
Параметрические:
Рис. 9 Запрос "Исходящие по филиалу"
Рис. 10 Код запроса "Исходящие по филиалу"
Рис. 11 Запрос "Входящие по филиалу"
Рис. 12 Код запроса "Входящие по филиалу"
Рис. 13 Запрос "Исходящие по сотруднику"
Рис. 14 Код запроса "Исходящие по сотруднику"
Рис. 15 Запрос "Входящие по сотруднику"
Рис. 16 Код запроса "Входящие по сотруднику"
Была создана АИС "Учёт" при помощи языка SQL, выводящая информацию о филиалах,
сотрудниках, входящих и исходящих документах.
В данной курсовой работе используется среда программирования Delphi 2010.
Для создания приложения используются компоненты ADOConnection, ADOTable, ADOStoredProc, расположенные на вкладке ADO.
ADOTable - предназначен для создания набора данных.
ADOStoredProc - предназначен для исполнения хранимой процедуры сервера БД. Для этого он имеет свойство ProcedureName и методы Open и ЕхсесРгос.
Для разработки приложения используются компоненты ADOConnection, ADOTable, ADOStoredProc и DataSource.
ADOConnection - предназначен для привязки БД к приложению.
ADOTable - предназначен для привязки таблиц к приложению.
ADOStoredProc - предназначен для привязки запроса к приложению.
На форму добавляем компонент DBGrid, отражающий запросы и таблицы. В его свойстве DataSource выбираем DataSource1.
Загружая приложение, нам представляется форма с расположенными на ней объектами (Рисунок 17):
Главное меню, поле для просмотра таблиц, поля для выполнения поиска,
сортировки и фильтрации, так же навигатор для удобства пользования таблицами.
Рис. 17 Форма "Учёт"
автоматизация приложение информационный учет
Чтобы просмотреть имеющиеся таблицы, выбирается вкладка
"Таблицы" из главного меню (Рисунок 18).
Рис. 18 Вкладка "Таблицы"
После чего на экране отображается выбранная таблица (Рисунок 19).
Рис. 19 Таблица "Заказы"
Чтобы выполнить запрос, выбирается во вкладке "Запросы" из
главного меню интересующий запрос (Рисунок 20).
Рис. 20 Запрос "Входящие по филиалам"
Если запрос параметрический, то на экране сначала появится окно для ввода
параметра. После ввода параметра результат отображается в поле для просмотра
(Рисунок 21).
Рис. 21 Запрос "Исходящие по филиалам" (ввод параметра)
Рис. 22 Запрос "Исходящие по филиалам" (результат)
Для выполнения поиска по имеющимся данным таблицы, заполняются поля
"Поле" и "Значение", после чего осуществляется поиск и
курсор переместится на искомую запись (Рисунок 23).
Рис. 23 Организация поиска по таблице
Для осуществления фильтрации заполняется поле "Поле" и
выбирается вид сортировки, после чего результат появится в поле для просмотра
(Рисунок 24).
Рис. 24 Сортировка "по возрастанию"
Фильтрация осуществляется способом аналогичным способу осуществления
поиска, но в поле для просмотра отобразится только отфильтрованные записи
(Рисунок 25).
Рис. 25 Фильтрация
В главном меню имеется вкладка "О программе", в которой описаны
сведения о программе (Рисунок 26).
Рис. 26 О программе
Чтобы выйти из программы в главном меню нажимается кнопка
"Выход".
Целью проекта является разработка программного решения для автоматизации работ сотрудника центра выплат с целью повышения эффективности его работы.
Объектом рассмотрения данного проекта является систематизация работы сотрудника центра выплат. Автоматизация рабочего места, обеспечивает снижение трудовых и временных затрат на составление отчетов, на поиск, хранение информации. Поскольку разрабатываемая система предназначена для работы сотрудника центра выплат, она должна быть многофункциональной, продуманной и простой в эксплуатации.
Цель курсовой работы достигнута путем решения следующих задач:
- хранение информации по документации в единой базе данных;
- быстрый поиск по справочникам;
- оперативная работа сотрудника с данными, хранящимися в базе;
- составления отчетов по конкретно определенным заданным параметрам.
В качестве среды разработки была выбрана СУБД MS SQL Server, приложение создано в Delphi 2010.
Практическое значение настоящей работы состоит в проектировании базы
данных для центра выплат, она позволяет освободить сотрудника от выполнения
лишних повторяющихся операций, обеспечивает высокий уровень в поиске
необходимой информации. С помощью базы данных значительно сокращается время на
обработку запросов и систематизацию всех сведений по входящей и исходящей
документации.
. Астахова И.Ф., Толстобров А.П., Мельников В.М., Фертиков В.В. СУБД. Язык SQL в примерах и задачах. - М.: Физматлит, 2009. - 168 с.
. Ачкасов В.Ю. Программирование баз данных в Delphi. - Самара: СамГТУ, 2010. - 255 с.
. Баженова И.Ю. Основы проектирования приложений баз данных. Учебное пособие. - М.: ИНТУИТ, 2009. - 325 с.
. Баканов М.В., Романова В.В., Крюкова Т.П. Базы данных. Системы управления базами данных. Лабораторный практикум. - Кемерово: Кемеровский технологический институт пищевой промышленности, 2010. - 70 с.
. Голицына О.Л., Максимов Н.В., Попов И.И. Базы данных: учебное пособие. - М.: ФОРУМ, ИНФРА-М, 2012. - 399 с.
. Дунаев В.В. Базы данных. Язык SQL для студента: учебник. - СПб.: БХВ-Петербург, 2012. - 312 с.
. Жилинский А.А. Самоучитель Microsoft SQL Server 2008. - СПб.: БХВ-Петербург, 2009. - 240 с.
. Карпова И.П. Базы данных: учебное пособие. - СПб.: Питер, 2013. - 240 с.
. Кириллов В.В., Громов Г.Ю. Введение в реляционные базы данных: учебное пособие. - СПб.: БХВ-Петербург, 2012. - 464 с.
. Кузин А.В., Левонисова С.В. Базы данных: учебное пособие. - М.: Академия, 2012. - 320 с.
. Маркин А.В., Аникеев С.В. Разработка приложений баз данных в Delphi: учебное пособие. - М.: Диалог-МИФИ, 2013. - 160 с.
. Осипов Д.Л. Базы данных и Delphi: Теория и практика: учебник. - СПб.: BHV-CПб, 2011. - 733 с.
. Советов Б.Я., Цехановский В.В., Чертовский В.Д. Базы данных: теория и практика: учебное пособие. - М.: Юрайт, 2013. - 463 с.
. Тернстрем Т., Вебер Э., Хотек М. Microsoft SQL
Server 2008. Разработка баз данных. Учебный курс Microsoft. - М.: Русская
Редакция, 2010. - 496 с.
Приложение 1
Таблицы БД
Рисунок 1 Таблица Филиалы
Рисунок 2 Таблица Исходящие документы
Рисунок 3 Таблица Сотрудники
Рисунок 4 Таблица Входящие документы
Приложение 2
Код приложения в Delphi
unit Учет;
interface, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Menus, ADODB, DB, ExtCtrls, DBCtrls, Grids, DBGrids,;= class(TForm): TDBGrid;: TDBNavigator;: TDataSource;: TADOTable;: TADOQuery;: TADOStoredProc;: TMainMenu;: TGroupBox;: TGroupBox;: TGroupBox;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TComboBox;: TButton;: TButton;: TButton;: TButton;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TADOConnection;: TADOQuery;: TADOQuery;: TADOQuery;: TImage;: TLabel;N13Click(Sender: TObject);N2Click(Sender: TObject);N3Click(Sender: TObject);N4Click(Sender: TObject);N5Click(Sender: TObject);N7Click(Sender: TObject);N8Click(Sender: TObject);N9Click(Sender: TObject);N10Click(Sender: TObject);Button1Click(Sender: TObject);N12Click(Sender: TObject);Button3Click(Sender: TObject);Button2Click(Sender: TObject);Button4Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm1;Справка;
{$R *.dfm}TForm1.Button1Click(Sender: TObject);.DataSet.Locate(Edit1.Text,Edit2.Text,[]); messageDlg('Невозможно выполнить данный поиск', mtError, [mbOK], 0);
end;;TForm1.Button2Click(Sender: TObject);.DataSet.Filtered:=false;.Enabled:=true;.Enabled:=false;;TForm1.Button3Click(Sender: TObject);s: string;.DataSet.Filter:=''+Edit3.Text+' LIKE ' + #39 + '%' + Edit4.Text + '%' + #39;.DataSet.Filtered:=true;.Enabled:=true;.Enabled:=false;('Невозможно выполнить данный фильтр', mtError, [mbOK], 0);;;TForm1.Button4Click(Sender: TObject);k: string;Combobox1.Text='По возрастанию' then k:='ASC ';Combobox1.Text='По убыванию' then k:='DESC ';ADOTable1.Active=true then ADOTable1.Sort:=' ['+Edit5.Text+'] '+k;ADOQuery1.Active=true then ADOQuery1.Sort:=' ['+Edit5.Text+'] '+k;
messageDlg('Невозможно выполнить данную сортировку', mtError, [mbOK], 0);
end;;TForm1.N10Click(Sender: TObject);:string;.Active:=false;4:=inputbox('Ввод параметра', 'Введите ФИО сотрудника', '');
ADOQuery4.Parameters.ParamByName('a').Value:=a4;.Active:=True;.DataSet:=ADOQuery4;.DataSource:=DataSource1;.Caption:='Запрос "Входящие по сотрудникам"';;TForm1.N12Click(Sender: TObject);.Show;;TForm1.N13Click(Sender: TObject);.Close;;TForm1.N2Click(Sender: TObject);.Active:=false;.Active:=False;.TableName:='Filial';.Active:=True;.DataSet:=ADOTable1;.DataSource:=DataSource1;.Caption:='Таблица "Филиалы"';;TForm1.N3Click(Sender: TObject);.Active:=False;.TableName:='Sotrud';.Active:=True;.DataSet:=ADOTable1;.DataSource:=DataSource1;.Caption:='Таблица "Сотрудники"';;TForm1.N4Click(Sender: TObject);.Active:=False;.TableName:='Vhod';.Active:=True;.DataSet:=ADOTable1;.DataSource:=DataSource1;.Caption:='Таблица "Входящие документы"';;TForm1.N5Click(Sender: TObject);.Active:=False;.TableName:='Ishod';.Active:=True;.DataSet:=ADOTable1;.DataSource:=DataSource1;.Caption:='Таблица "Исходящие документы"';;TForm1.N7Click(Sender: TObject);:string;.Active:=false;1:=inputbox('Ввод параметра', 'Введите название филиала', '');
ADOQuery1.Parameters.ParamByName('a').Value:=a1;.Active:=false;.Active:=True;.DataSet:=ADOQuery1;.DataSource:=DataSource1;1.Caption:='Запрос "Исходящие по филиалам"';
end;TForm1.N8Click(Sender: TObject);:string;.Active:=false;2:=inputbox('Ввод параметра', 'Введите название филиала', '');
ADOQuery2.Parameters.ParamByName('a').Value:=a2;.Active:=True;.DataSet:=ADOQuery2;.DataSource:=DataSource1;.Caption:='Запрос "Входящие по филиалам"';;TForm1.N9Click(Sender: TObject);:string;.Active:=false;3:=inputbox('Ввод параметра', 'Введите ФИО сотрудника', '');
ADOQuery3.Parameters.ParamByName('a').Value:=a3;.Active:=True;.DataSet:=ADOQuery3;.DataSource:=DataSource1;.Caption:='Запрос "Исходящие по сотрудникам"';;.