Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: UNIQUE KEY auf RechnungsNr setzen

  Alt 8. Aug 2006, 19:12
Hallo Sascha,

die Signatur des event handlers ist vorgegeben und kann nicht verändert werden - ist auch nicht nötig.

Delphi-Quellcode:
procedure TFormRechnungen.QueryRechnungenBeforePost(DataSet: TDataSet);
begin
  with DataSet do
    FieldByName('RNR').IsNull then
       FieldByName('RNR').AsInteger := NextKey('RNr', 'Rechnungen');
end;
Die Speicherung doppelter Schlüssel verhindert der Sekundärindex, wenn bei "Eindeutig" ein Haken gesetzt wurde. Im Programm muss allerdings bei jedem missglückten Speicherversuch aufgrund doppelten Schlüssels ein neuer Schlüssel besorgt werden. Dazu würde ich in einer Ausnahmebehandlung den Ausnahmegrund entsprechend einschränken, damit nicht in jedem Fehlerfall ein doppelter Schlüssel unterstellt wird und das Programm in einer Endlosschleife läuft.

Grüße vom marabu
  Mit Zitat antworten Zitat