Hoşgeldiniz, Ziyaretçi.Lütfen giriş yapın veya kayıt olun.
E-posta adresinize aktivasyon iletisi gelmediyse lütfen buraya tıklayın.
Temmuz 08, 2020, 01:08:10 ÖS


FORUM ŞU AN İÇİN (ÖZEL BÖLÜMLER HARİÇ) TÜM ZİYARETÇİLERE AÇIKTIR.
EMEĞE SAYGI AÇISINDAN ALINTILARIN MUTLAKA KAYNAK GÖSTERİLMESİ RİCA OLUNUR.


Ana Sayfa Ana Sayfa Yardım Ara Giriş Yap Kayıt
+  Hay-NS Yazılım
|-+  DELPHİ KÖŞESİ
| |-+  Kod Bankası (veritabanı ve SQL)
| | |-+  ComboBox 'u DBLookup ComboBox gibi kullanma
0 Üye ve 1 Ziyaretçi konuyu incelemekte. « önceki sonraki »
Sayfa: [1] Aşağı git Bu Konuyu Gönder Yazdır
Gönderen Konu: ComboBox 'u DBLookup ComboBox gibi kullanma  (Okunma Sayısı 5470 defa)
turkoder
Adnan YILDIZ
Administrator
Onbaşı
*****

Rep Puanı: +0/-0
Çevrimdışı Çevrimdışı

Mesaj Sayısı: 218



WWW
« : Nisan 19, 2008, 02:05:13 ÖÖ »

access le veri.mdb veritabanımız olduğunu içinde de grup ve sozcukler adında iki tablemiz olduğunu varsayalım.

Formumuzun onshow olayına
Kod:
procedure TForm1.FormShow(Sender: TObject);
var
j:integer;
begin
ADOQuery1.Open;
datamodule1.ADOQuery1.Close;
datamodule1.ADOQuery1.SQL.Clear;
datamodule1.ADOQuery1.SQL.Add('Select * from grup');
datamodule1.ADOQuery1.Open;
if not datamodule1.ADOQuery1.IsEmpty then
begin
while not datamodule1.ADOQuery1.Eof do
begin
j:=datamodule1.ADOQuery1.FieldByName('id').AsInteger;
ComboBox1.Items.AddObject(dm.q.FieldByName('gadi').AsString,TObject(j));
datamodule1.ADOQuery1.Next;
end;
datamodule1.ADOQuery1.Close;
end;
end;


Şimdide ComboBox1 e gelelim ve oradan seçilen formdaki DBGRid içerisinde listelensin.

Kod:
procedure TForm1.ComboBox1Change(Sender: TObject);
var
deger:integer;
begin
try
deger:=Integer(ComboBox1.items.Objects[ComboBox1.ItemIndex]);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from sozcukler');
ADOQuery1.SQL.Add('where gid=:xgid');// buradaki gid(sozcukler tablesinde grup table için oluşturduğumuz ilişki, yani sozcukler tablesinde kayıt yapılırken grup id(field) si sozcukler gid(field) ne yazılıyor. grup tablede mesela deyimler dediğimizde sozcukler içerisinde deyim e ait ne kadar sozcuk varsa listelenir.
ADOQuery1.Parameters.ParamByName('xgid').Value:=deger;
ADOQuery1.Prepared:=True;
ADOQuery1.Open;
if ADOQuery1.IsEmpty then
begin
ShowMessage('Bu KAtegoride Henüz Kayıt Yapılmamış');
Abort;
end;
except
ADOQuery1.Close;
ShowMessage('İstenilen Kayıt Bulunamadı');
end;
end;
 


Yukarıda da görüldüğü üzere combobox1 içerisinde listelenmesini istediğimiz kelimeler listelenir. Sorgu yaparken de program combobox içerisinde sayısal yani ID yi ele alarak kullanır.
Logged
Sayfa: [1] Yukarı git Bu Konuyu Gönder Yazdır 
« önceki sonraki »
Gitmek istediğiniz yer:  


Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz

MySQL Kullanıyor PHP Kullanıyor Powered by SMF 1.1.8 | SMF © 2006-2008, Simple Machines LLC XHTML 1.0 Uyumlu! CSS Uyumlu!
Bu Sayfa 0.03 Saniyede 19 Sorgu ile Oluşturuldu