СУБД Access является системой управления базами данных реляционного типа. Данные хранятся в такой базе в виде таблиц, строки (записи) которых состоят из наборов полей определенных типов. С каждой таблицей могут быть связаны индексы (ключи), задающие нужные пользователю порядки на множестве строк. Таблицы могут иметь однотипные поля (столбцы), и это позволяет устанавливать между ними связи, выполнять операции реляционной алгебры. Типичными операциями над базами данных являются определение, создание и удаление таблиц, модификация определений (структур, схем) существующих таблиц, поиск данных в таблицах по определенным критериям (выполнение запросов), создание отчетов о содержимом базы данных.
СУБД позволяет задавать типы данных и способы их хранения. Можно также задать критерии (условия), которые СУБД будет в дальнейшем использовать для обеспечения правильности ввода данных. В самом простом случае условие на значение должно гарантировать, что не будет введен случайно в числовое поле буквенный символ. Другие условия могут определять область или диапазоны допустимых значений вводимых данных.
MicrosoftAccess предоставляет максимальную свободу в задании типа данных (текст, числовые данные, даты, время, денежные значения, рисунки, звук, электронные таблицы). Можно задавать также форматы хранения представления этих данных при выводе на экран или печать. Для уверенности, что в базе хранятся только корректные значения, можно задать условия на значения различной степени сложности.
Так как MicrosoftAccess является современным приложением Windows, можно использовать в работе все возможности DDE (динамический обмен данными) и OLE (связь и внедрение объектов). DDE позволяет осуществлять обмен данными между Access и любым другим поддерживающим DDE приложением Windows. В MicrosoftAccess можно при помощи макросов или AccessBasic осуществлять динамический обмен данными с другими приложениями.
OLEявляется более изощренным средством Windows, которое позволяет установить связь с объектами другого приложения или внедрить какие-либо объекты в базу данных Access. Такими объектами могут быть картинки, диаграммы, электронные таблицы или документы из других поддерживающих OLE приложений Windows.
В MicrosoftAccess для обработки данных базовых таблиц используется мощный язык SQL (структурированный язык запросов). Используя SQLможно выделить из одной или нескольких таблиц необходимую для решения конкретной задачи информацию. Access значительно упрощает задачу обработки данных. Совсем не обязательно знать язык SQL. При любой обработке данных из нескольких таблиц Access использует однажды заданные связи между таблицами.
В MicrosoftAccess имеется также простое и в то же время богатое возможностями средство графического задания запроса – так называемый «запрос по образцу» (querybyexample), которое используется для задания данных, необходимых для решения некоторой задачи. Используя для выделения и перемещения элементов на экране стандартные приемы работы с мышью в Windows и несколько клавиш на клавиатуре, можно буквально за секунды построить довольно сложный запрос.
MicrosoftAccess спроектирован таким образом, что он может быть использован как в качестве самостоятельной СУБД на отдельной рабочей станции, так и в сети – в режиме «клиент-сервер». Поскольку в MicrosoftAccess к данным могут иметь доступ одновременно несколько пользователей, в нем предусмотрены надежные средства защиты и обеспечения целостности данных. Можно заранее указать, какие пользователи или группы пользователей могут иметь доступ к объектам (таблицам, формам, запросам) базы данных. MicrosoftAccess автоматически обеспечивает защиту данных от одновременной их корректировки разными пользователями. Access также опознает и учитывает защитные средства других подсоединенных к базе данных структур (таких, как базы данных Paradox, dBASE и SQL).
Практически все существующие СУБД имеют средства разработки приложений, которые могут использованы программистами или квалифицированными пользователями при создании процедур для автоматизации управления и обработки данных.
MicrosoftAccess предоставляет дополнительные средства разработки приложений, которые могут работать не только с собственными форматами данных, но и с форматами других наиболее распространенных СУБД. Возможно, наиболее сильной стороной Access является его способность обрабатывать данные электронных таблиц, текстовых файлов, файлов dBASE, Paradox, Btrieve, FoxPro и любой другой базы данных SQL, поддерживающей стандарт ODBE. Это означает, что можно использовать Access для создания такого приложения Windows, которое может обрабатывать данные, поступающие с сетевого сервера SQL или базы данных SQL на главной ЭВМ .
Все выше сказанное позволило остановить выбор на СУБД Access для постановки и решения задачи автоматизации процесса ведения и сбора информации в приложении.
После завершения загрузки информационное окно сообщает, что можно продолжить работу с информационной системой нажав кнопку продолжить.
Рисунок 6 - Главное окно программы.
После загрузки базы данных выходит главное окно программы «Информационная система учета заявок ЗАО «ЦРТ Сервис», где диспетчер ведет контроль неисполненных заявок а также прием от клиентов на выполнение сервисного обслуживания или ремонта.
Если диспетчеру требуется просмотреть информацию по заявке, ему необходимо выделить соответствующую заявку курсором мыши и нажать кнопку просмотр на панели управления. Также доступ к просмотру можно получить из контекстного меню или из главного маню файл.
В режиме просмотра заявки диспетчеру не удастся изменить данные по ошибке либо намеренно. Выход из режима осуществляется кнопкой выход.
Если поступила заявка от клиента диспетчеру необходимо нажать кнопку добавить на панели управления, контекстного меню или главного меню. Номер заявки ИС подставляет автоматически, Агент выбирается из выпадающего списка также как Исполнитель. Далее нажать добавить заявку. После нажатия кнопки добавить окно закроется и новая заявка появится в главном окне.
Если в процессе работы необходимо внести корректировки в заявку в программе предусмотрено редактирование заявки, доступ к которому можно получить из панели управления, контекстного меню или главного меню. По нажатию кнопки редактировать окно закроется и заявка обновиться.
Когда заявка исполнена инженер выполнявший задание передает диспетчеру акт выполненных работ установленного образца, где указана причина поломки, расход комплектующих и запасных частей, а также подписанный ответственным лицом от заказчика. На основании чего диспетчер снимает заявку и переводит её в архив, установив дату выполнения. Доступ к окну статистика можно получить из главного меню.
В окне статистика также можно просматривать, редактировать, экспортировать выбранные заявки в MicrosoftExcel а также фильтровать их по определенным диапазонам и критериям.
Структура разрабатываемой системы имеет вид представленный на рисунке 19.
Разрабатываемая информационная система имеет одну таблицу БД, она же и входит в один из основных модулей статистика. В данной таблице все поступающие заявки регистрируются без возможности удаления. Структура таблицы представлена в таблице 4.
Таблица 4 – Структура таблицы базы данных.
Наименование поля | Тип | Назначение | |
Номер | Счетчик | Идентификатор заявки | |
Дата | Дата/время | Дата поступления заявки | |
Агент | Текстовый | Юридическое лицо клиента | |
Подразделение | Текстовый | Подразделение юр.лица от которого поступила заявка | |
Оборудование | Текстовый | Тип оборудования | |
Серийный № | Текстовый | Серийный номер оборудования | |
Неисправность | Текстовый | Вид неисправности | |
Исполнитель | Текстовый | Исполнитель заявки | |
Дата выполнения | Дата/время | Дата выполнения заявки | |
Результат | Логический | Статус заявки |
Фрагмент листинга программного кода представлен ниже. Полностью листинг программного кода приведен в приложении А.
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ADODB, DB, StdCtrls, Grids, DBGrids, Buttons, ComCtrls, ExtCtrls, Menus;
type
TForm6 = class(TForm)
ADOConnection1: TADOConnection;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ADOQuery1: TADOQuery;
Panel1: TPanel;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
Label1: TLabel;
Label2: TLabel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
Excell1: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
SpeedButton6: TSpeedButton;
ADOQuery2: TADOQuery;
GroupBox1: TGroupBox;
ComboBox1: TComboBox;
GroupBox2: TGroupBox;
ComboBox2: TComboBox;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
uses Unit1, Unit12, Unit3, Unit13, Unit14, Unit15;
{$R *.dfm}
procedure TForm6.Button1Click(Sender: TObject);
begin
close;
end;
procedure TForm6.Button2Click(Sender: TObject);
begin
AdoQuery1.Filtered:=False;
ADOQuery1.Filter:='Дата>='+DateToStr(DateTimePicker1.Date)+ ' and Дата<='+DateToStr(DateTimePicker2.Date);
ADOQuery1.Filtered:=True;