Vba İle Oluşturulan Sql Metninde "%" Karakterinin Kullanımı.

1 2 3 4 5
02/02/2020, 15:46

alicimri

Kod:
Dim ys As New ADODB.Recordset
sorgu = "Select* From TabloAdı Where AlanAdı Not Like '%[cçdefgğhiıjklmnoöprsştuüvyz]%'"
ys.Open sorgu, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

Bir kelime listesinden belirli harflerden oluşan kelimeleri sorgulamak istemiştim, Deneme yanılma yolu ile uğraşırken, Access'de like  ile kullanılan"*" karakteri yerine yanlışlıkla Sql Server'de kullanılan "%"  kullandım ve istediğim sonuca ulaştım. Bu durum hakkında bir araştırma yaptım, hiç bir açıklamaya ulaşamadım. Bu konuda bilgisi olan var mı?
Not: Yukarıdaki kod ile a ve b harflerinin bulunduğu kelimeleri sorgulanmaktadır.
02/02/2020, 16:37

feraz

'%[aAbB]%'

Not yazanı kaldırın.

Bu şekilde a ve b leri aratabilirsiniz ve % olmalı başka yolu yok.
02/02/2020, 17:16

alicimri

Ben sorumu sonradan düzeltmiştim, örneğin a ve b harflerinden oluşan ab, ba, bab, baba gibi...…… (içeren değil) kelimeleri sorgulatıyordum. "Not" ifadesini kaldırıp, ab yazınca a veya b harflerini içeren tüm kelimeleri veriyor.
02/02/2020, 17:20

feraz

(02/02/2020, 15:46)alicimri yazdı: Not: Yukarıdaki kod ile a ve b harflerinin bulunduğu kelimeleri sorgulanmaktadır.


Tamam üstad yukarıdan a yada b varsa anlamıştım.
03/02/2020, 06:52

alicimri

Haklısın yukarıdaki metinde düzelttiğim halde Not kısmında yanlış anlamaya yol açan ibare kalmış. 
Ancak benim asıl sorduğum "%" karakterini Access'in nasıl kabul ettiği idi. Biraz daha araştırdım, belli koşullarda kullanabiliniyormuş.
https://support.microsoft.com/tr-tr/help/823224
03/02/2020, 11:22

ozanakkaya

Merhaba, Uygulamanızda, Access Seçenekleri -> Nesne Tasarımcıları sekmesinde, "SQL Server Uyumlu Söz Dizimi (ANSI 92) onay kutusu işaretli mi?


1 2 3 4 5