Tablodan ComboBox a Sorgulu veri alma?

1 2
19/04/2011, 16:15

prtkl

Merhabalar.

Ekte gönderdiğim örnekte yapmayı amaçladığım şey yarım kaldı.

Örnekle açıklayayım:

Formda bulunan Marka adlı açılan kutucuktan (ComboBox) Opeli seçtiğimde;
Modeli açılır kutucuğunda Astra ve Vectrayı listeletmek istiyorum.
ya da Citroeni seçtiğimde C3 ve C4 ü listeletmek istiyorum.

Markaya göre modelleri combobox a nasıl aktarabilirim.

Yardımcı olursanız sevinirim. Kolaygelsin.

19/04/2011, 16:24

mehmetdemiral

Bununla ilgili il-ilçe seçimi biçiminde birçok örnek sitede mevcut. Ben size küçük bir örnek hazırlayayım. Bekleyin.
19/04/2011, 16:47

mehmetdemiral

Sizin için bir örnek yaptım. Lütfen ilişkilere ve tabloya kaydedilen veriye dikkat edin. Verinin tamamen sayılardan oluştuğuna ve en sorunsuz veri depola yöntemi olduğuna dikkat edin. Aynı yapıyla devam edebilirsiniz.

Kolay gelsin.
20/04/2011, 10:08

prtkl

Uğraşınız için teşekkür ederim.

Ben kendi örneğimi o kadar basit hale getirdim ki sizi yormayayım diye :P
Benim projemde bahsi geçen marka ların modellerinin sayısı 1 2 değil onlarca ki bunlar araç marka modelleri de değiller; anlaşılır olması açısından araçlarla ilgili basit bi örnek yaptım. Bu yüzden Modeller adlı tabloyu yeniden oluşturmam benim günlerimi alır.

Her marka için modelleri neden altalta tekrarladığımızı anlamadım. en az 10 tane markası olan 100 tane model olsa her bir modeli 10 kez alt alta satır açıp yazmak bana pek uygun gelmedi.

Daha basit bir çözüm yapamaz mıyız? Kodla da olablir.


il-ilçe ile ilgili örnekleri inceliyorum teşekkürler uyarı için
21/04/2011, 16:22

prtkl

(19/04/2011, 16:47)mehmetdemiral yazdı: Lütfen ilişkilere ve tabloya kaydedilen veriye dikkat edin. Verinin tamamen sayılardan oluştuğuna ve en sorunsuz veri depola yöntemi olduğuna dikkat edin.
Kolay gelsin.

Yardımınızla ve örnekleri inceleyerek sonunda istediğimi yapabildim. Ancak şuan verinin kaydıyla ilgili sorunum var.

"Kayıt Numarası" değilde, Kayıt numarasına ait marka yada modeli tabloya kaydedebilmek için ne yapmamız gerekiyor? Rica etsem son gönderdiğiniz örnek üzerinden gösterebilir misiniz? Çünkü ben sonunda kaydedilen bu bilgileri rapora gönderiyorum.

Raporda Markanın karşısında sayılar değilde marka adının kendisi olmalı.

MARKA : 8

yerine

MARKA: OPEL

gibi.


Kolay gelsin
22/04/2011, 22:49

mehmetdemiral

Bakın şöyle anlatayım. Bir bilgi eğer bir şekilde kodlandıysa onun decoderi de bulunur. İşlem tersine yapılırsa kodlanan şey çözülür. Yani siz tabloya kaydedilen sayıların, böyle saçma bir şekilde depolandığını mı düşündünüz. Kesinlikle öyle değil. Her bir sayının referans tablosunda karşılığı bulunur. Yani siz sorguları inceleyerek birbirleriyle ilişkili alanlardaki bağlantının nasıl ismi getirdiğini öğrenein bence. Bakın bu çalışmayla ilgili bir basit rapor oluşturuyorum şimdi. Eklediğimde onu inceleyin ve kayıt kaynağında sayıların nasıl isme dönüştüğünü keşfedin.

Bu arada istediğini belki başkası yapar ama ben yapamam. Çünkü bu sitede admin olan bir kişi, sayısal alanların depolanarak tablonun şişmesinin önüne geçmeyi defalarca önerdiği biryerde basit bir veritabanı oluşturup tüm anlattıklarına ters düşmesini bekleyemezsiniz. Doğru olan ve tüm dünyada yaygın olan bir yöntemdir bu. Bence siz bu sağlam yapıyı öğrenmelisiniz. Hem de temelden. Bunun için gereken dersi ben vermeye hazırım. Yeter ki saçma şekillerde yapısal değişimler istemeyin benden. Yapmak çok kolaydır ama yapılmaz. Birazdan örneği göndereceğim. Oradak raporu ve kayıt kaynağını inceleyin lütfen. Bana hak vereceksiniz.

Neden bu depolama biçiminin kullanıldığına gelince, biraz anlatayım da diğer üyeler de dinlesin. Diyelim ki bir veri tabanı oluşturuyoruz. Bu veritabanına diyelim 1000 kayıt gireceğiz. Bu 1000 kaydın içinde mesela Türkiye'deki şehirler de olsun. Sadece her bir kayıttaki il isimlerinin sizin istediğiniz gibi kaydedildiğini düşünelim. Her bir karakter için de mesela 1 lira ödüyor olalım. İstanbul(8), Ankara(6), Kırklareli(10), Kahramanmaraş(13)
Veriyi kullanmak gerektiğinde de bir sorgu yaparak iki tablodan veri çekeceksiniz. Örnekte bunu görebilirsiniz. Kolay gelsin.
1 2