Hier die Lösung, welche ich im Endeffekt programmiert habe :
Code:
procedure TForm1.qryDataBeforePost(DataSet: TDataSet);
var
ADataSet: TFDMemTable;
bCanPost : Boolean;
StartDate1, StartDate2, EndDate1, EndDate2 : TDate;
begin
StartDate1 := qryDatagueltigab.AsDateTime;
EndDate1 := qryDatagueltigbis.AsDateTime;
bCanPost := True;
ADataSet := TFDMemTable.Create(Self);
try
ADataSet.CloneCursor(qryData);
ADataSet.First;
while Not ADataSet.Eof do
begin
StartDate2 := ADataSet.FieldByName('gueltigab').AsDateTime;
EndDate2 := ADataSet.FieldByName('gueltigbis').AsDateTime;
if ((DateInRange(StartDate1, StartDate2, EndDate2)) Or (DateInRange(EndDate1, StartDate2, EndDate2))) then
begin
bCanPost := False;
Break;
end;
ADataSet.Next;
end;
finally
ADataSet.Free;
end;
if Not bCanPost then
begin
MessageDlg('Fehler im Gültigkeitszeitraum', mtWarning, [mbOk], 0);
Abort;
end;
end;
Ich hoffe, es hilft jemandem, der mal ein ähnliches Problem hat