- Déposer une TNxQuery (qXXX), un TNxCachedDataset (cXXX), un TDataSource (dsXXX) et un TNxSqlUpdateObject (uXXX).
- Rattacher le dsXXX à cXXX
- Rattacher qXXX à cXXX (champ cXXX.SourceDataSet)
- Rattacher uXXX à cXXX (champ cXXX.UpdateObject)
- Définir la requête qXXX.Text pour récupérer le contenu de la table
- Ajouter les champs persistants à qXXX et cXXX
- Si qXXX a une Datasource, définir un événement cXXX.AfterInsert et y placer :
===
procedure TFFicheContrat.cLienContratCategorieAfterInsert(DataSet: TDataSet);
begin
cLienContratCategorieidcontrat.AsInteger:=fContratsId.Value;
end;
- Définir des requêtes pour uXXX
INSERT
INSERT INTO lienscontratscategories (idcontrat,idcategorie,abattement)
VALUES (:idcontrat,:idcategorie,:abattement)
MODIFY
UPDATE lienscontratscategories
SET idcategorie=:idcategorie, abattement=:abattement
WHERE id=:id
DELETE
DELETE FROM lienscontratscategories WHERE id=:id
Les paramètres :zzz se rapportent à cXXX
- Ajouter une demande de confirmation de suppression dans cXXX.BeforeDelete :
#
procedure TFFicheContrat.cLienContratCategorieBeforeDelete(DataSet: TDataSet);
begin
if (MessageDlg('Retirer cet abattement pour cette catégorie de ce support ?', mtWarning, [mbYes, mbNo], 0) = mrNo) then
Abort;
end;