• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Combobox Kafayı Yedirecek (Combobox Prb.)

Katılım
24 Kasım 2007
Mesajlar
769
Excel Vers. ve Dili
Office 365 - Türkçe
Arkadaşlar ekte bir lup listesi hazırladım. Liste kısmında list hücrelerinden birine basınca userform çıkıyor.

Modül ile Makine comboboxı birbiri ile çalışıyor
Hat ile Referans comboboxı çalışmıyor


Hat comboboxın içinde rakamlar ve sayılar olmasına rağmen sadece rakamlar çıkıyor. Lütfen yardım edin

Kod:
Dim con As Object
Private Sub ComboBox4_Change()
On Error Resume Next
ComboBox5.Clear
ComboBox5.Column = con.Execute("select distinct MAKINA from [Ayarlar$] where MODUL ='" & ComboBox4.Text & "'").getrows
End Sub
Private Sub ComboBox2_Change()
On Error Resume Next
ComboBox6.Clear
ComboBox6.Column = con.Execute("select distinct REFERANS from [Ayarlar$] where HAT ='" & ComboBox2.Text & "'").getrows
End Sub
Private Sub UserForm_Activate()
Set con = CreateObject("adodb.connection")
con.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.FullName & ";extended properties=""excel 8.0;hdr=yes"""
ComboBox4.Column = con.Execute("select distinct MODUL from [Ayarlar$]").getrows
ComboBox2.Column = con.Execute("select distinct HAT from [Ayarlar$]").getrows
End Sub
Private Sub UserForm_Terminate()
Set con = Nothing
End Sub
 

Ekli dosyalar

Neden oldu nasıl oldu anlayamadım ama Ayarlar sayfasındaki HAT başlığını değiştirip denedim oldu. Tekrar HAT yazdım çalılışmaya devam ediyor.

Tabi HAT başlığı yerine ne yazarsanız aşağıdaki kodu da değiştirmeniz gerekmekte

Kod:
ComboBox2.Column = con.Execute("select distinct [COLOR="Red"]HAT[/COLOR] from [Ayarlar$]").getrows
 
Neden oldu nasıl oldu anlayamadım ama Ayarlar sayfasındaki HAT başlığını değiştirip denedim oldu. Tekrar HAT yazdım çalılışmaya devam ediyor.

Tabi HAT başlığı yerine ne yazarsanız aşağıdaki kodu da değiştirmeniz gerekmekte

Kod:
ComboBox2.Column = con.Execute("select distinct [COLOR="Red"]HAT[/COLOR] from [Ayarlar$]").getrows

Malesef olmadı
Hat kısmında hep sayı çıkıyor, aralara metin girmeme rağmen
ve hat ile referans comboboxları uyumsuz
value yapıyorum yine olmuyor
 
Kod:
con.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.FullName & ";extended properties=""excel 8.0;hdr=yes"""

Yukarıdaki satıra aşağıodaki kırmızı renkli ilaveyi yapın.

Kod:
con.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.FullName & ";extended properties=""excel 8.0;hdr=yes;[COLOR=red][B]IMEX=1[/B][/COLOR]"";"
 
Kod:
con.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.FullName & ";extended properties=""excel 8.0;hdr=yes"""

Yukarıdaki satıra aşağıodaki kırmızı renkli ilaveyi yapın.

Kod:
con.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.FullName & ";extended properties=""excel 8.0;hdr=yes;[COLOR=red][B]IMEX=1[/B][/COLOR]"";"

Hocam şu IMEX olayı ikinci kez başıma geliyor. Yine buna benzer problem olmuştu ve sorumun cevabı IMEX=1 yerine IMEX=2 yapmakmış. Deli olmuştum. Şu andada aynı durumdayım. Gerçekten çok teşekkür ediyorum yardımlarınız için.

Ulan IMEX senide ALLAH'a havale ediyorum
 
imex'in önemi konusunda aşağıdaki makaleyi öneriyorum.

http://support.microsoft.com/kb/194124/tr


IMEX, olası ayarlar şunlardır:
0 is Export mode
1 is Import mode
2 is Linked mode (full update capabilities)

1 veri çekerken (import) karışık veri tiplerinin TEXT olarak dikkate alınmasını sağlıyor.
2 ise tabloları link'leyip güncellemeye imkan veriyor.
 
Kod:
con.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.FullName & ";extended properties=""excel 8.0;hdr=yes"""

Yukarıdaki satıra aşağıodaki kırmızı renkli ilaveyi yapın.

Kod:
con.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.FullName & ";extended properties=""excel 8.0;hdr=yes;[COLOR=red][B]IMEX=1[/B][/COLOR]"";"

Levent bey sanırım sorun yine tekrarlamaya başladı
Ekte gönderdiğim dosyayı inceleyebilirmisiniz
HAT - MODUL - MAKINA (kendi aralarında üçlü combobox ilişkisi)
HAT - REFERANS (kendi aralrında ikili combobox ilişkisi)

Hat : Metin karakteri olursa örneğin PAL herşey çalışıyor
ama Sayısal olursa 10,20,100 gibi referans comboboxsında veya diğer comboboxlarda liste çıkmıyor

Örneğin üst satırlarda PAL yazan kısmı 10 yapın herşey süper. Yoksa comboboxın çalışması için belli bir sınırımı görüyor
İlgili kodlarda şu şekilde ;

Kod:
Dim con As Object
Private Sub ComboBox4_Change()
On Error Resume Next
If ComboBox4.Value = "" Then Exit Sub
ComboBox5.Clear
ComboBox5.Column = con.Execute("select MAKINA from [Ayarlar$] where HAT ='" & ComboBox2.Value & "' and MODUL= '" & ComboBox4.Value & "'").getrows
End Sub

Private Sub ComboBox2_Change()
On Error Resume Next
ComboBox6.Clear
ComboBox5.Clear
ComboBox4.Clear
ComboBox6.Column = con.Execute("select distinct REFERANS from [Ayarlar$] where HAT ='" & ComboBox2.Text & "'").getrows
ComboBox4.Column = con.Execute("select distinct MODUL from [Ayarlar$] where HAT ='" & ComboBox2.Text & "'").getrows
End Sub

Private Sub UserForm_Activate()
Set con = CreateObject("adodb.connection")
con.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.FullName & ";extended properties=""excel 8.0;hdr=yes;IMEX=1"";"
ComboBox2.Column = con.Execute("select distinct HAT from [Ayarlar$]").getrows
End Sub

Private Sub UserForm_Terminate()
Set con = Nothing
End Sub
 

Ekli dosyalar

Sanıyorum aradaki tanımlanan boş satırlar sorun çıkartıyor, Bence bir dosyanın kendi içinde ADO kullanılması uygun bir çözüm değil. Dosyanızı kapatsanız bile bir kopyası hep açık kalır. Yaptığınız işlemleri standart bir çok uygulama ile kolayca yapmanız mümkün. Size önerim metod tercihinizi değiştirin.
 
Geri
Üst