delphi ilişkili combobox sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
ozlemsaltan
Üye
Mesajlar: 38
Kayıt: 01 Nis 2014 05:57

delphi ilişkili combobox sorunu

Mesaj gönderen ozlemsaltan »

Arkadaşlar merhaba şöyle bir sorunum var. departman,çalışan ve bunların id lerinin tutulduğu aynı zamanda kullanıcı adı ve şifreyi tutan bir yetki tablom var. Formun üzerideki tCombobox u bir prosedür yardımıyla çekiyorum. Departman ve kullanıcı combomlarıma.
ZQ.SQL.Text := 'SELECT ID AS "LB_ID",DEPARTMAN AS "COB_AD" FROM departman ORDER BY DEPARTMAN'; // Frm_Ana.CoBDOLDUR(COB_Departman, LB_Departman)
ZQ.SQL.Text := 'SELECT ID AS "LB_ID",KULLANICI AS "COB_AD" FROM kullanici ORDER BY KULLANICI';// Frm_Ana.CoBDOLDUR(COB_Kullanici, LB_Kullanici)

Sorum şu: Departman seçtiğimde o departmana ait kullanıcıların kullanıcı combosunda listelenmesini istiyorum. Dblookcombobox araştırdım ama pek bir yere varamadım açıkcası. Onunla departmanı çeksem bile kullanıcıları çekemiyorum. Ya da farklı bir yöntem bilen arkadaşlar yardımcı olabilir mi?
Şimdiden Teşekkürler =)
Çaylak yazılımcı:)
Kullanıcı avatarı
esistem
Üye
Mesajlar: 464
Kayıt: 02 Eki 2007 11:22
İletişim:

Re: delphi ilişkili combobox sorunu

Mesaj gönderen esistem »

Selam;
dblookupcombobox larınızı ilgili query ler ile ilişkilendirip datasource, keyfield ve datafield ayarlarını yaptıktan sonra, herhangi bir butona bastığınızda veya dblookupcombobox oncloseup olayında query ile sorgularınızı yazıp close open yaptıktan sonra, dblookupcombobox.keyvalue:=ZQCOB_AD.asstring şeklinde atama yaparsanız sorun yaşamazsınız.
Kullanıcı avatarı
ozlemsaltan
Üye
Mesajlar: 38
Kayıt: 01 Nis 2014 05:57

Re: delphi ilişkili combobox sorunu

Mesaj gönderen ozlemsaltan »

Selam; Bu şekilde sorunumu seçemedik başka çözebileceğim bir yöntem var mıdır acaba? sql ile falan? Teşekkürler
Çaylak yazılımcı:)
Kullanıcı avatarı
warder
Üye
Mesajlar: 255
Kayıt: 10 Mar 2004 04:59

Re: delphi ilişkili combobox sorunu

Mesaj gönderen warder »

Klasik yöntem işe yarayabilir.
....
KullaniciTablo.First();
while KullaniciTablo.Eof
ComboKullanici.Item.Add(KullaniciTablo.Field("Kullanici").AsString);
KullaniciTablo.Next();
....
... Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!
Mustafa Kemal Atatürk...
m_yaprakci

Re: delphi ilişkili combobox sorunu

Mesaj gönderen m_yaprakci »

kullanıcı tablosunda DEPARTMAN veya DEPARTMAN_ID gibi bir alan olması gerekmez mi sql join falan yazsak.
siz bu sorgularla kullanıcının hangi departmanda olduğunu nasıl anlıyorsunuz veya nasıl anlaşılabileceğini umuyorsunuz.

1. kullanıcı tablosuna bir adet DEPARTMAN adında field oluşturun.
2. ikinci sorgunuzu şöyle değiştirin :
ZQ.SQL.Text := 'SELECT ID AS "LB_ID",KULLANICI AS "COB_AD" FROM kullanici where DEPARTMAN like :DEP ORDER BY KULLANICI';
ZQ.SQL.parameters.parambyname('DEP'):='%' + combobox1.text +'%';
3. kullanıcıların listeleneceği comboboxu da dblookupcombobox seçin ve listsource kısmına ilgili datasource'i (sorguyu çalıştırdığınız ZQ'nun datasource'u) bağlayın. listfield kısmına kullanıcı fieldi'ini, keyfield kısmına da yine kullanıcı fieldiini seçin.

YA DA sadece combobox için while not zq.eof do ile listeye ekleyin. (combobox.add(zq.fields.fieldbayname('kullanıcı'))) gibi.
Cevapla