combobox ve ado hakkın

Katılım
20 Ocak 2006
Mesajlar
31
Excel Vers. ve Dili
Microsoft Office 2003 - İngilizce
Ustalarım saygılar,

ADO kullanarak bağlantı kurduğum bir dosyadan ComboBox1 nesnesine veri alıyorum . Bunu yaparken kayit!KullaniciAdi yazarsam makrom çalışıyor ve kullanıcı adı isimli kolondaki tüm veriler combobox'a geliyor. Ancak amacım aynı sayfa içerisinde yer alan TextBox1 nesnesi içerisine girilen değere göre verilerin gelmesi. Örneğin TextBox1 içerisinde excel girildiğinde excel kolonu verileri gelsin.

Yardımlarınız için şimdiden teşekkürler


UserForm2.ComboBox1.Clear
Do While Not kayit.EOF
UserForm2.ComboBox1.AddItem kayit!KullaniciAdi (Bu kısmın değişeceğini düşünüyorum ancak bulamadım)

kayit.MoveNext
Loop
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki şekilde deneyin.

UserForm2.ComboBox1.AddItem kayit! & Textbox1
 
Katılım
20 Ocak 2006
Mesajlar
31
Excel Vers. ve Dili
Microsoft Office 2003 - İngilizce
Levent Bey iyi akşamlar,

İlginiz için teşekkürler. Ancak hata aldım. Bu şekilde de olmadı. Umarım sorunumu tam olarak anlatabilmişimdir.

Teşekkürler.
HD
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Birde aşağıdaki gibi deneyin.

if kayit!KullaniciAdi=Textbox1 then UserForm2.ComboBox1.AddItem kayit!KullaniciAdi
 
Katılım
20 Ocak 2006
Mesajlar
31
Excel Vers. ve Dili
Microsoft Office 2003 - İngilizce
Levent Bey maalesef bu sefer de KullaniciAdi sütununda yer alan verilerden yalnızca ilkini getirdi. Yani sürekli kendini tekrar ederek tüm verileri de alamadım. Sizi çok yoruyorum kusura bakmayın.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Rica ederim. Aslında sorun benim ADO ile veri alınması hakkında yeteri kadar bilgi sahibi olmamamdan kaynaklanıyor. Birde aşağıdaki gibi deneyin.

UserForm2.ComboBox1.AddItem "kayit!" & Textbox1
 
Katılım
20 Ocak 2006
Mesajlar
31
Excel Vers. ve Dili
Microsoft Office 2003 - İngilizce
Maalesef bu sefer de olmadı. İstediğim bir çeşit koşullu verilendirme. Yani textbox1'e kullanıcı adını yazan birisinin kullanıcı adına göre ComboBox1'e verileirn gelmesi. Bunu yaparken ADO ile bağlanıan dosyada ilgili sütundan veri alması. If kullanmak istemedim, çünkü gerçekten çok fazla kod oluyor.

Ayrıca çok mütevazi davrandığınızı söylemek istiyorum. ADO hakkında tüm bildiklerimi sizin yazdıklarınızdan öğrendim.

Saygılar
HD
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Öncelikle şunu belirteyim mütevaziliğimden ziyade gerçekten konuya vakıf değilim. Muhtemelen kodları Sn Haluk beyin çalışmalarından aldınız. Çünkü konunun uzmanı kendisidir.

Eğer verileri bir excel sayfasına alabiliyorsanız, bu sayfadan eleme yaparak comboboxa yükleme yapılabilir. Bunun içinde verilerin alınmış halinide içeren bir örnek dosya eklemenizde fayda olduğunuz düşünüyorum.
 
Katılım
2 Mart 2005
Mesajlar
225
Excel Vers. ve Dili
2003
2007
2010
Kod:
UserForm2.ComboBox1.AddItem kayit(TextBox1)
veya;
Kod:
UserForm2.ComboBox1.AddItem kayit.Fields(TextBox1)
Sanırım sorununuzu çözer. Adoda alan adları nesnedir. Text değildir.
 
Katılım
20 Ocak 2006
Mesajlar
31
Excel Vers. ve Dili
Microsoft Office 2003 - İngilizce
Sayın idogus,

Önermiş olduğunuz kodları denedim ancak bir sonuç alamadım. EKte göndermiş olduğum dosya içerisinde 2 adet excel çalışma kitabı bulacaksınız. Bunlardan data isimli olanı C:\data.xls olarak konuşlandırırsanız, örnek isimli çalışma kitabı açıldığında içinde yer alan textbox1 alanına isim girildiğinde ComboBox1'e c:\data.xls çalışma kitabından isimle ilişkili alanın tanımlanmasını istiyorum.

İlginiz ve emeğiniz için teşekkürler.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu deneyin.

[vb:1:59bfe4c389]Private Sub CommandButton1_Click()
On Error Resume Next
Application.ScreenUpdating = False
ad = ActiveWorkbook.Name
Workbooks.Open Filename:="C:\data.xls"
Workbooks(ad).Activate
Set s1 = Workbooks("data.xls").Sheets("combo")
son = s1.[a65536].End(3).Row
sut = s1.[a1:z1].Find(TextBox1).Column
ComboBox1.Clear
For a = 2 To son
ComboBox1.AddItem s1.Cells(a, sut)
Next
Workbooks("data.xls").Close
ComboBox1.ListIndex = 0
End Sub
[/vb:1:59bfe4c389]
 
Katılım
20 Ocak 2006
Mesajlar
31
Excel Vers. ve Dili
Microsoft Office 2003 - İngilizce
Sayın Leventm idogus,

Yardımlarınız için çok teşekkürler, sanırım IF formülü kullanmak zorunda kalacağım. Emeklerinize sağlık ustalarım.

Saygılar
 
Katılım
2 Mart 2005
Mesajlar
225
Excel Vers. ve Dili
2003
2007
2010
Ekteki örnek bende çalışıyor sizin istediğiniz bu değilse ben ne istediğinizi anlamadım.
 
Üst