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;
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;