Arama için kullanılacak verileri nasıl girmeliyim
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Arama için kullanılacak verileri nasıl girmeliyim
bir kayıt girerken o kişinin çalışabileceği ilçeleri kayıt etmem lazım ki daha sonra arama yaparken mesela kadıköy,göztepe,ümraniye ve maltepede çalışabileceğini söyleyen kişileri bulmam lazım.Kişiyi kayıt ederken çalışabileceği ilçeleri nasıl kayıt etmeliyiz veritabanına.Mesela bir edit nesnesi koyup buraya mı ilçe isimlerini yazıp kayıt etmeliyiz nasıl bir mantık kullanabiliriz acaba fikirlerinizi bekliyorum
çalışılabilecek ilçeler kısıtlı ise dbcombobox kullan ve items özelliğini açarak ilçe adlarını büyük harf ile yaz.yok türkiyedeki her ilçede çalışabilir ise ilçe adlarının tutulduğu bir tablo yap kullanıçı çalışacağı ilçe listede yoksa önce yeni ilçe girebilsin.bunuda kişi kayıt ederken ilçe kısmında dblookupcombobox kullanarak yaparsın.kolay gelsin
[EDİT] kardeş sorunu yanlış anladım galiba 1 kişi birden fazla ilçede çalışabilir sanırım bunu nasıl yaparım diyorsun.Bunuda master/detail tabloyla yaparsın.
KİŞİ TABLOSU
PERSONELKODU
PERSONELADI
TELEFONU
V.S
İLÇELER TABLOSU
PERSONELKODU
ŞEHİRADI(OPSİYONEL)
İLÇEADI
şeklinde olur kişi tablosu ile ilçeler tablosu personelkodu alanı ile birbirine bağlanır.
[EDİT] kardeş sorunu yanlış anladım galiba 1 kişi birden fazla ilçede çalışabilir sanırım bunu nasıl yaparım diyorsun.Bunuda master/detail tabloyla yaparsın.
KİŞİ TABLOSU
PERSONELKODU
PERSONELADI
TELEFONU
V.S
İLÇELER TABLOSU
PERSONELKODU
ŞEHİRADI(OPSİYONEL)
İLÇEADI
şeklinde olur kişi tablosu ile ilçeler tablosu personelkodu alanı ile birbirine bağlanır.
Adres bilgilerini girerken IL_ILCE_KODU diye integer bir alana IL_ILCE_TABLOSU nu bağlayabilirsin.
KİŞİ TABLOSU
PERSONELKODU
PERSONELADI
TELEFONU
ADRES1
ADRES2
IL_ILCE_KODU INTEGER
V.S
IL_ILCE_TABLOSU
IL_ILCE_KODU INTEGER
IL_ILCE_ADI STRING(20)
0100 ADANA
0101 Ceyhan
0102 Yumurtalık
0103 ....
...
3400 İSTANBUL
3401 Adalar
3402 Kadıköy
3403...
3425 Ümraniye
vb.
Bu şekildeki bir yapı ile tek bir alanı seçerek kolayca arama yapabilirsin.
İlleri ayrı tabloda İlçeleri ayrı bir detay tabloda da verebilirsin. Bu sefer fazladan bir JOIN daha kullanman gerekecek iş biraz daha uzayacaktır
KİŞİ TABLOSU
PERSONELKODU
PERSONELADI
TELEFONU
ADRES1
ADRES2
IL_ILCE_KODU INTEGER
V.S
IL_ILCE_TABLOSU
IL_ILCE_KODU INTEGER
IL_ILCE_ADI STRING(20)
0100 ADANA
0101 Ceyhan
0102 Yumurtalık
0103 ....
...
3400 İSTANBUL
3401 Adalar
3402 Kadıköy
3403...
3425 Ümraniye
vb.
Bu şekildeki bir yapı ile tek bir alanı seçerek kolayca arama yapabilirsin.
İlleri ayrı tabloda İlçeleri ayrı bir detay tabloda da verebilirsin. Bu sefer fazladan bir JOIN daha kullanman gerekecek iş biraz daha uzayacaktır

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
herkese iyi çalışmalar diliyorum.
Ben bu olayı sadece istanbul için yapacağım yani sadece istanbulun ilçeleri olacak.İlçe sayısı yarın öbürgün artabilir o yüzden edit kutusuna aralarına virgül koyarak çalışmak istediği ilçeleri yazıp kaydedicem.
KISI TABLOSU
kisi_id
ad
soyad
ilceler
Veritabanını böyle düzenledim.KISI tablosuna Kişinin adını soyadını ve ılceler alanına da çalışmak istediği ilceleri aralarına virgül koyarak kaydediyorum.Örneğin
id:125
adı:ahmet
soyadı:sertkaya
ilceler:kartal,göztepe,bostancı,kadıköy
Her kayıdı böyle yaptım.Daha sonra arama yapmak istedim mesela kartal ve göztepede çalışabilirim diyenleri bulmak için nasıl bir sql kodu yazabilirim?.Burada ilçeleri aralarına virgül koyarak tek bir alanda ardarda yazmam sorun olur mu?
Ben bu olayı sadece istanbul için yapacağım yani sadece istanbulun ilçeleri olacak.İlçe sayısı yarın öbürgün artabilir o yüzden edit kutusuna aralarına virgül koyarak çalışmak istediği ilçeleri yazıp kaydedicem.
KISI TABLOSU
kisi_id
ad
soyad
ilceler
Veritabanını böyle düzenledim.KISI tablosuna Kişinin adını soyadını ve ılceler alanına da çalışmak istediği ilceleri aralarına virgül koyarak kaydediyorum.Örneğin
id:125
adı:ahmet
soyadı:sertkaya
ilceler:kartal,göztepe,bostancı,kadıköy
Her kayıdı böyle yaptım.Daha sonra arama yapmak istedim mesela kartal ve göztepede çalışabilirim diyenleri bulmak için nasıl bir sql kodu yazabilirim?.Burada ilçeleri aralarına virgül koyarak tek bir alanda ardarda yazmam sorun olur mu?
olur olmasınada zor olur.kulağı tersden göstermişsin.Forumda geçmişti ama bende bulamadım.örneğin googdaki gibi borlan delphi yazdığında içinde hem borland hem delphi yazanları bulur veya sadece borland delphi yazanlarıda aratabilirsin.neyse 2 dk.da süreceğin işi 2 güne çıkarmışın ama çözerler forumdaki arkadaşlar.
İlçe adlarını yanyana toplatıp LIKE veya CONTAINING komutu ile buldurabilirsin. Buradaki 'KADIKÖY' yerine :ILCE_ADI diye parametrik kullanmak daha kullanışlı olabilir. Veya sorguyu her seferinde kendin oluşturursan bu şekilde de kalabilir 
Kod: Tümünü seç
select * from tablo_adi
where ilce1||','||ilce2||','||ilce3||','||ilce4 containing 'KADIKÖY'

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!