1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| // Ajout ou Modif d'un SAV pour un scan donné
procedure TFrmAjoutSAV.btnOkClick(Sender: TObject);
var
nomDuScan : String;
nextval : integer;
Rect : TRect;
Column : TColumn;
DataCol : Integer;
state : TGridDrawState;
begin
nomDuScan := '';
nomDuScan := lblNomScan.Caption;
//nextval := RechercheValSuivante(oqRechercheNextVal);
//Ajout d'un SAV
if typeModif = 'Ajout' then
begin
oqAjoutSav.Close;
oqAjoutSav.SQL.Clear; // SEQ_NUMSUIVI permet de récupérer le numéro de suivi suivant relatif à la table SUIVISAV
// mais possible grâce à une séquence Oracle SEQ_NUMSUIVI qui s'auto-incrémente
oqAjoutSav.SQL.Add('INSERT INTO suivisav (numsuivi, numrma, datedepart, dateretour, nomscan, commentaire) VALUES (SEQ_NUMSUIVI.NEXTVAL, :numerorma, :datededepart, :datederetour, :lenomscan, :com)');
//oqAjoutSav.DeclareAndSet('numerosuivi', otInteger, nextval);
oqAjoutSav.DeclareAndSet('numerorma', otString, zsNumRma.Text);
oqAjoutSav.DeclareAndSet('datededepart', otString, zsDateDep.Text);
oqAjoutSav.DeclareAndSet('datederetour', otString, zsDateRetour.Text);
oqAjoutSav.DeclareAndSet('lenomscan', otString, nomDuScan);
oqAjoutSav.DeclareAndSet('com', otString, zsCommentaires.Text);
oqAjoutSav.Execute;
oqAjoutSav.Session.Commit;
FrmHistoSav.OracleDataSetHisto.Close;
FrmHistoSav.OracleDataSetHisto.SQL.Clear;
FrmHistoSav.OracleDataSetHisto.SQL.Text := 'SELECT numsuivi, nomscan, numrma, datedepart, dateretour, commentaire FROM suivisav WHERE nomscan = :nomduscan';
FrmHistoSav.OracleDataSetHisto.DeclareAndSet('nomduscan', otString, nomDuScan);
FrmHistoSav.DataSourceHisto.DataSet := FrmHistoSav.OracleDataSetHisto;
FrmHistoSav.DBGridHisto.DataSource := FrmHistoSav.DataSourceHisto;
FrmHistoSav.OracleDataSetHisto.Open;
zsNumRma.Text := '';
zsCommentaires.Text := '';
zsDateDep.Text := ' / / ';
zsDateRetour.Text := ' / / ';
end
//Modif d'un SAV, saisie d'une date de retour...
else if typeModif = 'Modif' then
begin
oqModifSav.Close;
oqModifSav.SQL.Clear;
// 'UPDATE adresseip SET adrip = :nvAddIP, nomscan = :lenomduscan WHERE adrip = :adrIP');
oqModifSav.SQL.Add('UPDATE suivisav SET numrma = :nvrma, datedepart = :nvdepart, dateretour = : nvretour, commentaire = :nvcommentaire WHERE nomscan = :nvscan');
oqModifSav.DeclareAndSet('nvrma', otString, zsNumRma.Text);
oqModifSav.DeclareAndSet('nvdepart', otString, zsDateDep.Text);
oqModifSav.DeclareAndSet('nvretour', otString, zsDateRetour.Text);
oqModifSav.DeclareAndSet('nvcommentaire', otString, zsCommentaires.Text);
oqModifSav.DeclareAndSet('nvscan', otString, nomDuScan);
oqModifSav.Execute;
oqModifSav.Session.Commit;
FrmHistoSav.OracleDataSetHisto.Close;
FrmHistoSav.OracleDataSetHisto.SQL.Clear;
FrmHistoSav.OracleDataSetHisto.SQL.Text := 'SELECT numsuivi, nomscan, numrma, datedepart, dateretour, commentaire FROM suivisav WHERE nomscan = :nomduscan';
FrmHistoSav.OracleDataSetHisto.DeclareAndSet('nomduscan', otString, nomDuScan);
FrmHistoSav.DataSourceHisto.DataSet := FrmHistoSav.OracleDataSetHisto;
FrmHistoSav.DBGridHisto.DataSource := FrmHistoSav.DataSourceHisto;
FrmHistoSav.OracleDataSetHisto.Open;
zsNumRma.Text := '';
zsCommentaires.Text := '';
zsDateDep.Text := ' / / ';
zsDateRetour.Text := ' / / ';
AfficheCaseSav(Rect,Column, MainForm.DBGridScan, DmImages.imgCheck, DataCol, state);
end;
end; |
Partager