Şunu söyleyebilirm, konuya tam hakim olamadığım için anlattıklarınızdan yola çıkarak istenilen yere X ifadesini kullanmışsınız burası net değil.
çözüm yolu olarak size iç içe IIF komutunu kullanmanızı öneririm. Doğru ifadeyi ve değişkenleri doğru yere yerleştirerek sonuç alabilirsiniz.
Örnek Link;
https://accesstr.net/konu-ic-ice-iif-kullanimi.html
1.Şart olmazsa 2.Şarta Bak, 2.Şart olmazsa 3.Şarta Bak, 3.Şart olmazsa 4.Şarta bak.......Hiçbir şart sağlanmazsa birşey yapma boş geç gibi.......
Birinci Alanda Geçen Herhangi Bir Kelime İkinci Alanda Varsa İstenilen Alana "x" Yazd
ilginizden dolayı çok teşekkür ederim
inceleyeceğim.
inceleyeceğim.
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
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
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ınupdate [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
Berduş hocam ilginizden dolayı çok teşekkür ederim.
genelde tablo adlarında büyük harf kullanmaktayım örnekte yanlışlıkla küçük harf kullanmışım.
tablo adını güncelledim.
yolladığınız modül ü yapmaya çalıştım sorguyu da yaptım ancak hata verdi sıkıntı nerede anlamadım
dosyayı ekte yolluyorum mümkünse bi bakabilir misiniz? nerede hata yaptım.
şimdiden çok teşekkür ediyorum.
genelde tablo adlarında büyük harf kullanmaktayım örnekte yanlışlıkla küçük harf kullanmışım.
tablo adını güncelledim.
yolladığınız modül ü yapmaya çalıştım sorguyu da yaptım ancak hata verdi sıkıntı nerede anlamadım
dosyayı ekte yolluyorum mümkünse bi bakabilir misiniz? nerede hata yaptım.
şimdiden çok teşekkür ediyorum.
xRegEx fonksiyonunu 2 ayrı modülde kullanmışsınız
fonksiyonlar yerel/public tanımlanmadıkları için aynı ada sahip 2 fonksiyon olamaz
fonksiyonlardan birini silerseniz çalışması gerek
fonksiyonlar yerel/public tanımlanmadıkları için aynı ada sahip 2 fonksiyon olamaz
fonksiyonlardan birini silerseniz çalışması gerek
gerçi yukardaki yöntem sadece "x" yazmak için işe yarar,
eğer veri değiştirilmişse daha önceden "x" yazan alanlar değişmez onların da değiştirilmesini istiyor musunuz?
eğer veri değiştirilmişse daha önceden "x" yazan alanlar değişmez onların da değiştirilmesini istiyor musunuz?
Konuyu Okuyanlar: 1 Ziyaretçi