Einzelnen Beitrag anzeigen

Ines

Registriert seit: 22. Aug 2006
Ort: Augsburg
96 Beiträge
 
Delphi 2009 Enterprise
 
#1

In Prozedure auf Ereignis aus BeforePost reagieren

  Alt 17. Nov 2006, 09:25
Hallo,

um lästige Tipparbeit zu sparen kann der Nutzer in einem Grid mehrere Einträge markieren und einen Wert aus einer ComboBox auswählen - dieser wird dann in alle markierten Sätze eingetragen.

Beim Wechseln zum nächsten Datensatz wird die Procedure "BeforePost" durchlaufen. Dort werden einige Plausibilitätsprüfungen durchgeführt. Hat der Nutzer jetzt einen Wert ausgewählt der gegen die Plausibilität "verstößt" - so erhält er für jeden markierten Satz im Grid eine Fehlermeldung.

Delphi-Quellcode:
    
    with grid do
    begin
      grid.DataSource.DataSet.DisableControls;

      for i := 0 to SelectedList.Count - 1 do
      begin
        grid.DataSource.DataSet.GotoBookmark(SelectedList.items[i]);
        if grid.DataSource.DataSet.State in [dsBrowse] then
          grid.DataSource.DataSet.Edit;
        grid.DataSource.DataSet.FieldByName('Status').AsString := wert;
      end;
      grid.DataSource.DataSet.EnableControls;
    end;

procedure TFrm_Patient_STP.SQL_LeistungBeforePost(DataSet : TDataSet);
  if SQL_LeistungLJAHR.AsInteger >= 2006 then
  begin
    if not station_ueberpruefen(....) then
    begin
      Abort;
      Exit;
    end;

    if (not fallnummer_ueberpruefen(SQL_Leistung) then
    begin
      Abort;
      Exit;
    end;
  end;
  
  usw.....
end;
Meine Frage : Gibt es einen "eleganten" Weg, um auf die Meldungen von BeforePost reagieren zu können. Ich würde gerne nach der ersten Fehlermeldung das Abarbeiten des Grid stoppen. Oder muß ich mir mit einer Variablen (Boolean) helfen?
Danke und viele Grüße
Ines
Ines
  Mit Zitat antworten Zitat