Combobox'a veri çekme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
swerkan
Üye
Mesajlar: 5
Kayıt: 06 May 2005 11:50

Combobox'a veri çekme

Mesaj gönderen swerkan » 06 May 2005 11:55

Merhaba arkadaşlar daha önceden forumunuzu takip ediyordum ama uyelik bugne kısmet oldu.benim sorum combobox'a ogrenci tablosundaki bolum_no ile bolum tablosundaki bolumleri çekmek istiyorum.Bunu lookupcombobox ile yapabilirim ama oalyı daha iyi kavramak için boyle yapmak istiyorum.
Bu konuda bana yardımcı olursanız çok sevinirim.
Teşekkürler...

ASE
Kıdemli Üye
Mesajlar: 518
Kayıt: 28 Ağu 2003 02:17
Konum: samsun
İletişim:

Mesaj gönderen ASE » 06 May 2005 12:20

Merhaba.
Bunun icin verileri veri tabanından alacaksan sutundaki bilgileri distinct metodu ile teke indir. (Tabi tekrarlanan kayıtlar varsa.) Daha sonra

Kod: Tümünü seç

combobox.items.add
ile querynin o alanını istediğin gibi kullanabilirsin...

Kolay gelsin
Allah'ım!...
Yol boyunca bırakma elimi...
Düşerim sonra...


ASE YAZILIM

swerkan
Üye
Mesajlar: 5
Kayıt: 06 May 2005 11:50

Mesaj gönderen swerkan » 06 May 2005 12:26

Benim yapmak istediğim ogrenci tablosundaki bolum numarasını kullanarak bolum tablosndaki bolumleri listeletmek sql bilgim var ama combobox ta nasıl kullanacağım kuramadım kafamda.

Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 12:02
Konum: İstanbul
İletişim:

Mesaj gönderen MicroChip » 06 May 2005 12:33

Kod: Tümünü seç

combobox1.items.clear;
while not table1.eof do
begin
  combobox1.items.add(table1.fieldbyname('isim').asstring);
  table1.next;
end;
dersen tablodaki bilgiyi alabilirsin


saygılar.
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim

swerkan
Üye
Mesajlar: 5
Kayıt: 06 May 2005 11:50

Mesaj gönderen swerkan » 06 May 2005 12:38

Teşekkür ederim bunu biliyorum.
mesela ogrenci tablosndaki bolum_no alanında
1
2
3
alanları var
ben bunlarla bolum tablosundaki
bolum_no alanlarını karşılaştırarak bolumleri almak istiyorum.

select bolum_adi from bolum where bolum_no=(select bolum_no from ogrenci) gibi
umarım anlatabilmişimdir

Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan » 06 May 2005 12:41

Merhaba ,
Yanlış Anlamadıysam , öğrenci tablonda bolum_no adında bir alanın ve bolum isminde ki tablodada bolum_no ve bolum_adi adında alanların var burad yapmak istediğim öğrenci tablosundaki bolum_no bilgisinden yararlanarak ogrenci tablosunda kullanılmış bölüm isimlerini tespit edip combobox ta listelemek. bunu yapmak için aklıma gelen en basit yöntem INNER JOIN yöntemi bir örnek vereyim,

ogrenci
------------
ogrenci_adi
bolum_no

bolum
------------
bolum_no
bolum

şeklinde talbolar olsun bunları birleştirecek SQL kodu şu şekilde olmalı

Kod: Tümünü seç

SQlKodu:='select distinct ogrenci.bolum_no , bolum.bolum_adi from ogrenci INNER JOIN bolum ON ogrenci_bolum_no=bolum_bolum_no order by ogrenci_bolum_no ';
sonra bunu bir döngüyle combobox ın içine atıyoruz

Kod: Tümünü seç

with Query1 do 
begin
close;
sql.clear;
sql.add(SqlKomutu);  
active:=true;
first;
while not eof do
begin
combobox1.items.add(FieldByName('bolum_adi').AsString);
next;
end;
end;
kolay gelsin.
Volkan KAMADAN
www.polisoft.com.tr

Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 12:02
Konum: İstanbul
İletişim:

Mesaj gönderen MicroChip » 06 May 2005 12:54

kamadan benim dediğime yakın birşeyler demiş ama ben anladım galiba ne demek istediğinizi

bu sefer combobox tan seçip tablodan diğer değeri alacaksın

o zaman şöyle dersin

Kod: Tümünü seç

table1.locate('isim',combobox.items[i],[])
ile o kayıda konumlanıp değeri okuyacan bu kadar :D

verde programı yazıp verelim sana. Arama yap yada 8)

Saygılar iyi çalışmalar
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim

harezmi
Üye
Mesajlar: 8
Kayıt: 20 Oca 2018 07:03

Re: Combobox'a veri çekme

Mesaj gönderen harezmi » 03 May 2019 08:39

ben de benzer bir sorun yaşıyorum adoquery nesnesi ile sql sorgusu yapıp tablodaki verileri çektikten sonra bir alandaki tüm verilerei comboboxa atmak istiyorum. kod bloğum aşağıda. program çalışınca bu bölümde dönüyor sorguda bir hata yok gibi döngüden çıakarınca sadece ilk kaydı ekliyor

begin
dep_adoq.SQL.Clear;
dep_adoq.SQL.Add('select * from depo_tbl');
dep_adoq.Open;
dep_adoq.First;
while not (dep_adoq.Eof) do
begin
dep_combo.Items.Add(dep_adoq.fieldbyname('depo_ad').AsString);
end
end;

Kullanıcı avatarı
Commandx
Üye
Mesajlar: 135
Kayıt: 01 Oca 2008 05:34

Re: Combobox'a veri çekme

Mesaj gönderen Commandx » 04 May 2019 01:25

Kendi kullandığım yöntemi paylaşayım , Belki Lazım olur
Olası Mükerrer kayıtların önüne geçmek için (tekrarlı kayıtlar) olası, sütundaki aynı değerleri combobox içine atarak sonradan kullanılmak üzere filtrelemek istiyorsanız bu bir fikir verebilir.
form üzerine 1 adet checkbox koyun (kullanmayabilirsinizde) , 1 adet combobox , 1 tane query bileşeni koyun , checkbox veya bir butona atayın

Kod: Tümünü seç

var
 liste:TstringList;
BEGIN
if checkbox1.Checked =True then begin
with dm.UniQuery1 do
begin
  liste:=tstringlist.create;
  liste.Clear;
  combobox1.items.Clear;
  First;
  while not Eof do
  begin
       if combobox1.Items.IndexOf( FieldValues['BIRIMLER'] ) = -1 then
          ComboBox1.Items.Add(FieldValues['BIRIMLER']);
      Next;
 // Combobox1.Text:=  liste.Text;
  end;

end;
END;
dm.UniQuery1.First;
LISTE.FREE;
END;
http://www.delphibasics.co.uk/RTL.asp?Name=DaysBetween
Zamane tickcount'u
except
ON E: Exception do
Begin
Application.MessageBox(Pchar('Can sıkıntısı '+#13+E.Message),'Hata',MBOKk+MB_ICONWARNING);
Abort;
End;
end;

Cevapla