DBEdit ten data kaydını çekmek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
ademiz
Üye
Mesajlar: 151
Kayıt: 30 Tem 2003 02:41
Konum: İstanbul
İletişim:

DBEdit ten data kaydını çekmek

Mesaj gönderen ademiz »

Form da dataya bağlı bir kaydı, DBEdit1 'e yazıp enter tuşuna basınca, kaydın bütün fieldların içerisine gelmesini istiyorum.Bu işemi normal Edit le kolaylıkla yapabiliyorum.Fakat DBEditle yapmam gerekiyor çünkü proje büyük Edit kullanarak her yerde bir sürü kod yazmak istemiyorum.

Saygılarımla
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7601
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Arama işlemi mi yapmak istiyorsun???

Yani DBEdit'e ismi yazacaksın diyelim, o isimdeki kaydı bulup getirecek, diğer DBEditlerde de o kayyıt gözükecek?

Eğer öyleyse bu iş için DBEdit kullanmak pek mantıklı değil. Kullanıcı yanlışlıkla veriyi değiştirebilir (arama sırasında). Ben arama için ayrı bir form açıp, Edit'lerle ve Query ile kaydı buldurup, daha sonra kulanıcı tamam derse o kaydın üstüne konumlandırıyorum.

Kolay gelsin.
Kullanıcı avatarı
ademiz
Üye
Mesajlar: 151
Kayıt: 30 Tem 2003 02:41
Konum: İstanbul
İletişim:

Mesaj gönderen ademiz »

Aynen söylediğiniz işlemi yapmak istiyorum fakat arama için değil.

Diyelim yeni bir Stok kaydı için stok formunu açtınız.Fieldlar boş ve kayda hazır bir şekilde önünüze geldi.Kendi standardınıza göre bir stok kodu girdiniz ve enter tuşuna bastınız.İşte burada eğer stok database de varsa field lara gelecek eğer girdiğiniz kod datada yoksa yeni bir stok kaydı olarak girişini yapmış olacaksınız.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7601
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

DBEdit'le hiç bir zaman arama yaptırmanı tavsiye etmem. Elindeki bilgiler çöp olur, kullanıcılar yanlışlıkla değiştirirler hep.

Bence şöyle birşey yapman daha iyi olur. Kullanıcı yeni kayıt giripte, stok kodunu girdi. Stok kodunun DBEdit'inden çıktığında ayrı bir query ile bu kodda stok var mı kontrol ettir varsa uyarı ver ve stok kodunu silip tekrar stok kodu DBEdit'ine dön.

II. Yol : Eğer yapma imkanın varsa stok kodu alanını unique(tekil) index yap, böylece hiçbir zaman ikinci bir stok kodu girilemez.

Kolay gelsin.
Kullanıcı avatarı
akgun83
Üye
Mesajlar: 106
Kayıt: 26 Eyl 2003 11:34

Mesaj gönderen akgun83 »

en basiti bir edit birde dbedit koy(üstüste).
dbeditin visible özelliğini false yap yani sadece edit gözüksün. edite giriş yapıldığında bir query nesnesiyle kaydı arattır. eğer varsa editi gizle, dbediti göster. yoksa insert et.

Saygılar
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Merhaba, bir ekte ben yapayım bari. Daha doğrusu başka bir yöntem; Stok Kodunun girileceği DBEdit in OnKeyDown'unda
if Key = VK_RETURN then ..
veya OnExit inde

başka bir query ile girilen değeri sorgulayıp tabloda olup olmadığı control edilir.

Örneğin; 'select stok_kodu from stoklar where stok_kodu = ' + DBEdit1.Text select i ile

Query1.Active := True;
if Query1.RecordCount > 0 then
begin
// tabloda aynı kayıt var.
stk_KODU := DBEdit1.Text;
tblStoklar.Cancel;
tblStoklar.FindKey([stk_KODU]);
tblStoklar.Edit;
end;
Query1.Active := False;
.....


Biraz özet yazdım, bilmem anlaşıldı mı??
Cevapla