pierrotk10d
Messages postés110Date d'inscriptionmardi 13 novembre 2007StatutMembreDernière intervention 2 février 2024
-
30 janv. 2019 à 16:35
pierrotk10d
Messages postés110Date d'inscriptionmardi 13 novembre 2007StatutMembreDernière intervention 2 février 2024
-
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és110Date d'inscriptionmardi 13 novembre 2007StatutMembreDernière intervention 2 février 20243 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;