Where Komutunu beceremedim.

22/04/2013, 16:50

merdal

Herkese kolay gelsin

Ekteki formda combobox da after update sonrasında Vba da yazdığım kod çalışmıyor.
Where komutunu çalıştıramadım. Koda bakıp düzeltebilirmisiniz. Yardımınız için şimdiden teşekkürler.
22/04/2013, 21:28

alpeki99

Açılır kutuda yazdığınız her şey çalışır vaziyette. Hatanız tabloda olmayan/yanlış şeyi aramanızdan kaynaklanıyor.

strSQL = "SELECT * FROM TBLDOVIZ WHERE AKTIF=" & E & "  ORDER BY DOVIZKODU "

Burada Where kısmında Aktif isimli alanın değerinin E olmasını söylüyorsunuz. Halbuki açılır kutunuzdan böyle bir sonuç gelmemekte.

Çözüm için ipucu vereyim bakalım halledebilecek misiniz?

Açılan kutunun değerinin ne olduğunu MsgBox komutu ile anlayabilirsiniz.
22/04/2013, 23:14

merdal

Kusura bakmayın çözemedim. Ama benim yapmak isdeğim "Aktif" i seçtiğimde Alan değeri "E" olanları listelesin "Pasif" i seçtiğimde alan değeri "H" olanları listelesin "Hepsini seçtiğimde hepsini listelesin bunu zaten yapıyorum ama diğer seçenekleri yapamadım. Bu gün akşama kadar bununla uğraştım. Ama olmadı.
22/04/2013, 23:26

alpeki99

Sizin Vba kodunda yazdığınız :

strSQL = "SELECT * FROM TBLDOVIZ WHERE AKTIF=" & E & "  ORDER BY DOVIZKODU "

E ne anlama gelir? E isminde bir denetim var ve onun değerini kriter olarak vermeye çalıştığınız anlamına gelir. Oradaki E harfini tırnakların dışına değil içine yazmalısınız.

Nihayetinde kod şöyle olacak:
Select Case cbAktif
Case 1
strSQL = "SELECT * FROM TBLDOVIZ WHERE AKTIF='E' ORDER BY DOVIZKODU "
Liste10.RowSource = strSQL
Liste10.Requery

Case 2
strSQL = "SELECT * FROM TBLDOVIZ WHERE AKTIF='H' ORDER BY DOVIZKODU "
Liste10.RowSource = strSQL
Liste10.Requery

Case 3
strSQL = "SELECT * FROM TBLDOVIZ ORDER BY DOVIZKODU "
Liste10.RowSource = strSQL
Liste10.Requery

End Select
24/04/2013, 00:28

merdal

Çok teşekkür ederim cevabınızla sorunu çözdüm