Koşullu DBEdit

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
loxka
Üye
Mesajlar: 214
Kayıt: 18 Ağu 2003 01:10

Koşullu DBEdit

Mesaj gönderen loxka »

DbGrid'in OnNewRecord'una

Kod: Tümünü seç

DBEdit29.Text:='';
yazıyorum. Fakat kayıt yapmaktan vazgeçip grid içindeki kayıtların arasında dolanmaya başlayınca DBEdit29 içindeki kayıt geri gelmiyor.
İstiyorum ki vazgeçme durumunda kayıt tekrar yerine dönsün.
Yardımlarınız için teşekkür ederim..
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

bence table nesnesinin afterinsert olayına yazmalısın.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

DBGrid in üzerinde gezinirken değiştirdiğin kayıtlar otomatik post edilir. Kayıt/Post işlemini bir butona basarak yapabilirsin. Table ın BeforePost unu Abort; yaz. Kaydet butonun Klik ine de ;

Kod: Tümünü seç

Table.BeforePost := nil;  // Abort yazılan BeforePost devreden çıkar.
Table.Post; // kayıt et.
Table.BeforePost := TableBeforePost; // Tekrar Abort kısmını devreye al.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
loxka
Üye
Mesajlar: 214
Kayıt: 18 Ağu 2003 01:10

Mesaj gönderen loxka »

Cevaplarınız için teşekkür ederim.
Ben sorumu sorarken atladığım birşey oldu, aslında tablo düzenin master detail.
DBgrid Master (Table1) tablodan , DBEdit29 ise Detail (Table2) tablodan kayıt alıyor.
rsimsek hocamın önerdiği şekilde istediğim olmuyor. Kayıt yine DBEdit29 içinde kalıyor sadece müdahale edilemiyor.
Yardımlarınız için teşekkür ederim.
(her şey bitipte böyle şeyler kalmıyor mu? :evil:)
Kullanıcı avatarı
Biltes
Üye
Mesajlar: 361
Kayıt: 11 Oca 2005 02:24
Konum: Edirne

Mesaj gönderen Biltes »

O zaman table2'nin bağlı olduğu datasource'un onchange'ine

Kod: Tümünü seç

  if tablo2.Edit Then
    Begin
      dbEdit29.Text := '';
    End Else dbEdit29.Text := tablovealanadı.AsString;
şu şekilde bir kod yazıp bir deneyin bakalım istediğiniz kayıt gelecek mi?

Kolay gelsin...
Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
loxka
Üye
Mesajlar: 214
Kayıt: 18 Ağu 2003 01:10

Mesaj gönderen loxka »

hocam bunu daha önce denemiştim ama

Kod: Tümünü seç

if table2.Edit Then 
"Type of expression most be BOOLEAN" hatası almıştım, o yüzden es geçtim.
Kullanıcı avatarı
Biltes
Üye
Mesajlar: 361
Kayıt: 11 Oca 2005 02:24
Konum: Edirne

Mesaj gönderen Biltes »

hocam yanlış yazmışım özür dilerim :(

Kod: Tümünü seç

if tablo2.Edit = True Then 
    Begin 
      dbEdit29.Text := ''; 
    End Else dbEdit29.Text := tablovealanadı.AsString; 
Bu şekilde deneyin lütfen...
Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
Cevapla