Soru ADO ile Access Veritabanında "içerir" Filtrelemesi

bluefalcon

Altın Üye
Altın Üye
Katılım
22 Aralık 2005
Mesajlar
418
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
03.12.2025
Arkadaşlar Merhaba,

Bir user form üzerinden acces veritabanındaki verileri filtreleyerek listbox nesnesine listeliyorum. Sorunum aşağıdaki kod satırındaki LIKE kısmında. Userform üzerindeki textboxa girilecek örneğin Ahmet isimli kişiye gelen kargoların listelenmesinde. Kod satırındaki sıkıntıyı nedense bulamadım * yerine % operatörünü de denedim olmadı, acces üzerinde sorgu yazarak içerir kriterine bir değer yazınca çalışıyor ama VBA tarafında aynı mantığı çalıştıramadım. Destek olursanız çok memnun olurum.

Kod:
Set rs = CreateObject("ADODB.recordset")
isimlistele = "SELECT * FROM [GELEN_KARGO_TAKIP] WHERE ALICIADISOYADI LIKE '*" & .txtALAN & "*' And KAYITYAPAN = " & prs
rs.Open isimlistele, AdoCN, 1, 3
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,286
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
KAYITYAPAN alanının Char/VarChar olabilme ihtimali var. Aşağıdaki gibi deneyin.
C#:
Set rs = CreateObject("ADODB.recordset")
isimlistele = "SELECT * FROM [GELEN_KARGO_TAKIP] WHERE ALICIADISOYADI LIKE '%" & txtALAN & "%' And KAYITYAPAN = '" & prs & "'"
rs.Open isimlistele, AdoCN, 1, 3
 

bluefalcon

Altın Üye
Altın Üye
Katılım
22 Aralık 2005
Mesajlar
418
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
03.12.2025
KAYITYAPAN alanının Char/VarChar olabilme ihtimali var. Aşağıdaki gibi deneyin.
C#:
Set rs = CreateObject("ADODB.recordset")
isimlistele = "SELECT * FROM [GELEN_KARGO_TAKIP] WHERE ALICIADISOYADI LIKE '%" & txtALAN & "%' And KAYITYAPAN = '" & prs & "'"
rs.Open isimlistele, AdoCN, 1, 3
Zeki Bey yanıtınız için teşekkür ederim. accdb dosyasında KAYITYAPAN alanı Byte boyutunda Number veri tipinde tanımlı. İlettiğiniz gibi belki sorun oradadır diyerek AND operatörünü de kaldırarak denedim ancak sonuç döndürmüyor.

Aşağıdaki tarih bazındaki satır sorunsuz çalışıyor ancak nedendir bilemiyorum LIKE operatörü ile "içerir" kriterini VBA da sorgulatamadım :(

Kod:
rs.Open "SELECT * FROM [GELEN_KARGO_TAKIP] WHERE TARIH = " & tarih & " And KAYITYAPAN = " & prs, AdoCN, 1, 3
 

bluefalcon

Altın Üye
Altın Üye
Katılım
22 Aralık 2005
Mesajlar
418
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
03.12.2025
Ne oldu nasıl oldu bilmiyorum ama aşağıdaki blok ile çözüme ulaştım. Destek olan yada aklından bir şekilde geçiren herkese çok teşekkür ediyorum.


Kod:
tanimlanan = "SELECT * FROM [GELEN_KARGO_TAKIP] WHERE ALICIADISOYADI LIKE '%" & .txtALAN & "%' And KAYITYAPAN = " & prs
rs.Open tanimlanan, AdoCN, 1, 3
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,699
Excel Vers. ve Dili
Microsoft 365 Tr-64
.txtALAN
Kırmızı Nokta
 
Üst