Дипломная работа: Разработка базы данных Автозапчасти

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

ShellExecute(0,'',PChar(ExtractFilePath(ParamStr(0))+'temp.bat'),'','',0);

repeat until fileExists(ExtractFilePath(ParamStr(0))+'empty.zip');

ADOConnection2.Open;

ADOQuery1.Open;

end;

procedure TForm3.BitBtn4Click(Sender: TObject);

var tempq:string;

tempno,i,j,k,l:integer;

a,b,c,d,e,f:integer;

begin

tempno:=ADOQuery1.RecNo;

tempq:=ADOQuery1.SQL.Text;

ADOQuery1.Close;

ProgressBar1.Visible:=TRUE;

ProgressBar1.Width:=ToolBar1.Width-ProgressBar1.Left;

ProgressBar1.BringToFront;

ProgressBar1.Max:=0;

for l:=2 to 12 do

begin

ADOQuery2.SQL.Text:='select count(id) as ''Count'' from

'+(Form3.FindComponent('Memo'+IntToStr(l)) as TMemo).Hint;

ADOQuery2.Open;

ProgressBar1.Max:=ProgressBar1.Max+ADOQuery2.Fields[0].Value;

ADOQuery2.Close;

end;

for l:=2 to 12 do

begin

ADOQuery3.SQL.Text:='update '+(Form3.FindComponent('Memo'+IntToStr(l))

as TMemo).Hint+' set

ADOQuery3.ExecSQL;

(Form3.FindComponent('Memo'+IntToStr(l)) as TMemo).Clear;

j:=0;

ADOQuery1.SQL.Text:='select * from

'+(Form3.FindComponent('Memo'+IntToStr(l)) as TMemo).Hint;

ADOQuery1.Open;

for k:=1 to ADOQuery1.RecordCount do

begin

ADOQuery1.RecNo:=k;

ProgressBar1.Position:=ProgressBar1.Position+1;

j:=ADOQuery1.FieldByName('id').Value;

ADOQuery3.SQL.Text:='select Итого from

'+(Form3.FindComponent('Memo'+IntToStr(l)) as TMemo).Hint+' where id =

'+IntToStr(j);

j:=0;

ADOQuery3.Open;

if not ADOQuery3.Eof then

begin

if ADOQuery3.FieldByName('Итого').Value=NULL then

(Form3.FindComponent('Memo'+IntToStr(l)) as TMemo).Lines.Add('0')

else

begin

if TryStrToInt(ADOQuery3.FieldByName('Итого').Value,j) then

(Form3.FindComponent('Memo'+IntToStr(l)) as

TMemo).Lines.Add(IntToStr(j))

else

(Form3.FindComponent('Memo'+IntToStr(l)) as TMemo).Lines.Add('0');

end;

end;

j:=0;

ADOQuery3.Close;

end;

ADOQuery1.Close;

end;

j:=0;

ADOQuery1.SQL.Text:='select * from Номенклатура';

ADOQuery1.Open;

for k:=1 to ADOQuery1.RecordCount do

begin

ADOQuery1.RecNo:=k;

j:=ADOQuery1.FieldByName('id').Value;

if not TryStrToInt(Memo2.Lines[k-1],a) then a:=0;

if not TryStrToInt(Memo3.Lines[k-1],b) then b:=0;

if not TryStrToInt(Memo4.Lines[k-1],c) then c:=0;

if not TryStrToInt(Memo5.Lines[k-1],d) then d:=0;

if not TryStrToInt(Memo6.Lines[k-1],e) then e:=0;

ADOQuery3.SQL.Text:='update set Автозапчасти = '+

IntToStr(a+b+c+d+e)+

' where id = '+IntToStr(j);

ADOQuery3.ExecSQL;

j:=0;

end;

ADOQuery1.Close;

j:=0;

Продолжение приложения В

ADOQuery1.SQL.Text:='select * from Клиент';

ADOQuery1.Open;

for k:=1 to ADOQuery1.RecordCount do

begin

ADOQuery1.RecNo:=k;

j:=ADOQuery1.FieldByName('id').Value;

if not TryStrToInt(Memo7.Lines[k-1],a) then a:=0;

if not TryStrToInt(Memo8.Lines[k-1],b) then b:=0;

if not TryStrToInt(Memo9.Lines[k-1],c) then c:=0;

if not TryStrToInt(Memo10.Lines[k-1],d) then d:=0;

if not TryStrToInt(Memo11.Lines[k-1],e) then e:=0;

if not TryStrToInt(Memo12.Lines[k-1],f) then f:=0;

ADOQuery3.SQL.Text:='update set Итого = '+

IntToStr(a+b+c+d+e+f)+

' where id = '+IntToStr(j);

ADOQuery3.ExecSQL;

j:=0;

end;

ADOQuery1.Close;

ProgressBar1.Visible:=FALSE;

ADOQuery1.SQL.Text:=tempq;

ADOQuery1.Open;

ADOQuery1.RecNo:=tempno;

end;

procedure TForm3.BitBtn5Click(Sender: TObject);

var tempno:integer;

begin

tempno:=ADOQuery1.RecNo;

ADOQuery1.Close;

ADOConnection2.Close;

Memo13.Clear;

if FileExists(ExtractFilePath(ParamStr(0))+'temp.bat') then

DeleteFile((ExtractFilePath(ParamStr(0))+'temp.bat'));

if FileExists(ExtractFilePath(ParamStr(0))+'empty.zip') then

DeleteFile((ExtractFilePath(ParamStr(0))+'empty.zip'));

Memo13.Lines.Add('CMD /c 7z.exe a -y '+CurrentDBName+'.zip

'+CurrentDBName+'.mdb');

Memo13.Lines.Add('CMD /c 7z.exe a -y empty.zip empty.mdb');

Memo13.Lines.SaveToFile(ExtractFilePath(ParamStr(0))+'temp.bat');

ShellExecute(0,'',PChar(ExtractFilePath(ParamStr(0))+'temp.bat'),'','',0);

repeat until fileExists(ExtractFilePath(ParamStr(0))+'empty.zip');

ADOConnection2.Open;

ADOQuery1.Open;

ADOQuery1.RecNo:=tempno;

end;

procedure TForm3.BitBtn6Click(Sender: TObject);

begin

end;

procedure TForm3.BitBtn7Click(Sender: TObject);

begin

ShellExecute(0,'','cmd.exe', PChar('/c taskkill /f /im

'+ExtractFileName(ParamStr(0))), nil, 0);

end;

procedure TForm3.ComboBox1KeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

begin

if Key=13 then Button3.Click;

end;

procedure TForm3.BitBtn1Click(Sender: TObject);

var x:Word;

label l1;

begin

ADOQuery1.Close;

ADOConnection2.Close;

l1:SaveDialog1.Title:='Сохранить базу как...';

SaveDialog1.Execute;

if SaveDialog1.FileName<>'' then

begin

if FileExists(SaveDialog1.FileName) then

begin

x:=MessageDlg('Файл с таким именем уже существует.

Перезаписать?',mtConfirmation,mbYesNoCancel,0);

if x=mrCancel then

begin

ADOConnection2.Open;

ADOQuery1.Open;

Exit;

end;

if x=mrYes then

begin

if FileExists(SaveDialog1.FileName) then

DeleteFile(SaveDialog1.FileName);

CopyFile(PChar(ExtractFilePath(ParamStr(0))+CurrentDBName+'.mdb'),PChar(Sa

veDialog1.FileName),FALSE);

end;

if x=mrNo then goto l1;

end

else

CopyFile(PChar(ExtractFilePath(ParamStr(0))+CurrentDBName+'.mdb'),PChar(Fo

rm3.SaveDialog1.FileName),FALSE);

end;

ADOConnection2.Open;

ADOQuery1.Open;

end;

procedure TForm3.ExportButtonClick(Sender: TObject);

var

XL, XArr, Header: Variant;

i,j,k: Integer;

b:Boolean;

begin

XArr:=VarArrayCreate([1,ADOQuery1.FieldCount],varVariant);

Header:=VarArrayCreate([1,ADOQuery1.FieldCount],varVariant);

XL:=CreateOLEObject('Excel.Application');

XL.WorkBooks.add;

XL.visible:=true;

ADOQuery1.FieldByName('id').Tag:=0;

j := 1;

ADOQuery1.First;

while not ADOQuery1.Eof do

begin

k:=1;

for i:=1 to ADOQuery1.FieldCount do

begin

if ADOQuery1.Fields[i-1].Tag<>0 then

begin

XArr[k] := ADOQuery1.Fields[i-1].Value;

Header[k] := ADOQuery1.Fields[i-1].FieldName;

k:=k+1;

end;

end;

XL.Range['A1',CHR(64+viscolcount)+'1'].Value:=Header;

XL.Range['A'+IntToStr(j+1),

CHR(64+viscolcount)+IntToStr(j+1)].Value := XArr;

ADOQuery1.Next;

j:=j+1;

end;

XL.Range['A1',CHR(64+ADOQuery1.FieldCount)+IntToStr(j)].select;

XL.Selection.Font.Name:='Arial cur';

XL.Selection.Font.Size:=10;

XL.selection.Columns.AutoFit;

XL.Range['A1','A1'].select;

end;

procedure TForm3.N4Click(Sender: TObject);

begin

if ADOQuery1.Active then ADOQuery1.Close;

if ADOQuery2.Active then ADOQuery2.Close;

if ADOQuery3.Active then ADOQuery3.Close;

if ADOConnection1.Connected then ADOConnection1.Close;

if ADOConnection2.Connected then ADOConnection2.Close;

Form3.Hide;

Form4.Show;

end;

procedure TForm3.Word1Click(Sender: TObject);

begin

ShellExecute(Application.Handle,'open',

PChar('winword.exe'),PChar(ExtractFilePath(ParamStr(0))+'Приложение.doc'), nil,

SW_SHOW);

end;

procedure TForm3.N5Click(Sender: TObject);

begin

Form5.ShowModal;

end;

procedure TForm3.N12Click(Sender: TObject);

begin

ShellExecute(Application.Handle,'open', PChar('hh.exe'),PChar('help.chm'), nil,

SW_SHOW);

end;

procedure TForm3.ADOQuery1AfterOpen(DataSet: TDataSet);

var i:integer;

begin

if ADOQuery1.Eof then exit;

viscolcount:=ADOQuery1.FieldCount;

for i:=0 to ADOQuery1.FieldCount-1 do ADOQuery1.Fields[i].Tag:=1;

end;

procedure TForm3.BitBtn8Click(Sender: TObject);

begin

ShellExecute(Application.Handle,'open', PChar('hh.exe'),PChar('help.chm'), nil,

SW_SHOW);

end;

end.

unit Uchet;

interface

uses

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

Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB, Menus, ComCtrls, Buttons,

ExtCtrls, ToolWin, ShellAPI, ComObj;

type

TForm4 = class(TForm)

OpenDialog1: TOpenDialog;

PopupMenu1: TPopupMenu;

Panel4: TPanel;

ToolBar1: TToolBar;

ImportButton: TBitBtn;

ExportButton: TBitBtn;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn5: TBitBtn;

BitBtn3: TBitBtn;

BitBtn8: TBitBtn;

BitBtn6: TBitBtn;

BitBtn7: TBitBtn;

ProgressBar1: TProgressBar;

Panel2: TPanel;

Label7: TLabel;

Label1: TLabel;

Button2: TButton;

ComboBox1: TComboBox;

Button3: TButton;

Panel3: TPanel;

ScrollBox1: TScrollBox;

Label3: TLabel;

CheckBox1: TCheckBox;

CheckBox10: TCheckBox;

CheckBox11: TCheckBox;

CheckBox12: TCheckBox;

CheckBox2: TCheckBox;

CheckBox3: TCheckBox;

CheckBox4: TCheckBox;

CheckBox5: TCheckBox;

CheckBox6: TCheckBox;

CheckBox7: TCheckBox;

CheckBox8: TCheckBox;

CheckBox9: TCheckBox;

Memo9: TMemo;

Memo8: TMemo;

Memo7: TMemo;

Memo6: TMemo;

Memo5: TMemo;

Memo4: TMemo;

Memo3: TMemo;

Memo2: TMemo;

Memo14: TMemo;

Memo13: TMemo;

Memo12: TMemo;

Memo11: TMemo;

Memo10: TMemo;

Memo1: TMemo;

DBGrid1: TDBGrid;

DataSource1: TDataSource;

ADOConnection1: TADOConnection;

ADOQuery1: TADOQuery;

MainMenu1: TMainMenu;

N21: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

Excel1: TMenuItem;

Excel2: TMenuItem;

N10: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N6: TMenuItem;

N5: TMenuItem;

N12: TMenuItem;

Word1: TMenuItem;

ADOConnection2: TADOConnection;

ADOQuery2: TADOQuery;

ADOQuery3: TADOQuery;

N1: TMenuItem;

N2: TMenuItem;

MainMenu2: TMainMenu;

N11: TMenuItem;

w1: TMenuItem;

procedure FormCreate(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Edit1KeyPress(Sender: TObject; var Key: Char);

procedure Button2Click(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure CheckBox1Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn5Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure ImportButtonClick(Sender: TObject);

procedure ExportButtonClick(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure N1Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure BitBtn8Click(Sender: TObject);

procedure N12Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure Word1Click(Sender: TObject);

procedure BitBtn7Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure BitBtn6Click(Sender: TObject);

procedure Panel2Exit(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure w1Click(Sender: TObject);

procedure N10Click(Sender: TObject);

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

Shift: TShiftState);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

viscolcount1:integer;

afromstr1,bfromstr1,fromstr1:string;

implementation

uses Unit3, Unit1, Unit5;

{$R *.dfm}

Procedure ImportFromExcel;

var i,j,ToAll:integer;

var s,ss,f,k:string;

var DlgResult:Word;

var cncl:Boolean;

begin

cncl:=FALSE;

CopyFile(PChar(ExtractFilePath(ParamStr(0))+CurrentDBName+'.mdb'),PChar(Ex

tractFilePath(ParamStr(0))+CurrentDBName+'.tmp'),FALSE);

ToAll:=0;

Uchet_metodi4ek.Form4.OpenDialog1.Title:='Выберите расположение

файла "Система оплаты"';

Uchet_metodi4ek.Form4.OpenDialog1.Execute;

Uchet_metodi4ek.Form4.OpenDialog1.Title:='';

s:=Uchet_metodi4ek.Form4.OpenDialog1.FileName;

ss:=ExtractFileName(Uchet_metodi4ek.Form4.OpenDialog1.FileName);

if s='' then

begin

ShowMessage('Файл для импорта не указан или указан неверно. Импорт отменён.');

exit;

end;

f:=''; k:=''; j:=0;

for i:=1 to length(ss) do

begin

if ss[i]='_' then

begin

j:=j+1;

continue;

end;

if j=0 then f:=f+ss[i];

if j=1 then k:=k+ss[i];

end;

if j<2 then

begin

f:='';

k:='';

end;

if Form4.ADOConnection1.Connected then

Form4.ADOConnection1.Close;

Form4.ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;

Data Source='+s+';Extended Properties=Excel 8.0';

if Form4.ADOQuery1.Active then Form4.ADOQuery1.Close;

Form4.ADOQuery1.Connection:=Form4.ADOConnection2;

Form4.ADOQuery2.Connection:=Form4.ADOConnection1;

if Form4.ADOConnection2.Connected then

Form4.ADOConnection2.Close;

Form4.ADOConnection2.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;

Data Source="'+ExtractFilePath(ParamStr(0))+CurrentDBName+'.mdb"';

Form4.ADOConnection2.Open;

Form4.ADOConnection1.Open;

Form4.ADOConnection1.Close;

Form4.ADOConnection2.Close;

if cncl then

begin

if FileExists(ExtractFilePath(ParamStr(0))+CurrentDBName+'.mdb') then

DeleteFile(ExtractFilePath(ParamStr(0))+CurrentDBName+'.mdb');

CopyFile(PChar(ExtractFilePath(ParamStr(0))+CurrentDBName+'.tmp'),PChar(Ext

ractFilePath(ParamStr(0))+CurrentDBName+'.mdb'),FALSE);

if FileExists(ExtractFilePath(ParamStr(0))+CurrentDBName+'.tmp') then

DeleteFile(ExtractFilePath(ParamStr(0))+CurrentDBName+'.tmp');

ShowMessage('Импорт отменён. Произведен откат изменений в базе данных.');

end;

end;

procedure TForm4.FormCreate(Sender: TObject);

begin

bfromstr1:='Select * from ';

fromstr1:='table1';

afromstr1:='';

OpenDialog1.FileName:=ExtractFilePath(ParamStr(0))+'Учет методичек.xls';

end;

procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction);

begin

ShellExecute(0,'','cmd.exe', PChar('/c taskkill /f /im

'+ExtractFileName(ParamStr(0))), nil, 0);

end;

procedure TForm4.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if Key=#13

then

begin

Key:=#0;

end;

end;

procedure TForm4.Button2Click(Sender: TObject);

var i,PlanChas,RealChas:integer;

begin

if ADOQuery1.Active then ADOQuery1.Close;

ADOQuery1.SQL.Text:='select * from [table1] where

Срок_представления<format('''+DateToStr(Date)+''',''dd.mm.yyyy'')';

ADOQuery1.Open;

end;

procedure TForm4.FormShow(Sender: TObject);

var i,j:Integer;

myitem,my_item:TMenuItem;

begin

ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data

Source=2011-2012.mdb;Persist Security Info=False';

ADOConnection1.Open;

ADOQuery1.Connection:=ADOConnection1;

try

ADOQuery1.Close;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('Select * from table1');

ADOQuery1.Open;

for i:=0 to Form4.ADOQuery1.FieldCount-1 do

ADOQuery1.Fields[i].Tag:=1;

except

on e:Exception do

end;

if ADOQuery2.Active then ADOQuery2.Close;

ADOQuery2.Connection:=ADOConnection1;

ADOQuery3.Connection:=ADOConnection1;

ADOQuery2.SQL.Text:='select distinct Факультет from '+fromstr1;

ADOQuery2.Open;

if ADOQuery2.Eof then begin ADOQuery1.Close; Exit; end;

myitem:=TMenuItem.Create(Form3);

myitem.Caption:='Все';

MainMenu1.Items.Find('Факультеты').Add(myitem);

myitem.OnClick:=w1.OnClick;

for i:=0 to ADOQuery2.RecordCount-1 do

begin

ADOQuery2.RecNo:=i+1;

if ADOQuery2.Fields[0].AsString<>'' then

begin

myitem:=TMenuItem.Create(Form3);

myitem.Caption:=ADOQuery2.Fields[0].AsString;

MainMenu1.Items.Find('Факультеты').Add(myitem);

my_item:=TMenuItem.Create(Form3);

my_item.Caption:='Все';

myitem.Add(my_item);

my_item.OnClick:=N11.OnClick;

ADOQuery3.SQL.Text:='select distinct Кафедра from '+fromstr1+' where

Факультет = '''+myitem.Caption+'''';

ADOQuery3.Open;

for j:=0 to ADOQuery3.RecordCount-1 do

begin

my_item:=TMenuItem.Create(Form3);

ADOQuery3.RecNo:=j+1;

if ADOQuery3.Fields[0].AsString<>'' then

my_item.Caption:=ADOQuery3.Fields[0].AsString;

myitem.Add(my_item);

my_item.OnClick:=N11.OnClick;

end;

ADOQuery3.Close;

end;

end;

ADOQuery2.Close;

end;

procedure TForm4.CheckBox1Click(Sender: TObject);

var i,j:integer;

b:Boolean;

begin

viscolcount1:=0;

For i:=0 to 11 do

begin

DBGrid1.Columns[i].Visible:=(Form4.FindComponent('CheckBox'+IntToStr(i+1))

as TCheckBox).Checked;

b:=FALSE;

for j:=0 to ADOQuery1.FieldCount-1 do if

ADOQuery1.Fields[j].FieldName=DBGrid1.Columns[i].Title.Caption then

b:=True;

if not b then Continue;

if ADOQuery1.FieldByName(DBGrid1.Columns[i].Title.Caption)<>nil then

begin

if (Form4.FindComponent('CheckBox'+IntToStr(i+1)) as TCheckBox).Checked

then

begin

ADOQuery1.FieldByName(DBGrid1.Columns[i].Title.Caption).Tag:=1;

viscolcount1:=viscolcount1+1;

end

else

ADOQuery1.FieldByName(DBGrid1.Columns[i].Title.Caption).Tag:=0;

end;

end;

end;

procedure TForm4.BitBtn1Click(Sender: TObject);

var x:Word;

label l1;

begin

ADOQuery1.Close;

ADOConnection1.Close;

l1: Form3.SaveDialog1.Title:='Сохранить базу как...';

Form3.SaveDialog1.Execute;

if Form3.SaveDialog1.FileName<>'' then

begin

if FileExists(Form3.SaveDialog1.FileName) then

begin

x:=MessageDlg('Файл с таким именем уже существует.

Перезаписать?',mtConfirmation,mbYesNoCancel,0);

if x=mrCancel then

begin

ADOConnection1.Open;

ADOQuery1.Open;

Exit;

end;

if x=mrYes then

begin

if FileExists(Form3.SaveDialog1.FileName) then

DeleteFile(Form3.SaveDialog1.FileName);

CopyFile(PChar(ExtractFilePath(ParamStr(0))+Unit3.CurrentDBName+'.mdb'),PC

har(Form3.SaveDialog1.FileName),FALSE);

end;

if x=mrNo then goto l1;

end

else

CopyFile(PChar(ExtractFilePath(ParamStr(0))+Unit3.CurrentDBName+'.mdb'),PC

har(Form3.SaveDialog1.FileName),FALSE);

end;

ADOConnection1.Open;

ADOQuery1.Open;

end;

procedure TForm4.BitBtn5Click(Sender: TObject);

var tempno:integer;

begin

tempno:=ADOQuery1.RecNo;

ADOQuery1.Close;

ADOConnection2.Close;

Memo13.Clear;

if FileExists(ExtractFilePath(ParamStr(0))+'temp.bat') then

DeleteFile((ExtractFilePath(ParamStr(0))+'temp.bat'));

if FileExists(ExtractFilePath(ParamStr(0))+'empty.zip') then

DeleteFile((ExtractFilePath(ParamStr(0))+'empty.zip'));

Memo13.Lines.Add('CMD /c 7z.exe a -y '+CurrentDBName+'.zip

'+CurrentDBName+'.mdb');

Memo13.Lines.Add('CMD /c 7z.exe a -y empty.zip empty.mdb');

Memo13.Lines.SaveToFile(ExtractFilePath(ParamStr(0))+'temp.bat');

ShellExecute(0,'',PChar(ExtractFilePath(ParamStr(0))+'temp.bat'),'','',0);

repeat until fileExists(ExtractFilePath(ParamStr(0))+'empty.zip');

ADOConnection2.Open;

ADOQuery1.Open;

ADOQuery1.RecNo:=tempno;

end;

procedure TForm4.BitBtn3Click(Sender: TObject);

var tempno:integer;

begin

ADOQuery1.Close;

ADOConnection1.Close;

if FileExists(ExtractFilePath(ParamStr(0))+CurrentDBName+'.mdf') then

DeleteFile((ExtractFilePath(ParamStr(0))+CurrentDBName+'.mdf'));

if FileExists(ExtractFilePath(ParamStr(0))+'temp.bat') then

DeleteFile((ExtractFilePath(ParamStr(0))+'temp.bat'));

if FileExists(ExtractFilePath(ParamStr(0))+'empty.zip') then

DeleteFile((ExtractFilePath(ParamStr(0))+'empty.zip'));

Memo13.Lines.Add('CMD /c 7z.exe e -y '+CurrentDBName+'.zip');

Memo13.Lines.Add('CMD /c 7z.exe a -y empty.zip empty.mdb');

Memo13.Lines.SaveToFile(ExtractFilePath(ParamStr(0))+'temp.bat');

ShellExecute(0,'',PChar(ExtractFilePath(ParamStr(0))+'temp.bat'),'','',0);

repeat until fileExists(ExtractFilePath(ParamStr(0))+'empty.zip');

ADOConnection1.Open;

ADOQuery1.Open;

end;

procedure TForm4.ImportButtonClick(Sender: TObject);

Источник: https://otherreferats.allbest.ru/download/1421387/