pierrotk10d
Messages postés109Date d'inscriptionmardi 13 novembre 2007StatutMembreDernière intervention17 février 2023
-
30 janv. 2019 à 16:35
pierrotk10d
Messages postés109Date d'inscriptionmardi 13 novembre 2007StatutMembreDernière intervention17 février 2023
-
31 janv. 2019 à 10:08
Bonjour,
Comment faire pour s'assurer que toutes les tables d'une fiche ne sont pas mode dsEdit ou dsInsert avant de fermer la fiche. J'aimerais utiliser Canclose. Comment passer la liste des tables à la fonction IsTableEnEdition? j'ai un peu de difficulté à me remettre dedans. C'est l'age!
procedure TfEdition.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin // peut on faire: for i := 0 to le nombre de tables ? CanClose := IsTableEnEdition(DM. Table[i]); end;
function TfEdition.IsTableEnEdition(DataSet: TDataSet): Boolean; begin Result := True; With TDBDataset(Dataset) do begin if (State in dsEditModes) then begin if MessageDlg('Appliquer les modifications avant de fermer ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then Cancel else Result := False; end; end; end;
pierrotk10d
Messages postés109Date d'inscriptionmardi 13 novembre 2007StatutMembreDernière intervention17 février 20233 31 janv. 2019 à 10:08
Bonjour,
J'ai trouvé.
procedure TfEdition.FormCloseQuery(Sender: TObject; var CanClose: Boolean); var i: Integer; begin For i := 0 To DM.ComponentCount -1 do If (DM.Components[i] is TTable) then CanClose := IsTableEnEdition(Components[i] as TTable); end;
function TfEdition.IsTableEnEdition(DataSet: TDataSet): Boolean; begin Result := True; With TDBDataset(Dataset) do begin if (State in dsEditModes) then begin if MessageDlg('Appliquer les modifications avant de fermer ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then Cancel else Result := False; end; end; end;