Pero pon el post dentro del try except
Código Delphi
[-] Hoy:= Now;
DecodeDate(Hoy, Year, Month, Day);
try
DMFicha.IBTodosCONTADOR.AsInteger:=StrToInt(WFicha.DBCONTADOR.Text);
DMFicha.IBTodosPRIMER_APELLIDO.AsString:=WFicha.DBPRIMER_APELLIDO.Text;
DMFicha.IBTodosSEGUNDO_APELLIDO.AsString:=WFicha.DBSEGUNDO_APELLIDO.Text;
DMFicha.IBTodosNOMBRE.AsString:=WFicha.DBNOMBRE.Text;
DMFicha.IBTodosALTA.AsDateTime:=StrToDate(WFicha.DBALTA.Text);
DMFicha.IBTodosBAJA.AsString:='';
DMFicha.IBTodosYEAR.AsInteger:=Year;
DMFicha.IBTodosMES.AsString:=IntToStr(Month);
DMFicha.IBFicha.Post; ¡¡¡¡¡¡¡¡¡¡¡AQUI ES DONDE SALTA EL ERROR!!!!!!!!!!!!!!!!!!!!!!!
except
DMFicha.IBFicha.Cancel;
DMFicha.IBTodos.Cancel;
raise Exception.Create('Existe un trabajador con ese nombre');
exit;
end;
end;