Regular Expression kullanılarak yapılabilir ama ne kadar sağlıklı olur emin değilim.
cümleyi boşluklara göre parçalayıp içerik kontrolü sağlanabilir ama boşluk yerine noktalama işareti kullanılmışsa yada
birleşik kelimeler varsa sorun çıkar. mesela "veli" kelimesi aranıyorsa "develi" kelimesi de doğru kabul edilebilir. onu engellemek için aranan "veli" yerine " veli " yazılabilir bu durumda da "." ile bitenler bulunmayabilir.
ben her kelimenin " " boşluk ile ayrıldığını ve noktalama işareti kullanılmadığını varsaydım
Yapılacaklar:
1 - çalışmanıza bir
modül ekleyip modüle aşağıdaki kodu yapıştırın
Function xRegEx(xBol As String, xKontrol As String) As Boolean
xRegEx = False
xBol = Replace(xBol, " ", " | ")
Dim RegEx As Object
Set RegEx = CreateObject("VBScript.RegExp")
With RegEx
.IgnoreCase = True
.Global = True
.MultiLine = True
.Pattern = "(" & xBol & ")"
xRegEx = .Test(" " & xKontrol & " ")
End With
End Function
2 - bir sorgu oluşturup aşağıdaki kodu kullanın
update [sıemens] set statu="x" WHERE (((xRegEx([sıemens]![GIRDI_FIRMA],[sıemens]![NMCRL_NCAGEName]))=-1));
bu güncelleme sorgusunu çalıştırdığınızda
statu alanı otomatik olarak güncellenir.
dilerim işinize yarar
Not:
CreateObject("VBScript.RegExp") regexpi kullanabilmeniz için gerekli kütüphanedir istenirse
Microsoft VBScript Regular Expressions referansı ile bu sağlanabilmektedir.
VBA Editöründe( ALT+F11) iken menüden
Tools / References … tıklanır.
Açılan pencerede listeden
Microsoft VBScript Regular Expressions seçilip OK tıklanır.
Not2: tablonuzun adı "sıemens" yani küçük I kullanılmış İngilizcede küçük ı harfi yoktur. çalışmalarınızda İngilizcede kullanılmayan karakterler kullanmanız sorun çıkarabilir
forumda tablo-alan-nesne isimlendirme kurallarıyla ilgili bilgilendirme mevcuttur.
iyi çalışmalar