İle bağlı olarak sql ile ilçelerin gelmesi

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar;

il ve buralara bağlı ilçe adlarını içeren 2 sütunlu bir tablom [tblIlIlce] var;
Alan adları: İl ve İlçe
.........
......
Ankara >>> Altındağ
Ankara >>> Yenimahalle
Afyon >>> Bolvadin
......
.........

Form üzerindeki; Combobox ta [Cmbil] seçtiğim il bilgisine göre ilçe adlarını diğer Combobox' a [CmbIlce] liste olarak yazacak...
bu işlemi sorgu oluşturarak yaptım, Sorguya gerek kalmadan sql komutuyla bu işlemi nasıl yapabilirim.

aşağıdaki sql kodunu yazmaya çalıştım. yalnız burada bildiğim kadarıyla bu koşula uyan tüm satır (il ve ilçe) bilgileri geliyor. sadece ilçe adlarını nasıl listeleyebilirim.

Kod:
txtSearchil = Me.Cmbil
strSQL = "SELECT [İl],[İlçe] FROM [tblIlIlce]"
strSQL = strSQL & "WHERE (([tblIlIlce].[İl]) Like '" & txtSearchil & "')"

Me.CmbIlce.RowSource= strSQL........?
 
Katılım
15 Kasım 2006
Mesajlar
583
Excel Vers. ve Dili
Ms Office 2003 Türkçe
bununla ilgili okadar çok örnek varki forumda.


sayın idareci,
aslında bununla ilgili en iyi örnek seçilip sabitlense, baya bi faydalı olacak kanımca.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın tamer42,

Açılan kutunun özellikler penceresinden biçim sekmesindeki sütun sayısını 2 yapın. Sonra Sütun genişliklerini de 0cm;2,5cm olarak ayarlayın.

İşte bukadar.

Bu özelliklerin ayarını kodlada yaptırabilirsiniz.

İyi çalışmalar
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
bununla ilgili okadar çok örnek varki forumda.
il-ve ilçe olarak örnek çok, yalnız bu bağlamda bildiğiniz örnek varsa linkini gönderebilirmisiniz.

Teşekkürler, İyi Çalışmalar.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Sn Modalı teşekkürler,
Açılan kutunun özellikler penceresinden biçim sekmesindeki sütun sayısını 2 yapın. Sonra Sütun genişliklerini de 0cm;2,5cm olarak ayarlayın.
henüz deneyemedim ama kesin olur.
benim aradığımda buydu zaten

tekrar teşekkürer, iyi akşamlar.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Sn Modalı seyahatte olduğum için bakamamıştım,

teşekkürler, dediğiniz gibi yaptım her şey ok.

Kafama takılan 2 noktayı sorabilirmiyim.

sql kodu sonucunda tek değer (satır) geldiğini farzedelim.

1- Combobox ta 2. sütunda olan değeri bir türlü alamadım, (başka bir yere daha[TextBox] yazdırmak istiyorum)

bu kodu yazdım ama olmadı.
Kod:
strs = Me.CmbIlce.Column(2)
Me.TextBox11 = strs

2- Birde combobox başlangıçta hep boş geliyor, içerisinde ne olduğuna ancak açılan kutudan bakabiliyorum..

Yardımcı olursanız sevinirim.

İyi Çalışmalar.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın tamer42,

VBA da sayma daima 0 dan başlar yani ilk sütunun indexi 0 ikincinin ise 1 dir. O zaman ikinci sütun için Column(1) olarak belirtilecek.

Eğer açılan kutuya varsayılan değer atarsanız o zaman boş gelmez.


İyi çalışmalar:)
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Sn Modalı ilginize teşekkürler;

Kod:
strs = Me.CmbIlce.Column(1)
hem Column(0) hemde Column(1) olarak denedim, her iksinde de aşağıdaki hata mesajını veriyor.


Run-tim error '94':
Invalid use of Null
İyi çalışmalar....
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın tamer42,

Hatanın ne anlama geldiğini sırım anladınız. Hatalı boş kullanımı demek istiyor. Siz herhangi bir seçim yapmadığınızdan bir değişkene boşu attıyorsunuz ve hata üretiyor. Bu hatayı aşabilmek için Nz fonksiyonu kullanılıyor. Kullanımı şöyle:

Nz(Boşdönenalan,"Boş ise atanacak değer")

Siz böyle kullanabilirsiniz:

Kod:
 [LEFT]strs =Nz( Me.CmbIlce.Column(1),"Değer Yok")[/LEFT]
İyi çalışmalar:hey:​
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Sn Modalı ilgi ve alakanıza çok teşekkürler....

Siz herhangi bir seçim yapmadığınızdan bir değişkene boşu attıyorsunuz ve hata üretiyor.
Combobox ta bu seçimi nasıl yapabiliriz.

devamlı "Değer Yok" sonucu geliyor, oysa combobox 'ta bir değer var.

Kod:
Me.CmbIlce.RowSource= strSQL
kodu ile beraber (aynı süreçte)
Kod:
strs =Nz( Me.CmbIlce.Column(1),"Değer Yok")
Me.TextBox11 = strs
"strs" değişkenin de oluşmasını istiyorum.


İyi günler, iyi Çalışmalar.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın tamer42,

Bir yerde mantık hatası yapıyorsunuz. Diyelim ki açılan kutuda 200 adet kayıt var. bu kayıtlardan hangisi atanacak metin kutusuna. Ancak açılan kutuda bir kayıt seçtikten sonra o kayıt geçerli oluyor, o kayıt tabloya kaydediliyor ve o kayıt herhangi başka bir elemana atanabiliyor.

O yüzden mutlaka bir kayıt seçildikten veya atandıktan sonra açılan kutunun verisi dolu sayılıyor.

İyi çalışmalar
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Sn Modalı;

"Column(1,0)" deyince herhangibir seçime gerek kalmaksızın sorun çözüldü,

Kod:
strs =Nz( Me.CmbIlce.Column(1,0),"Değer Yok")
benim çalışmamda açılan kutuda ya 1 kayıt vardır, yada hiç yoktur.

Kod:
Me.CmbIlce.RowSource= strSQL
bu kaydın default olarak gelmesi için nasıl ayarlayabilirim.


Me.CmbIlce.DefaultValue = strs

yaptım ama olmadı.

teşekkürler,
İyi Çalışmalar.
 
Üst