Merhaba arkadaşlar, çeşitli veritabanı programlarıyla çalışıyorum, birçok programlarda kayıtları okumuş olduğum Ttable nesnesi ve kayıt girişlerini yaptığım Ttable nesnesi farklı oluyor. (Yada Tquerry gibi insert yapabileceğimiz herhangi bir nesne...) Böyle oluncada kayıt ekleme formunda eklenen kayıt, arka formdaki TDbGrid nesnesinde okunsun diye gridin bağlı olduğu dataset ve table nesnelerini açıp kapatıyorum. bu açıp kapatma işi çok amele olmaya başladı (amelelik: yavaş işliyor ve profesyonel olmadığı). Bunagöre bir table a girilen kayıt, 2nci ve/veya 3ncü table nesnelerinde okunabilmesi için ne yapabiliriz?
İlginize Şimdiden Teşekkürler.
Yenilemeden Kayıt Ekleme ve Okuma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Yenilemeden Kayıt Ekleme ve Okuma
"Şu deredeki su,kaç kere değişti,yıldızların akisleri hep yerinde."
s.a.
eğer her kayıt girişinde arkadaki tabloyu refresh yapıyorsanız niçin iki ayrı bileşen kullanıyorsunuz ki?
form kapatıldığı zaman arkadaki tabloyu refresh etseniz yetmezmi?
kolay gelsin.
eğer her kayıt girişinde arkadaki tabloyu refresh yapıyorsanız niçin iki ayrı bileşen kullanıyorsunuz ki?
form kapatıldığı zaman arkadaki tabloyu refresh etseniz yetmezmi?
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
A.S. Hocam, bazen formu kapatmadığımız durumlarda olabiliyor, bunun yanı sıra, arkadaki tablo(lar)dan, birden fazla table dan lookup(locate) ile veri getiriyorum, yenileme(açıp-kapatma) sırasında kayıtlar başa dönünce, üstdeki form istenmeyen kayıtları edit ediyor.
Umarım açıklayıcı olabilmişimdir.

Umarım açıklayıcı olabilmişimdir.
"Şu deredeki su,kaç kere değişti,yıldızların akisleri hep yerinde."
Hayırlı günler. Sorunuzu doğru anladıysam yapmak istediğiniz: Veritabanına kayıt yapıldığı esnada dbgrid nesnesinde görünmemesi...
Table nesnesinin Afterpost olayına
yazmanız yeterli olacaktır.
Table nesnesinin Afterpost olayına
Kod: Tümünü seç
procedure TForm1.Table1AfterPost(DataSet: TDataSet);
begin
Table1.Refresh;
end;
Selam.
- Biliyorsunuz formların Showing diye bir property'si var. True ise form gösterim halinde olduğunu anlarız.
- Bir Procedure hazırlayın. Bu procedure şunu yapsın.
1 - Application'unuzun 0'dan -> ComponentCount-1 kadar döngü kurup içindeki TForm sınıfındakileri yani create edilmiş formları bulsun.
2- Bulduğu bu her formdan -sizin bulunduğunuz form ise dilerseniz atlayabilirsiniz- bahsi geçen ve güncelleme gereken DBGrid bulunan varsa ve yukarda bahsettiğim kontrolle o an görüntülenir haldeyse ek bir işlem yapılsın.
3- Bu ek işlem; bulunan formdaki DBGrid'in aktif kayıt nosunu yedek bir değişkene alıp ilgili Gride ait sorguyu REFRESH edin. Daha sonra yedeklediğiniz kayda locate ettirin.
4- Diğer formlarda da aynı işlemi tekrarlatın.
- Bu hazırladığınız procedure'ü her afterpost işleminde çağırırsanız dileğiniz gerçekleşecektir.
- Başarılar
- Biliyorsunuz formların Showing diye bir property'si var. True ise form gösterim halinde olduğunu anlarız.
- Bir Procedure hazırlayın. Bu procedure şunu yapsın.
1 - Application'unuzun 0'dan -> ComponentCount-1 kadar döngü kurup içindeki TForm sınıfındakileri yani create edilmiş formları bulsun.
2- Bulduğu bu her formdan -sizin bulunduğunuz form ise dilerseniz atlayabilirsiniz- bahsi geçen ve güncelleme gereken DBGrid bulunan varsa ve yukarda bahsettiğim kontrolle o an görüntülenir haldeyse ek bir işlem yapılsın.
3- Bu ek işlem; bulunan formdaki DBGrid'in aktif kayıt nosunu yedek bir değişkene alıp ilgili Gride ait sorguyu REFRESH edin. Daha sonra yedeklediğiniz kayda locate ettirin.
4- Diğer formlarda da aynı işlemi tekrarlatın.
- Bu hazırladığınız procedure'ü her afterpost işleminde çağırırsanız dileğiniz gerçekleşecektir.
- Başarılar