Se fossi in te, lascerei da parte un attimo l'esempio della Guida che non è ottimale in quanto fa riferimento al valore contenuto in un DBEdit, controllo che potresti anche non avere sulla form (non è obbligatorio mettere un Data Control per ogni campo della tabella su cui lavori).

Prova in questo modo:
codice:
procedure TForm1.Table1BeforePost(DataSet: TDataSet);
begin
  if Table1.FieldByName('CODICE').IsNull then
  begin
    Table1.FieldByName('CODICE').AsInteger := 777
    ShowMessage('Il codice è stato assegnato automaticamente');
  end;
end;
Chiaramente, il codice è a puro titolo esemplificativo: viene mostrato come accedere al campo CODICE della tabella per impostarne un valore intero nel caso in cui il campo stesso sia Null, cioè non abbia ancora un valore assegnato.

Se il tuo errore persiste, forse occorre dare un'occhiata alla struttura della tabella o al resto del codice dell'applicazione.

Ciao!