• DİKKAT

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

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

Katılım
22 Aralık 2005
Mesajlar
423
Excel Vers. ve Dili
Microsoft 365
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
 
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
 
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
 
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
 
.txtALAN
Kırmızı Nokta
 
Geri
Üst