combobox ile iki sütun almam mümkünmü
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
combobox ile iki sütun almam mümkünmü
kullandığım veri tabanında TurKodu, TurAdi bilgileri var. Bu iki sütunu combobox içine alabilir miyim. Combobox içinde Tür Adı görüntülenecek. Herhangi biri seçildiğinde Tür Kodu ile işlem yapmak istiyorum.
merhaba,
TDBLookupCombobox ile yapabilirsiniz,
ListField özelliğine normalde tekbir alan bağlarsınız örneğin,
ama iki yada daha fazla alan göstermek isterseniz,
Şeklinde kullanabilirsiniz, Kolay gelsin.
TDBLookupCombobox ile yapabilirsiniz,
ListField özelliğine normalde tekbir alan bağlarsınız örneğin,
Kod: Tümünü seç
DbLookup.ListField:='alan1';
Kod: Tümünü seç
DbLookup.ListField:='alan1;alan2;alan3';
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
TDBLookupComboBox ile Ekin in istedigi sey olmaz
Bu sekilde degiskene geri alirsin yalnız bu bir bellek adresi erisimi Itemindex -1 den buyuk ve ItemCount dan kucuk olmali
Kod: Tümünü seç
A:=Integer(ComboBox1.Items.Objects[ComboBox1.ItemIndex]);
uyguladım. Ancak ilgili kayıtları bulmuyor. Kodları aşağıya aldım
var
i,j:integer;
begin
if combobox1.ItemIndex>-1 then
begin
j:=integer(ComboBox1.items.Objects[ComboBox1.ItemIndex]);
adodataset2.Close ;
adodataset2.commandtext:='';
adodataset2.CommandText :='select * from tur where val(left(turkodu,1))=:bul and len(turkodu)=2';
adodataset2.Parameters.ParamByName('bul').Value :=j;
adodataset2.Prepared :=true;
adodataset2.Open ;
end
else
showmessage('Listede Olmayan Tür Giremezsiniz');
ne hatası olabilir
var
i,j:integer;
begin
if combobox1.ItemIndex>-1 then
begin
j:=integer(ComboBox1.items.Objects[ComboBox1.ItemIndex]);
adodataset2.Close ;
adodataset2.commandtext:='';
adodataset2.CommandText :='select * from tur where val(left(turkodu,1))=:bul and len(turkodu)=2';
adodataset2.Parameters.ParamByName('bul').Value :=j;
adodataset2.Prepared :=true;
adodataset2.Open ;
end
else
showmessage('Listede Olmayan Tür Giremezsiniz');
ne hatası olabilir
Sorgun biraz tuhaf ne yapmak istedigini bilmedigim icin bir sey soyleyemeyecegim.
Değeri aldıktan sonra j değişkeninin değerine bak
showmessage(ınttostr(j));
ile bakabilirsin yada break point koyup wathc penceresine j yi eklersin.
Eğer j doğru değeri alıyorsa sorgunda bir sorun vardır.
Yada gecerli bir TurKodunu sql scriptinde sabit olarak yaz sorguyu calistir sorgu duzgun calisiyorsa j duzkun ayarlanmiyor olabilir.
iki durumuda deneyim yazabilirsin
Değeri aldıktan sonra j değişkeninin değerine bak
showmessage(ınttostr(j));
ile bakabilirsin yada break point koyup wathc penceresine j yi eklersin.
Eğer j doğru değeri alıyorsa sorgunda bir sorun vardır.
Yada gecerli bir TurKodunu sql scriptinde sabit olarak yaz sorguyu calistir sorgu duzgun calisiyorsa j duzkun ayarlanmiyor olabilir.
iki durumuda deneyim yazabilirsin
Normal Combobox'a verileri aktarırken bir tane daha combobox oluştur ve visible := false olsun. Döngünde comboboxa turadi verileri aktarılırken diğer cboxa da turkodu verileri aktarılsın. Sıralama aynı olacağı için işlem yaparken turkodunu bulmak için
komutunu kullan.
Kod: Tümünü seç
cTurKodu.Items[cTurAdi.ItemIndex]
yapmak istediğim olay şu
Tür Kodu ve açıklama bilgisini combobox ile alıyorum. Tür Kodunun değerine göre o tür kodu altında tanımlanan bölüm kodlarını dbgrid ile listelemek isityorum.
Örnek verecek olursan
1 Lise
11 Düz lise
12 Süper Lise
2 Meslek Lisesi
3 Fen Lisesi
Tür kodu 1 karakter olanlar combobox içinde listelenecek. Kullanıcı Lise yi tercih ettiğinde Lise altında yer alan
Düz Lise
ve Süper Lise
dbgridde görüntülenecek. Sorguyu onun için kullandım.
Tür Kodu ve açıklama bilgisini combobox ile alıyorum. Tür Kodunun değerine göre o tür kodu altında tanımlanan bölüm kodlarını dbgrid ile listelemek isityorum.
Örnek verecek olursan
1 Lise
11 Düz lise
12 Süper Lise
2 Meslek Lisesi
3 Fen Lisesi
Tür kodu 1 karakter olanlar combobox içinde listelenecek. Kullanıcı Lise yi tercih ettiğinde Lise altında yer alan
Düz Lise
ve Süper Lise
dbgridde görüntülenecek. Sorguyu onun için kullandım.
s.a.
senin aradığın şey dblookupcombobox
yapcağın üç tane bağlantı var
dblcb.keyvalue
kolay gelsin.
senin aradığın şey dblookupcombobox
yapcağın üç tane bağlantı var
- (DBLCB=DBLookUpComboBox)
1. dblcb.listsource:=(burası turleri listelediğin tablonun datasourcesi)
2. dblcb.listfiesl:=turadi
3. dblcb.keyfiesl:=turkodu
dblcb.keyvalue
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
İlgili kodu gönder istediğin hale sokup geri gönderelim başka türlü olmayacak. Sende benim gibi tuhaf tasarımlar yapıyorsun.
Fakat
Uzunluğu 2 olanları sorgulamışsın.
Kod düzenleme konusunda ciddiyim. Göndermek istersen özele yaz
DemişsinTür kodu 1 karakter olanlar combobox içinde listelenecek.
Fakat
Kod: Tümünü seç
'select * from tur where val(left(turkodu,1))=:bul and len(turkodu)=2';
Kod düzenleme konusunda ciddiyim. Göndermek istersen özele yaz