DBEdit Sorunu !!!!

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

DBEdit Sorunu !!!!

Mesaj gönderen ozcank »

Arkadaşlar bu şekilde yazdığım zaman 'Key volation' hatası alıyorum yapmak istediğim DBEdit1.Text e bastığım zaman ilgili kodu bulsun.
procedure TForm5.DBEdit1Exit(Sender: TObject);
begin
Table2.locate('FIRKODU',DBEdit1.Text,[])
end;
end.
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

aynı kodu onkeypress özelliğinde if key=#13 olarak denermisin yani enter tuşuna basınca konumlansın bulsun
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Kullanıcı avatarı
mnt
Üye
Mesajlar: 57
Kayıt: 30 Eki 2005 12:58
Konum: Kocaeli

Mesaj gönderen mnt »

DBEdit, tablo2 ye mi bağlı ? Eğer öyleyse üzerinde işlem yaptığınız kayıda zaten konumlanmışsınız. Locate ne gerek var ?
Mustafa
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

Bu şekilde tamam fakat;
DBEdit2.Text:=Table2FIRADI.AsString;
DBEdit3.Text:=Table2ADRES.AsString;
DBEdit4.Text:=Table2TELEFON.AsString;
DBEdit5.Text:=Table2VERDAIRE.AsString;
DBEdit6.Text:=Table2VERNO.AsString;
Bu alanlarıda Kod ile birlikte göstermem gerekiyor aşağıdaki kod sadece FIRKODU bulabiliyor yardım ederseniz sevinirim.

procedure TForm5.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
If Key=#13 Then
Table2.locate('FIRKODU',DBEdit1.Text,[]);
DBEdit2.Text:=Table2FIRADI.AsString;
DBEdit3.Text:=Table2ADRES.AsString;
DBEdit4.Text:=Table2TELEFON.AsString;
DBEdit5.Text:=Table2VERDAIRE.AsString;
DBEdit6.Text:=Table2VERNO.AsString;
end;
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Yapmak istediğini tam anlamamakla birlikte amaç girdiğin bir kayıtın daha önce girilmiş olup olmadığını araştırmak ise bu işi aynı table üzerinde değilde farklı bir sorgulama için oluşturacağın Query ile yap :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

Bu şekilde FIRKODU buluyorum .
procedure TForm5.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
If Key=#13 Then
Table2.locate('FIRKODU',DBEdit1.Text,[]);
end;

Bu FIRKODU ile birlikte DBEdit lere
DBEdit2.Text:=Table2FIRADI.AsString;
DBEdit3.Text:=Table2ADRES.AsString;
DBEdit4.Text:=Table2TELEFON.AsString;
DBEdit5.Text:=Table2VERDAIRE.AsString;
DBEdit6.Text:=Table2VERNO.AsString; aktarmak istiyorum yapmak istediğim bu.
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhaba,

dbedit1 bağımsız ise ve tablo2 den locate yapmak için kullanıyorsan diğer dbedit2.... gibi bileşenleri tablo2 ye bağlı ise zaten değerleri içine dökecektir. ama dbedit1 bağımsız değilse ve tablo2 ye bağlı ise zaten kayıt üzerindesin yine dbedit2 ve diğer bileşenlere kayıt gelecektir.

rsimsek ustamın dediğini dikkate alırsan iyi olacak gibi. zira bende bir stok-cari çalışmasında satış formuma bu durumu uyguluyorum. edit1 içine girilen ürün numarasını enter tuşu ile ibquery1 sorgulatıyorum kayıt var ise belirlediğim diğer editler içine ibquery sonuçlarını gönderiyorum ve kayıt görünmüş oluyor.

Kod: Tümünü seç

procedure TFormMusteriSatis.JvEdit1KeyPress(Sender: TObject;
  var Key: Char);
begin
  if key=#13 then
  begin
    urunbulibqry.Close;
    urunbulibqry.SQL.Clear;
    urunbulibqry.SQL.Add('SELECT*FROM URUN');
    urunbulibqry.SQL.Add('where URUN_NO like '''+jvedit1.Text+'''');
    urunbulibqry.Open;
    jvedit2.Text:=urunbulibqry.fieldbyname('URUN_ADI').AsString;
    jvedit3.Text:=urunbulibqry.fieldbyname('URUN_CINSI').asstring;
    jvedit4.Text:=urunbulibqry.fieldbyname('MIKTAR_TURU').asstring;
    jvedit5.Text:=urunbulibqry.fieldbyname('KDV_ORANI').ASstring;
.......
end;
şeklinde

kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

Bende bunu Table2 ye uyguladım ama yine başaramadım;

procedure TForm5.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
If Key=#13 Then
Table2.locate('FIRKODU',DBEdit1.Text,[]);
DBEdit2.Text:=Table2FIRADI.AsString;
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

selam
dbeditin on key prees ine if key=# 13 yazmakla enter tuşunu tetiklemiş oluyosun ....yani enter durumu gerçekleşiyor.kodlarında bir sorun olabilir.
Veya birde formun onkeypreview özelliğinide istersen true yapmayı dene.Kolay gelsin.
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Arkadaşlar gerekeni yazmışlar,,Bundan sonrası sana kalmış birşey.Kodları düzenle tertiple yaz ..Kolay gelsin.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Cevapla