Skip to main content

AccessTr.neT


Birinci Alanda Geçen Herhangi Bir Kelime İkinci Alanda Varsa İstenilen Alana "x" Yazd

Birinci Alanda Geçen Herhangi Bir Kelime İkinci Alanda Varsa İstenilen Alana "x" Yazd

#9
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
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
RE: Birinci Alanda Geçen Herhangi Bir Kelime İkinci Alanda Varsa İstenilen Alana "x" Yazd - Yazar: berduş - 19/09/2024, 10:26
Task