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
DBEdit ten data kaydını çekmek
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
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.
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.
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.
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.
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.
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.
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ı??
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ı??