procedure TFormSaisMvtEmp.BtnCreerClick(Sender: TObject);
var
SaisOk: Boolean;
NoNewOp:Integer;
NoNewHistOp:Integer;
i:Integer;
IdOpTyp:Integer;
IdSupTyp:Integer;
begin
SaisOk:=true;
if(SelNature.Text='Choisissez...') OR (SelNature.Text='') then SaisOk:=false;
if(SelNatSup.Text='Choisissez...') OR (SelNatSup.Text='') then SaisOk:=false;
if(SaisNatRef.Text='') then SaisOk:=false;
if(SaisNoOp.Text='') then SaisOk:=false;
if(SaisOk=true) then
begin
if(StrToInt(SaisNoOp.Text)<=StrToInt(DerNoOp)) then
begin
Application.MessageBox('No déjà utilisé: rectification automatique!', 'Alerte Utilisateur');
NoNewOp:=StrToInt(DerNoOp);
NoNewOp:=NoNewOp+1;
SaisNoOp.Text:=IntToStr(NoNewOp);
end;
//++++++++++++++++++++++++++++++Enregistrement dans la Table operations
if DataModule1.SQLQuery1.Active then
DataModule1.SQLQuery1.Close;
DataModule1.SQLQuery1.SQL.Clear;
DataModule1.SQLQuery1.SQL.Add(' INSERT INTO eoperations (IdOp, IdOpTyp, IdSupTyp, RefSup, DateCTP, DateValid, DateSaisie, DateEffet, Observations) ');
DataModule1.SQLQuery1.SQL.Add(' VALUES (:Chp1i, :Chp2i, :Chp3i, :Chp4s, :Chp5d, :Chp6d, :Chp7d, :Chp8d, :Chp9b); ');
//Détermination Nature Opération
for i:=0 To SelNature.Items.Count-1 do
if(SelNature.Text=FormSaisMvtEmp.SelNature.Items[i]) then
IdOpTyp:=i;
//Détermination Id Type Support
for i:=0 To SelNatSup.Items.Count-1 do
if(SelNatSup.Text=FormSaisMvtEmp.SelNatSup.Items[i]) then
IdSupTyp:=i;
//Paramètres de la Requête
DataModule1.SQLQuery1.ParamByName('Chp1i').AsInteger := NoNewOp;
DataModule1.SQLQuery1.ParamByName('Chp2i').AsInteger := IdOpTyp;
DataModule1.SQLQuery1.ParamByName('Chp3i').AsInteger := IdSupTyp;
DataModule1.SQLQuery1.ParamByName('Chp4s').AsString := SaisNatRef.Text;
DataModule1.SQLQuery1.ParamByName('Chp5d').AsDate := SelDateCPT.Date;
DataModule1.SQLQuery1.ParamByName('Chp6d').AsDate := SelDateValid.Date;
DataModule1.SQLQuery1.ParamByName('Chp7d').AsDate := SelDateSais.Date;
DataModule1.SQLQuery1.ParamByName('Chp8d').AsDate := SelDateEffet.Date;
DataModule1.SQLQuery1.ParamByName('Chp9b').AsString := Observations.Text;
//Changement de User et modification de la table
DataModule1.SQLConnection1.Connected := false;
DataModule1.SQLConnection1.UserName := 'LugesAdm';
DataModule1.SQLConnection1.Password := 'LugesAdm';
DataModule1.SQLConnection1.Connected := true;
//Exécution de la Requête
DataModule1.SQLQuery1.ExecSQL;
//++++++++++++++++++++++++++++++Enregistrement dans la Table Historique
NoNewHistOp:=StrToInt(DerNoHistOp);
NoNewHistOp:=NoNewHistOp+1;
if DataModule1.SQLQuery1.Active then
DataModule1.SQLQuery1.Close;
DataModule1.SQLQuery1.SQL.Clear;
//DataModule1.SQLQuery1.SQL.Add('INSERT INTO ehistocreaop (IdEvt,IdItem,Date,Heure,Domaine,User,Profil,Table) VALUES (:Chp1i, :Chp2i, :Chp3d, :Chp4t, :Chp5s, :Chp6s, :Chp7s, :Chp8s);');
DataModule1.SQLQuery1.SQL.Add('INSERT INTO ehistocreaop (IdEvt) VALUES (:Chp1i);');
DataModule1.SQLQuery1.ParamByName('Chp1i').AsInteger := NoNewHistOp;
//DataModule1.SQLQuery1.ParamByName('Chp2i').AsInteger := NoNewOp;
//DataModule1.SQLQuery1.ParamByName('Chp3d').AsDate := Date;
//DataModule1.SQLQuery1.ParamByName('Chp4t').AsString := FormatDateTime('hh:nn:ss', Time);
//DataModule1.SQLQuery1.ParamByName('Chp5s').AsString := 'DGFIP';
//DataModule1.SQLQuery1.ParamByName('Chp6s').AsString := UserEnCours;
//DataModule1.SQLQuery1.ParamByName('Chp7s').AsString := 'AdmTemp';
//DataModule1.SQLQuery1.ParamByName('Chp8s').AsString := 'eoperations';
//Changement de User et modification de la table
DataModule1.SQLConnection1.Connected := false;
DataModule1.SQLConnection1.UserName := 'LugesAdm';
DataModule1.SQLConnection1.Password := 'LugesAdm';
DataModule1.SQLConnection1.Connected := true;
try
DataModule1.SQLQuery1.Active:=false;
DataModule1.SQLQuery1.ExecSQL;
//DataModule1.SQLQuery1.Active:=true;
DataModule1.SQLConnection1.Connected := false;
except
on e : exception do
ShowMessage('Erreur: '+e.Message);
end;
Application.MessageBox('La fiche opération a été prise en compte et enregistrée dans l''historique.', 'Alerte Utilisateur');
end
else
begin
Application.MessageBox('Veuillez servir les champs obligatoires!', 'Alerte Utilisateur');
end
end;