var
i: integer;
begin
try
IB_Derece.First;
for i:=0 to IB_Derece.recordcount do
begin
IB_Derece.Edit;
inc(i);
IB_DereceDR_SIRANO.Value := i;
IB_Derece.Next;
end;
finally
IBTrans_Derece.CommitRetaining;
end;
şeklinde bir dene olması lazım
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
After posta aynısını yazıyorsan döngü kısır hal alıyor. her post ta tekrar döngü başlıyor. afterpost yerine kaydettme işlemleri bittikten sonra çalıştırabilirsin.
Eğer kayıt etmeye çalıştığın değerler IB_Derece içinde ise AfterPost olayına yazmamanı tavsiye ederim bende. Her post sonrasında tekrar tekrar kayıt sayısı kadar döngüye başlar. Bence de @pasa_yasar dediği gibi Post ettikten sonra bu kodu çalıştırman daha sağlıklı olacaktır.
Post komutunu birkaç farklı yerde kullanıyorsan kendine form içi prosedür yazıp tüm bu farklı yerlerdeki post komutunu tek bir yere toplaman mümkün olabilir.
Ayrıca eğer Firebird kullanıyorsan database içine bir prosedür yazarak ve post işlemi sonrası bu prosedürü çalıştırarakta bu konuyu çözebilirsin. Alternatif fikir olması için söylüyorum.