table da aynı isimli kayıtların üstüne kaydetmesi.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kaptan
Üye
Mesajlar: 395
Kayıt: 01 Tem 2005 04:02

table da aynı isimli kayıtların üstüne kaydetmesi.

Mesaj gönderen Kaptan »

Merhaba.Ğrpgramımda Küçük bi veritabanına ihtiyacım oldu ve paradoxa table componentini kullanarak bir veritabanı bağlantısı gerçekleştirdim.Bir alan var ve veritabanında bu alana aynı isimli birden fazla kayıt yapılabiliyor. eğer isim aynı ise üzerine kaydetmesini istiyorum.Bunu nasıl yapabilirim?
Filtreleyip veya o alanı seçtirip komutlarla yazdırmaktan başka bir seçeneğim var mı?
gece gece biraz karışık oldu ama idare edin artık:)
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

selam
eğer companenet palette araç çubuğunda dbedit gibi bir bileşen kullandınız ise buna girilen herhangi bir kayıt devamlı aynı kayııtan yapabilecektir.onun için bun proğramınızdan kodlarla kontrol etmeniz gerekmektedir.Örneğin diyelim bir müşteri kodu diye bir alanınız olsun müşteri kodu yerine dbedit1.text değilde edit1.text bileşeni kullanırsanız başınız ağırmaz daha sonra mesela Kaydet butonuna da eğer bu kayıt var ise kayıt yapma yoksa kayıt yap gibi küçük bir kod yazarak olayı rahatlıkla çözebilirsiniz.Kolay gelsin
Kullanıcı avatarı
mustafaozdemir
Üye
Mesajlar: 137
Kayıt: 19 Haz 2004 01:56

Mesaj gönderen mustafaozdemir »

Şöyle bişey işini görür sanırım. Önce aynı ismi aratman daha sonra da değişiklikleri yapılacak alanlara yeni değerleri ataman lazım.

Kod: Tümünü seç

if table1.locate('isim',aratılacak_isim,[]) then
begin
      table1.edit;
      yapılacaklar
      table1.post;
end
     else
     begin
         table1.insert;
         yapılacaklar
         table1.post;
     end;
Kaptan
Üye
Mesajlar: 395
Kayıt: 01 Tem 2005 04:02

Mesaj gönderen Kaptan »

Teşekkürler.Yanıtlarınız sorunumu çözüyor.
Cevapla