Склад строительных материалов

Автор: Пользователь скрыл имя, 06 Апреля 2013 в 09:44, курсовая работа

Краткое описание

При создании СУБД нужно четко знать:
- Задачи склада?
Склад занимается поставками товара различных фирм в торговые точки или фирменные магазины.
- Откуда берется товар?
Весь товар хранится на складе, куда его периодически завозят фирмы-производители.
- Кто покупает и реализует товар, полученный со склада?
Существуют клиенты – магазины или люди, которые реализуют товар за определенную цену (её клиент устанавливает в зависимости от дефицита товара или спроса на товар).
- Кто на складе занимается договорами?

Оглавление

Постановка задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Технический проект . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Программирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Руководство пользователя . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Руководство программиста . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Список использованой литератури . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

Файлы: 1 файл

Записка к курсовой работе по базам данных.doc

— 776.00 Кб (Скачать)

  FormSklad.QueryAgents.Open;

  DBGrid1.Fields[0].Visible:=false;

  Edit1.Text:=FormSklad.QueryAgents.FieldValues['ФИО_Агента'];

end;

 

procedure TFormEditAgent.DBGrid1CellClick(Column: TColumn);

begin

  Edit1.Text:=FormSklad.QueryAgents.FieldValues['ФИО_Агента'];

end;

 

procedure TFormEditAgent.DBGrid1KeyUp(Sender: TObject; var Key: Word;

  Shift: TShiftState);

begin

  Edit1.Text:=FormSklad.QueryAgents.FieldValues['ФИО_Агента'];

end;

 

procedure TFormEditAgent.BitBtn1Click(Sender: TObject);

begin

  FormSklad.QueryAgents.Close;

  FormSklad.QueryAgents.SQL.Clear;

  FormSklad.QueryAgents.SQL.Add('INSERT INTO Agents (NameAgent) VALUES ('''+Edit1.Text+''')');

  FormSklad.QueryAgents.ExecSQL;

  FormActivate(Sender);

end;

 

procedure TFormEditAgent.BitBtn2Click(Sender: TObject);

var nowID:integer;

begin

  if MessageDlg('Вы уверенны, что хотите изменить данные агента?',mtWarning,[mbOK,mbCancel],0)=mrCancel then exit;

  nowID:=FormSklad.QueryAgents.FieldValues['IDAgent'];

  FormSklad.QueryAgents.Close;

  FormSklad.QueryAgents.SQL.Clear;

  FormSklad.QueryAgents.SQL.Add('UPDATE Agents SET NameAgent='''+Edit1.Text+''' WHERE IDAgent='''+IntToStr(nowID)+'''');

  FormSklad.QueryAgents.ExecSQL;

  FormActivate(Sender);

  FormSklad.ShowGeneralSklad;

end;

 

procedure TFormEditAgent.BitBtn3Click(Sender: TObject);

var nowID:integer;

begin

  nowID:=FormSklad.QueryAgents.FieldValues['IDAgent'];

  FormSklad.QueryGeneralSklad.Close;

  FormSklad.QueryGeneralSklad.SQL.Clear;

  FormSklad.QueryGeneralSklad.SQL.Add('SELECT IDAgent FROM Agents WHERE NameAgent='''+IntToStr(nowID)+'''');

  FormSklad.QueryGeneralSklad.Open;

  if not FormSklad.QueryGeneralSklad.IsEmpty then

    begin

      FormSklad.ShowGeneralSklad;

      MessageDlg('Невозможно удалить агента!'+#13+'Сначала  необходимо удалить записи, содержащие  данного агента!',mtWarning,[mbOK],0);

      exit;

    end;

  FormSklad.ShowGeneralSklad;

  if MessageDlg('Вы  уверенны, что хотите удалить  данные об агенте?',mtWarning,[mbOK,mbCancel],0)=mrCancel then exit;

  FormSklad.QueryAgents.Close;

  FormSklad.QueryAgents.SQL.Clear;

  FormSklad.QueryAgents.SQL.Add('DELETE FROM Agents WHERE IDAgent='''+IntToStr(nowID)+'''');

  FormSklad.QueryAgents.ExecSQL;

  FormActivate(Sender);

  FormSklad.ShowGeneralSklad;

end;

 

procedure TFormEditAgent.BitBtn4Click(Sender: TObject);

begin

FormEditAgent.Close;

end;

end.

 

Переменные  и процедуры модуля

unit UnitEditManufacture;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, Buttons, Grids, DBGrids, UnitSklad;

 

type

  TFormEditManufacture = class(TForm)

    Label1: TLabel;

    DBGrid1: TDBGrid;

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    BitBtn3: TBitBtn;

    BitBtn4: TBitBtn;

    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

  FormEditManufacture: TFormEditManufacture;

 

implementation

 

{$R *.dfm}

 

procedure TFormEditManufacture.FormActivate(Sender: TObject);

begin

  FormSklad.QueryManufacture.Close;

  FormSklad.QueryManufacture.SQL.Clear;

  FormSklad.QueryManufacture.SQL.Add('SELECT IDManufacture, NameManufacture Производители FROM Manufacture ORDER BY NameManufacture');

  FormSklad.QueryManufacture.Open;

  DBGrid1.Fields[0].Visible:=false;

  Edit1.Text:=FormSklad.QueryManufacture.FieldValues['Производители'];

end;

 

procedure TFormEditManufacture.DBGrid1CellClick(Column: TColumn);

begin

  Edit1.Text:=FormSklad.QueryManufacture.FieldValues['Производители'];

end;

 

procedure TFormEditManufacture.DBGrid1KeyUp(Sender: TObject; var Key: Word;

  Shift: TShiftState);

begin

  Edit1.Text:=FormSklad.QueryManufacture.FieldValues['Производители'];

end;

 

procedure TFormEditManufacture.BitBtn1Click(Sender: TObject);

begin

  FormSklad.QueryManufacture.Close;

  FormSklad.QueryManufacture.SQL.Clear;

  FormSklad.QueryManufacture.SQL.Add('INSERT INTO Manufacture (NameManufacture) VALUES ('''+Edit1.Text+''')');

  FormSklad.QueryManufacture.ExecSQL;

  FormActivate(Sender);

end;

 

procedure TFormEditManufacture.BitBtn2Click(Sender: TObject);

var nowID:integer;

begin

  if MessageDlg('Вы уверенны, что хотите ихменить текущего производителя',mtWarning,[mbOK,mbCancel],0)=mrCancel then exit;

  nowID:=FormSklad.QueryManufacture.FieldValues['IDManufacture'];

  FormSklad.QueryManufacture.Close;

  FormSklad.QueryManufacture.SQL.Clear;

  FormSklad.QueryManufacture.SQL.Add('UPDATE Manufactures SET NameManufacture='''+Edit1.Text+''' WHERE IDManufacture='''+IntToStr(nowID)+'''');

  FormSklad.QueryManufacture.ExecSQL;

  FormActivate(Sender);

  FormSklad.ShowGeneralSklad;

end;

 

procedure TFormEditManufacture.BitBtn3Click(Sender: TObject);

var nowID:integer;

begin

  nowID:=FormSklad.QueryManufacture.FieldValues['IDManufacture'];

  FormSklad.QueryGeneralSklad.Close;

  FormSklad.QueryGeneralSklad.SQL.Clear;

  FormSklad.QueryGeneralSklad.SQL.Add('SELECT IDGoods FROM Storehouse WHERE Manufacture='''+IntToStr(nowID)+'''');

  FormSklad.QueryGeneralSklad.Open;

  if not FormSklad.QueryGeneralSklad.IsEmpty then

    begin

      FormSklad.ShowGeneralSklad;

      MessageDlg('Невозможно удалить производителя!'+#13+'Сначала  необходимо удалить записи, содержащие  данного пользователя!',mtWarning,[mbOK],0);

      exit;

    end;

  FormSklad.ShowGeneralSklad;

  if MessageDlg('Вы  уверенны, что хотите удалить текущего производителя?',mtWarning,[mbOK,mbCancel],0)=mrCancel then exit;

  FormSklad.QueryManufacture.Close;

  FormSklad.QueryManufacture.SQL.Clear;

  FormSklad.QueryManufacture.SQL.Add('DELETE FROM Manufacture WHERE IDManufacture='''+IntToStr(nowID)+'''');

  FormSklad.QueryManufacture.ExecSQL;

  FormActivate(Sender);

  FormSklad.ShowGeneralSklad;

end;

procedure TFormEditManufacture.BitBtn4Click(Sender: TObject);

begin

FormEditManufacture.Close;

end;

end.

 

Переменные  и процедуры модуля

unit UnitEditSection;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, Buttons, Grids, DBGrids, UnitSklad;

 

type

  TFormEditSection = class(TForm)

    Label1: TLabel;

    DBGrid1: TDBGrid;

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    BitBtn3: TBitBtn;

    BitBtn4: TBitBtn;

    Edit1: TEdit;

    procedure DBGrid1CellClick(Column: TColumn);

    procedure DBGrid1KeyUp(Sender: TObject; var Key: Word;

      Shift: TShiftState);

    procedure FormActivate(Sender: TObject);

    procedure BitBtn1Click(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

    procedure BitBtn3Click(Sender: TObject);

    procedure BitBtn4Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  FormEditSection: TFormEditSection;

 

implementation

 

{$R *.dfm}

 

procedure TFormEditSection.DBGrid1CellClick(Column: TColumn);

begin

  Edit1.Text:=FormSklad.QuerySection.FieldValues['Разделы'];

end;

 

procedure TFormEditSection.DBGrid1KeyUp(Sender: TObject; var Key: Word;

  Shift: TShiftState);

begin

  Edit1.Text:=FormSklad.QuerySection.FieldValues['Разделы'];

end;

 

procedure TFormEditSection.FormActivate(Sender: TObject);

begin

  FormSklad.QuerySection.Close;

  FormSklad.QuerySection.SQL.Clear;

  FormSklad.QuerySection.SQL.Add('SELECT IDSection, NameSection Разделы FROM Section ORDER BY NameSection');

  FormSklad.QuerySection.Open;

  DBGrid1.Fields[0].Visible:=false;

  Edit1.Text:=FormSklad.QuerySection.FieldValues['Разделы'];

end;

 

procedure TFormEditSection.BitBtn1Click(Sender: TObject);

begin

  FormSklad.QuerySection.Close;

  FormSklad.QuerySection.SQL.Clear;

  FormSklad.QuerySection.SQL.Add('INSERT INTO Section (NameSection) VALUES ('''+Edit1.Text+''')');

  FormSklad.QuerySection.ExecSQL;

  FormActivate(Sender);

end;

 

procedure TFormEditSection.BitBtn2Click(Sender: TObject);

var nowID:integer;

begin

  if MessageDlg('Вы уверенны, что хотите изменить текущий раздел?',mtWarning,[mbOK,mbCancel],0)=mrCancel then exit;

  nowID:=FormSklad.QuerySection.FieldValues['IDSection'];

  FormSklad.QuerySection.Close;

  FormSklad.QuerySection.SQL.Clear;

  FormSklad.QuerySection.SQL.Add('UPDATE Section SET NameSection='''+Edit1.Text+''' WHERE IDSection='''+IntToStr(nowID)+'''');

  FormSklad.QuerySection.ExecSQL;

  FormActivate(Sender);

  FormSklad.ShowGeneralSklad;

end;

 

procedure TFormEditSection.BitBtn3Click(Sender: TObject);

var nowID:integer;

begin

  nowID:=FormSklad.QuerySection.FieldValues['IDSection'];

  FormSklad.QueryGeneralSklad.Close;

  FormSklad.QueryGeneralSklad.SQL.Clear;

  FormSklad.QueryGeneralSklad.SQL.Add('SELECT IDGoods FROM GeneralSklad WHERE Section='''+IntToStr(nowID)+'''');

  FormSklad.QueryGeneralSklad.Open;

  if not FormSklad.QueryGeneralSklad.IsEmpty then

    begin

      FormSklad.ShowGeneralSklad;

      MessageDlg('Невозможно удалить раздел!'+#13+'Сначала  необходимо удалить записи, содержащие  данный раздел!',mtWarning,[mbOK],0);

      exit;

    end;

  FormSklad.ShowGeneralSklad;

  if MessageDlg('Вы  уверенны, что хотите удалить текущий раздел?',mtWarning,[mbOK,mbCancel],0)=mrCancel then exit;

  FormSklad.QuerySection.Close;

  FormSklad.QuerySection.SQL.Clear;

  FormSklad.QuerySection.SQL.Add('DELETE FROM Section WHERE IDSection='''+IntToStr(nowID)+'''');

  FormSklad.QuerySection.ExecSQL;

  FormActivate(Sender);

  FormSklad.ShowGeneralSklad;

end;

 

procedure TFormEditSection.BitBtn4Click(Sender: TObject);

begin

FormEditSection.Close;

end;

end.

 

Переменные  и процедуры модуля

unit UnitEditStreet;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, UnitSklad, StdCtrls, Buttons, Grids, DBGrids;

 

type

  TFormEditStreet = class(TForm)

    Label1: TLabel;

    DBGrid1: TDBGrid;

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    BitBtn3: TBitBtn;

    BitBtn4: TBitBtn;

    Edit1: TEdit;

    procedure DBGrid1CellClick(Column: TColumn);

    procedure DBGrid1KeyUp(Sender: TObject; var Key: Word;

      Shift: TShiftState);

    procedure FormActivate(Sender: TObject);

    procedure BitBtn1Click(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

    procedure BitBtn3Click(Sender: TObject);

    procedure BitBtn4Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  FormEditStreet: TFormEditStreet;

 

implementation

 

{$R *.dfm}

 

procedure TFormEditStreet.DBGrid1CellClick(Column: TColumn);

begin

  Edit1.Text:=FormSklad.QueryStreets.FieldValues['Улицы'];

end;

 

procedure TFormEditStreet.DBGrid1KeyUp(Sender: TObject; var Key: Word;

  Shift: TShiftState);

begin

  Edit1.Text:=FormSklad.QueryStreets.FieldValues['Цлицы'];

end;

 

procedure TFormEditStreet.FormActivate(Sender: TObject);

begin

  FormSklad.QueryStreets.SQL.Clear;

  FormSklad.QueryStreets.SQL.Add('SELECT IDStreet, NameStreet Улицы FROM Streets ORDER BY NameStreet');

  FormSklad.QueryStreets.Open;

  DBGrid1.Fields[0].Visible:=false;

  Edit1.Text:=FormSklad.QueryStreets.FieldValues['Улицы'];

end;

 

 

procedure TFormEditStreet.BitBtn1Click(Sender: TObject);

begin

  FormSklad.QueryStreets.Close;

  FormSklad.QueryStreets.SQL.Clear;

  FormSklad.QueryStreets.SQL.Add('INSERT INTO Streets (NameStreet) VALUES ('''+Edit1.Text+''')');

  FormSklad.QueryStreets.ExecSQL;

  FormActivate(Sender);

end;

 

procedure TFormEditStreet.BitBtn2Click(Sender: TObject);

var nowID:integer;

begin

  if MessageDlg('Вы уверенны, что хотите изменить текущую улицу?',mtWarning,[mbOK,mbCancel],0)=mrCancel then exit;

  nowID:=FormSklad.QueryStreets.FieldValues['IDStreet'];

  FormSklad.QueryStreets.Close;

  FormSklad.QueryStreets.SQL.Clear;

  FormSklad.QueryStreets.SQL.Add('UPDATE Streets SET NameStreet='''+Edit1.Text+''' WHERE IDStreet='''+IntToStr(nowID)+'''');

  FormSklad.QueryStreets.ExecSQL;

  FormActivate(Sender);

  FormSklad.ShowGeneralSklad;

end;

 

procedure TFormEditStreet.BitBtn3Click(Sender: TObject);

var nowID:integer;

begin

  nowID:=FormSklad.QueryStreets.FieldValues['IDStreet'];

  FormSklad.QueryGeneralSklad.Close;

  FormSklad.QueryGeneralSklad.SQL.Clear;

  FormSklad.QueryGeneralSklad.SQL.Add('SELECT IDClient FROM Clients WHERE Street='''+IntToStr(nowID)+'''');

  FormSklad.QueryGeneralSklad.Open;

  if not FormSklad.QueryGeneralSklad.IsEmpty then

    begin

      FormSklad.ShowGeneralSklad;

      MessageDlg('Невозможно удалить улицу!'+#13+'Сначала  необходимо удалить записи, содержащие данную улицу!',mtWarning,[mbOK],0);

      exit;

    end;

  FormSklad.ShowGeneralSklad;

  if MessageDlg('Вы  уверенны, что хотите удалить  текущую улицу?',mtWarning,[mbOK,mbCancel],0)=mrCancel then exit;

  FormSklad.QueryStreets.Close;

  FormSklad.QueryStreets.SQL.Clear;

  FormSklad.QueryStreets.SQL.Add('DELETE FROM Streets WHERE IDStreet='''+IntToStr(nowID)+'''');

  FormSklad.QueryStreets.ExecSQL;

  FormActivate(Sender);

  FormSklad.ShowGeneralSklad;

end;

 

procedure TFormEditStreet.BitBtn4Click(Sender: TObject);

begin

FormEditStreet.Close;

end;

end.

 

Переменные  и процедуры модуля

unit UnitDolgClient;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, Grids, DBGrids, UnitSklad;

 

type

  TFormDolgClient = class(TForm)

    DBGrid1: TDBGrid;

    procedure FormActivate(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  FormDolgClient: TFormDolgClient;

 

implementation

 

{$R *.dfm}

 

procedure TFormDolgClient.FormActivate(Sender: TObject);

var  i:integer;

     a:array [1..1000] of integer; {Массив сумм долга клиента}

     s:string;

begin

  {Создание  списка клиентов-должников}

  FormSklad.QueryClients.Close;

  FormSklad.QueryClients.SQL.Clear;

  FormSklad.QueryClients.SQL.Add('SELECT DISTINCT Client FROM Contract WHERE Pay=False');

  FormSklad.QueryClients.Open;

  FormSklad.QueryClients.First;

  i:=0;  s:=' (';

  while not FormSklad.QueryClients.Eof do

    begin

      i:=i+1;

      a[i]:=FormSklad.QueryClients.FieldByName('Client').AsInteger;

      s:=s+IntToStr(a[i])+', ';

      FormSklad.QueryClients.Next;

    end;

  s:=copy(s,1,length(s)-2);

  s:=s+') ';

  {Формирование  таблицы должников с суммами  задолженности}

  FormSklad.QueryClients.Close;

  FormSklad.QueryClients.SQL.Clear;

  FormSklad.QueryClients.SQL.Add('SELECT b.Enterprise Предприниматель, SUM(c.CountGoods*a.PriceTwo) Долг FROM GeneralSklad as a, Contract as c, Clients as b WHERE c.Goods=a.IDGoods and b.IDClient=c.Client and c.Client IN'+s+' and c.Pay=False GROUP BY b.Enterprise');

  FormSklad.QueryClients.Open;

  FormSklad.ShowGeneralSklad;

end;

end.

 

 

Переменные  и процедуры модуля

unit UnitPrintSklad;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, WordXP, OleServer, DB, DBTables, StdCtrls, Mask, DBCtrls,

  Buttons, ComCtrls, ComObj, ExcelXP, ActiveX;

 

type

  TFormPrintSklad = class(TForm)

    DataSourceGeneralSklad: TDataSource;

    QueryGeneralSklad: TQuery;

    WordApplication1: TWordApplication;

    WordDocument1: TWordDocument;

    BitBtn1: TBitBtn;

    QueryGeneralSkladIDGoods: TIntegerField;

    QueryGeneralSkladNameGoods: TStringField;

    QueryGeneralSkladSection: TIntegerField;

    QueryGeneralSkladManufacture: TIntegerField;

    QueryGeneralSkladPriceOne: TFloatField;

    QueryGeneralSkladPriceTwo: TFloatField;

    QueryGeneralSkladCountGoods: TIntegerField;

    QueryGeneralSkladCodeGoods: TStringField;

    Label1: TLabel;

    WordFont1: TWordFont;

    Edit1: TEdit;

    Label2: TLabel;

    WordParagraphFormat1: TWordParagraphFormat;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    Label7: TLabel;

    Edit2: TEdit;

    Edit3: TEdit;

    Edit4: TEdit;

    Label8: TLabel;

    BitBtn2: TBitBtn;

    procedure FormCreate(Sender: TObject);

    procedure BitBtn1Click(Sender: TObject);

    procedure WordApplication1WindowDeactivate(ASender: TObject;

      const Doc: _Document; const Wn: Window);

    procedure BitBtn2Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

 

var

  FormPrintSklad: TFormPrintSklad;

 

Информация о работе Склад строительных материалов