Автор: Пользователь скрыл имя, 06 Апреля 2013 в 09:44, курсовая работа
При создании СУБД нужно четко знать:
- Задачи склада?
Склад занимается поставками товара различных фирм в торговые точки или фирменные магазины.
- Откуда берется товар?
Весь товар хранится на складе, куда его периодически завозят фирмы-производители.
- Кто покупает и реализует товар, полученный со склада?
Существуют клиенты – магазины или люди, которые реализуют товар за определенную цену (её клиент устанавливает в зависимости от дефицита товара или спроса на товар).
- Кто на складе занимается договорами?
Постановка задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Технический проект . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Программирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Руководство пользователя . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Руководство программиста . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Список использованой литератури . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
begin
FormSklad.QuerySection.Close;
FormSklad.QuerySection.SQL.
FormSklad.QuerySection.SQL.
FormSklad.QuerySection.SQL.
FormSklad.QuerySection.Open;
ComboBox3.Clear;
if not FormSklad.QuerySection.IsEmpty then
begin
FormSklad.QuerySection.First;
while not FormSklad.QuerySection.Eof do
begin
ComboBox3.Items.Add(FormSklad.
FormSklad.QuerySection.Next;
end;
ComboBox3.Text:=Razdel;
end;
end;
procedure TFormEditContract.
begin
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
ComboBox2.Clear;
if not FormSklad.QueryGeneralSklad.
begin
FormSklad.QueryGeneralSklad.
while not
FormSklad.QueryGeneralSklad.
begin
ComboBox2.Items.Add(FormSklad.
FormSklad.QueryGeneralSklad.
end;
ComboBox2.Text:=Naimenov;
end;
end;
procedure TFormEditContract.
begin
FormEditContract.Close;
end;
procedure TFormEditContract.
begin
ShowNowData;
ShowEnterprise;
ShowManufacture;
ShowSection;
ShowNameGoods;
Edit1.Text:=Kolvo;
ComboBox5.Text:=Oplacheno;
ComboBox6.Text:=Otgrugeno;
end;
procedure TFormEditContract.FormClose(
var Action: TCloseAction);
begin
FormContract.ShowContract;
end;
procedure TFormEditContract.
var goods,klient:string;kol:
begin
if (Edit1.Text='')or(Edit2.Text='
begin
MessageDlg('не все данные введены!',mtWarning,[mbOK],0);
exit;
end;
FormSklad.QuerySection.Close;
FormSklad.QuerySection.SQL.
FormSklad.QuerySection.SQL.
FormSklad.QuerySection.Open;
Razdel:=FormSklad.
FormSklad.QueryManufacture.
FormSklad.QueryManufacture.
FormSklad.QueryManufacture.
FormSklad.QueryManufacture.
Proizvodit:=FormSklad.
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
if FormSklad.QueryGeneralSklad.
begin
MessageDlg('Такого
товара не существует!',
exit;
end;
goods:=FormSklad.
kol:=StrToInt(Edit1.Text)-
if not (kol<FormSklad.
begin
MessageDlg('Недостаточно
данного товара на складе!',
FormSklad.ShowGeneralSklad;
exit;
end;
kol:=FormSklad.
FormSklad.QueryClients.Close;
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.Open;
klient:=FormSklad.
FormSklad.QueryContract.Close;
FormSklad.QueryContract.SQL.
FormSklad.QueryContract.SQL.
FormSklad.QueryContract.
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
Close;
FormSklad.ShowGeneralSklad;
FormContract.ShowContract;
end;
procedure TFormEditContract.
begin
Razdel:=ComboBox3.Items[
ShowNameGoods;
end;
procedure TFormEditContract.
begin
Proizvodit:=ComboBox1.Items[
FormSklad.QueryClients.Close;
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.Open;
Edit2.Text:=FormSklad.
end;
procedure TFormEditContract.
begin
Proizvodit:=ComboBox4.Items[
ShowSection;
ShowNameGoods;
end;
end.
Переменные и процедуры модуля
unit UnitClients;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls, DBCtrls;
type
TFormClients = class(TForm)
DBGridClients: TDBGrid;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
DBNavigator1: TDBNavigator;
procedure FormActivate(Sender: TObject);
procedure ShowClients;
procedure DBGridClientsCellClick(Column: TColumn);
procedure DBGridClientsKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormClients: TFormClients;
nowID:integer; {Хранит номер текущей записи}
implementation
uses UnitAddClient, UnitEditClient, UnitSklad;
{$R *.dfm}
{Процедура отображения таблицы <<Clients>>}
procedure TFormClients.ShowClients;
begin
FormSklad.QueryClients.Close;
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.Open;
DBGridClients.Fields[0].
if not FormSklad.QueryClients.IsEmpty then {если в результате запроса таблица не пуста}
nowID:=FormSklad.QueryClients.
end;
procedure TFormClients.FormActivate(
begin
ShowClients;
end;
procedure TFormClients.
begin
nowID:=FormSklad.QueryClients.
end;
procedure TFormClients.
Shift: TShiftState);
begin
nowID:=FormSklad.QueryClients.
end;
procedure TFormClients.BitBtn1Click(
begin
FormAddClient.ShowModal;{
end;
procedure TFormClients.BitBtn2Click(
begin
FormEditClient.ShowModal;{
end;
procedure TFormClients.BitBtn3Click(
begin
FormSklad.QueryContract.Close;
FormSklad.QueryContract.SQL.
FormSklad.QueryContract.SQL.
FormSklad.QueryContract.Open;
if FormSklad.QueryContract.
{Если клиент ничего не должен, то можно удалить его}
begin
MessageDlg('Невозможно
exit;
end;
if MessageDlg('Вы
уверенны, что хотите удалить
текущего клиента?',mtWarning,[
FormSklad.QueryClients.Close;
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.
ShowClients;
end;
end.
Переменные и процедуры модуля
unit UnitAddClient;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, UnitClients;
type
TFormAddClient = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
ComboBox1: TComboBox;
Label4: TLabel;
Edit3: TEdit;
Label5: TLabel;
ComboBox2: TComboBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure FormActivate(Sender: TObject);
procedure ShowStreets;
procedure ShowAgents;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormAddClient: TFormAddClient;
implementation
uses UnitSklad;
{$R *.dfm}
procedure TFormAddClient.ShowStreets;
begin
FormSklad.QueryStreets.Close;
FormSklad.QueryStreets.SQL.
FormSklad.QueryStreets.SQL.
FormSklad.QueryStreets.Open;
ComboBox1.Clear;
FormSklad.QueryStreets.First;
while not FormSklad.QueryStreets.Eof do
begin
ComboBox1.Items.Add(FormSklad.
FormSklad.QueryStreets.Next;
end;
ComboBox1.ItemIndex:=0;
end;
procedure TFormAddClient.ShowAgents;
begin
FormSklad.QueryAgents.Close;
FormSklad.QueryAgents.SQL.
FormSklad.QueryAgents.SQL.Add(
FormSklad.QueryAgents.Open;
ComboBox2.Clear;
FormSklad.QueryAgents.First;
while not FormSklad.QueryAgents.Eof do
begin
ComboBox2.Items.Add(FormSklad.
FormSklad.QueryAgents.Next;
end;
ComboBox2.ItemIndex:=0;
end;
procedure TFormAddClient.FormActivate(
begin
ShowStreets;
ShowAgents;
end;
procedure TFormAddClient.BitBtn1Click(
var str,ag:string;
begin
if (Edit1.Text='')or(Edit2.Text='
begin
MessageDlg('Не все данные введены!',mtWarning,[mbOK],0);
exit;
end;
FormSklad.QueryStreets.Close;
FormSklad.QueryStreets.SQL.
FormSklad.QueryStreets.SQL.
FormSklad.QueryStreets.Open;
str:=FormSklad.QueryStreets.
FormSklad.QueryAgents.Close;
FormSklad.QueryAgents.SQL.
FormSklad.QueryAgents.SQL.Add(
FormSklad.QueryAgents.Open;
ag:=FormSklad.QueryAgents.
FormSklad.QueryClients.Close;
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.
Close;
FormClients.ShowClients;
end;
procedure TFormAddClient.BitBtn2Click(
begin
FormAddClient.Close;
end;
end.
Переменные и процедуры модуля
unit UnitEditClient;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, UnitSklad;
type
TFormEditClient = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
ComboBox1: TComboBox;
Label4: TLabel;
Edit3: TEdit;
Label5: TLabel;
ComboBox2: TComboBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure ShowStreets;
procedure ShowAgents;
procedure ShowClients;
procedure FormActivate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormEditClient: TFormEditClient;
implementation
uses UnitClients;
{$R *.dfm}
procedure TFormEditClient.ShowStreets;
begin
FormSklad.QueryStreets.Close;
FormSklad.QueryStreets.SQL.
FormSklad.QueryStreets.SQL.
FormSklad.QueryStreets.Open;
ComboBox1.Clear;
FormSklad.QueryStreets.First;
while not FormSklad.QueryStreets.Eof do
begin
ComboBox1.Items.Add(FormSklad.
FormSklad.QueryStreets.Next;
end;
end;
procedure TFormEditClient.ShowAgents;
begin
FormSklad.QueryAgents.Close;
FormSklad.QueryAgents.SQL.
FormSklad.QueryAgents.SQL.Add(
FormSklad.QueryAgents.Open;
ComboBox2.Clear;
FormSklad.QueryAgents.First;
while not FormSklad.QueryAgents.Eof do
begin
ComboBox2.Items.Add(FormSklad.
FormSklad.QueryAgents.Next;
end;
end;
procedure TFormEditClient.ShowClients;
begin
Edit1.Text:=FormSklad.
Edit2.Text:=FormSklad.
ShowStreets;
ShowAgents;
ComboBox1.Text:=FormSklad.
Edit3.Text:=FormSklad.QueryCli
ComboBox2.Text:=FormSklad.
end;
procedure TFormEditClient.FormActivate(
begin
ShowClients;
end;
procedure TFormEditClient.BitBtn1Click(
var str,ag:string;
begin
if (Edit1.Text='')or(Edit2.Text='
begin
MessageDlg('Не все данные введены!',mtWarning,[mbOK],0);
exit;
end;
FormSklad.QueryStreets.Close;
FormSklad.QueryStreets.SQL.
FormSklad.QueryStreets.SQL.
FormSklad.QueryStreets.Open;
str:=FormSklad.QueryStreets.
FormSklad.QueryAgents.Close;
FormSklad.QueryAgents.SQL.
FormSklad.QueryAgents.SQL.Add(
FormSklad.QueryAgents.Open;
ag:=FormSklad.QueryAgents.
FormSklad.QueryClients.Close;
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.
Close;
FormClients.ShowClients;
end;
procedure TFormEditClient.BitBtn2Click(
begin
FormEditClient.Close;
end;
end.
Переменные и процедуры модуля
unit UnitEditAgent;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Grids, DBGrids, UnitSklad;
type
TFormEditAgent = class(TForm)
DBGrid1: TDBGrid;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
Label1: TLabel;
Edit1: TEdit;
procedure FormActivate(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormEditAgent: TFormEditAgent;
implementation
{$R *.dfm}
procedure TFormEditAgent.FormActivate(
begin
FormSklad.QueryAgents.SQL.
FormSklad.QueryAgents.SQL.Add(