dbgrid de arama yapıp enter ile onu başka bir tabloya atma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
mhmmt
Üye
Mesajlar: 12
Kayıt: 15 Kas 2018 04:37

dbgrid de arama yapıp enter ile onu başka bir tabloya atma

Mesaj gönderen mhmmt » 25 Ara 2018 09:35

Selamlar herkese,

bir edit var buraya yazdıgım kelımeyi bir tabloda aratmak istiyorum örneğin işçilik yazdığımda onu acılan bir pencerede yanı yine gridde goster gızle yapmayı düşünüyor aradıgım entere bastıgımda onu bir alttakı hızmet tablosuna atmak.
kod olarak yardım istiyorum
teşekkürler.

yusuf simsek
Üye
Mesajlar: 309
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Re: dbgrid de arama yapıp enter ile onu başka bir tabloya atma

Mesaj gönderen yusuf simsek » 25 Ara 2018 10:59

Google arama ekranında ki gibi bir yapı sanırım kurmaya çalıştığınız?

Edit nesnesi altında bir panel koyup, [Visible := False ] yapınız, Panel içine grid koyunuz

Edit1.OnKeyUp özelliğinde Paneli görünüz Yapınız ve Gride bağlı olan query de sorgulama işlemini yapınız

Edit1.OnKeyPress te de ENTER tuşunu kontrol ediniz... Enter tıklandığında Grid üzerinde konumlanmış olan kaydı istediğiniz yere aktarınız...

Grid DoubleClick olayında da kayıt seçme işlemini yaparsanız şık olacaktır.

Kayıt seçiminsen sonra ve Edit1 OnExit olayında da Panel tekrar Gizleyiniz...
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com

mhmmt
Üye
Mesajlar: 12
Kayıt: 15 Kas 2018 04:37

Re: dbgrid de arama yapıp enter ile onu başka bir tabloya atma

Mesaj gönderen mhmmt » 25 Ara 2018 01:00

Hocam bir code örneği varmıdır bu yapıyla ilgili ben nette bulamadım.
Teşekkürler ilginize.

yusuf simsek
Üye
Mesajlar: 309
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Re: dbgrid de arama yapıp enter ile onu başka bir tabloya atma

Mesaj gönderen yusuf simsek » 25 Ara 2018 02:18

Yazdığım uygulama Kodları yanımda değil,

Mantığını size yazdım, size sadece kendi yapınıza göre dizayn edip kodlamak kaldı...
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com

mhmmt
Üye
Mesajlar: 12
Kayıt: 15 Kas 2018 04:37

Re: dbgrid de arama yapıp enter ile onu başka bir tabloya atma

Mesaj gönderen mhmmt » 25 Ara 2018 02:27

tamam hocam cok teşekkür ederim
iyi çalışmalar

mhmmt
Üye
Mesajlar: 12
Kayıt: 15 Kas 2018 04:37

Re: dbgrid de arama yapıp enter ile onu başka bir tabloya atma

Mesaj gönderen mhmmt » 25 Ara 2018 04:03

procedure TForm14.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if (Key=#13) then
begin
//dm.IBQuery2.FieldByName('ADI').AsString:=dm.IBQuery2.FieldByName('ACIKLAMA').AsString;
//DBGrid2.DataSource.DataSet.FieldByName('ACIKLAMA').AsString:=DBGrid3.DataSource.DataSet.FieldByName('ADI').AsString;
end;
end;

procedure TForm14.Edit2KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
DM.yhlistelesq.Close;
DM.yhlistelesq.SQL.Text:='select * from YEDEKPARCA_HIZMET_TABLE where ADI like '+#39+#37+Edit2.Text+#37+#39 ;
DM.yhlistelesq.Open;
Panel1.Visible:=true;
end;

end.


hocam dediğiniz gibi işlemleri yaptım fakat ,
"Edit1.OnKeyPress te de ENTER tuşunu kontrol ediniz... Enter tıklandığında Grid üzerinde konumlanmış olan kaydı istediğiniz yere aktarınız..."
bu kısımda takıldım verıyı aktaramadım datasetlerden aktarmıycazmı baska yolu varmı ?

yusuf simsek
Üye
Mesajlar: 309
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Re: dbgrid de arama yapıp enter ile onu başka bir tabloya atma

Mesaj gönderen yusuf simsek » 25 Ara 2018 04:09

Çok Güzel gitmişsiniz...

Kod: Tümünü seç

procedure TForm14.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if (Key=#13) then
begin
	dm.IBQuery2.FieldByName('ADI').AsString := DM.yhlistelesq.FieldByName('ADI').AsString;
end;
end;
Arama yaptığınız Query'de ki ( DM.yhlistelesq ) veriyi INSERT / EDIT işlemi yaptığınız Query'e ( dm.IBQuery2 ) e aktaracaksınız...
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com

mhmmt
Üye
Mesajlar: 12
Kayıt: 15 Kas 2018 04:37

Re: dbgrid de arama yapıp enter ile onu başka bir tabloya atma

Mesaj gönderen mhmmt » 25 Ara 2018 04:35

Not in edit mode diye bir hata alıyorum hocam
close;
open;
yaptım ama nedendir ?

yusuf simsek
Üye
Mesajlar: 309
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Re: dbgrid de arama yapıp enter ile onu başka bir tabloya atma

Mesaj gönderen yusuf simsek » 25 Ara 2018 04:39

Bu işlemi yeni kayıt ( dm.IBQuery2.Insert ) ekleme yada kayıt düzenleme ( dm.IBQuery2.Edit ) modunda yapmalısınız...
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com

mhmmt
Üye
Mesajlar: 12
Kayıt: 15 Kas 2018 04:37

Re: dbgrid de arama yapıp enter ile onu başka bir tabloya atma

Mesaj gönderen mhmmt » 25 Ara 2018 04:59

hocam insert edit yaptıgımız yer derken kod olarak anlabılırmısınız
şimdeye kadar yazdıgım kodlar yukardakı gıbı
nerede degısıklık yapacagımı anlıyamadım

yusuf simsek
Üye
Mesajlar: 309
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Re: dbgrid de arama yapıp enter ile onu başka bir tabloya atma

Mesaj gönderen yusuf simsek » 25 Ara 2018 05:29

Senaryo olarak; Ben arabayı servise getiriyorum.

Arabayı servise alıp yağ değişimi, filtre değişimi, parça değişimi vs vs işlemler yapılıyor..

Bu işlemleri benim adıma düzenlenen servis fisine değişen parçaları hızlıca eklemek için bu yapıyı kurmaya çalışıyorsunuz...

Servis fişi detaylarını eklemek için önce [ Parça Ekle ] Butonuna tıklatın. Buton click olayina Dm.İbQuery2.İnsert ; Edit2.enable := true; kodunu yazın...

Butona basmadan Edit2 ye birşey yazamasin... bunun için form.show olayında edit2.Enabled := False yazınız.. yada Edit2 enable özelliği False yapınız...

Parça adet, ucret vs yazıp [Parça Kaydet] butonu click olayinada Dm.ibquery2.post; edit2.enable := False; kodlarını yazarak kayıt işlemini tamamlatıp Edit2 birşeyler yazmasını engelleyiniz...

Bundan sonrası sizin hayal gücünüze kalmış...
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com

mhmmt
Üye
Mesajlar: 12
Kayıt: 15 Kas 2018 04:37

Re: dbgrid de arama yapıp enter ile onu başka bir tabloya atma

Mesaj gönderen mhmmt » 26 Ara 2018 08:36

benim kurdugum senorya da ;
müşteri ekle güncelle sil
müşteriye araç ekle güncelle sil
yedek parça / hizmet ekle güncelle sil
servis kayıt aç araç plakasından bul servis kayıt ekle o servisede yedek parça / hizmet ekle
yedek parça / hizmet adında bir tablom var (işcilik yağ değişimi vs.)
boş bir edit koydum altına panel(acılır gizlenir yaptım)
panelin içine grid.
altınada boş bir grid (hizmet kart tablosu)
YAPMAK İSTEDİĞİM;
editte hizmet / yedek parcayı bulup altındakı boş gride enter ile atmak
buluyorum ama enter ile atamayı yapamıyorum (buton kullandırmak istemiyorum kullanıcıya)
teşekkürler ilginize yusuf hocam

yusuf simsek
Üye
Mesajlar: 309
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Re: dbgrid de arama yapıp enter ile onu başka bir tabloya atma

Mesaj gönderen yusuf simsek » 26 Ara 2018 08:51

İyisimi Biz senaryoları bir kenara bırakalım :)

Şimdi Editin altında ki Gride ekleme yapabilmek için Grid'in bağlı olduğu query Insert modunda olmalı...

Senin anlattığın şekilde işleme devam edebilmek için

Kod: Tümünü seç

procedure TForm14.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if (Key=#13) then
begin
	dm.IBQuery2.INSERT; //1.Satır
	dm.IBQuery2.FieldByName('ADI').AsString := DM.yhlistelesq.FieldByName('ADI').AsString;
	dm.IBQuery2.POST; //2.Satır
end;
end;
1. ve 2. satırları eklemen yeterli olacak...
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com

Cevapla