AccessTr.neT
Where Komutunu beceremedim. - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Where Komutunu beceremedim. (/konu-where-komutunu-beceremedim.html)



Where Komutunu beceremedim. - merdal - 22/04/2013

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.


Cvp: Where Komutunu beceremedim. - alpeki99 - 22/04/2013

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.


Cvp: Where Komutunu beceremedim. - merdal - 22/04/2013

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ı. Img-cray


Cvp: Where Komutunu beceremedim. - alpeki99 - 22/04/2013

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



Cvp: Where Komutunu beceremedim. - merdal - 24/04/2013

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