Yalniz @
feraz bey topu topu 4 olasılık var bir de arada 1den fazla bosluk olabilme ihtimali
Gecici=Trim(metin)
tüm fazla boşlukları teke düşürür
Aşağıdaki 3 satır olasılıkları teke düşürür
Gecici=Replace(Gecici, "% 52", "%52")
Gecici=Replace(Gecici, "52%", "%52")
Gecici=Replace(Gecici, "52 %", "%52")
Gerisi sadece replace ile %52'yi istenen degerle degistirmek yada eğer ayrı bir sütuna eklenecekse
If instr ile kontrol edip varsa yeni alana eklemek
Atladığım nokta neresi? Dizi kullanmaya gerek var mı burada
(08/04/2020, 22:26)berduş yazdı: [ -> ]Yalniz @feraz bey topu topu 4 olasılık var bir de arada 1den fazla bosluk olabilme ihtimali
Gecici=Trim(metin)
tüm fazla boşlukları teke düşürür
Aşağıdaki 3 satır olasılıkları teke düşürür
Gecici=Replace(Gecici, "% 52", "%52")
Gecici=Replace(Gecici, "52%", "%52")
Gecici=Replace(Gecici, "52 %", "%52")
Gerisi sadece replace ile %52'yi istenen degerle degistirmek yada eğer ayrı bir sütuna eklenecekse
If instr ile kontrol edip varsa yeni alana eklemek
Atladığım nokta neresi? Dizi kullanmaya gerek var mı burada
Split ilede alttaki gibi aptım hocam.
Sizin kod neree eklenecek?
Varsayıma göre aptık gerisi accessman hocamıza kalmış
Dim arr1, arr2
Dim i As Integer
Dim say As Integer
If IsNull(Metin1.Value) Or Metin1.Value = "" Then Exit Sub
arr1 = Array("%52", "% 52", "52%", "52 %")
arr2 = Array(3, 4, 3, 4) 'uzunluk
say = 0
With Me.Metin1
For i = LBound(arr1) To UBound(arr1)
If InStr(.Value, arr1(i)) > 0 Then
say = say + 1
MsgBox Split(.Value, arr1(i))(0) & Split(.Value, arr1(i))(1)
Exit For
End If
Next
End With
If say = 0 Then MsgBox "Aranan bulunamadi"
Erase arr1: Erase arr2
Modüle tanımlanan bir fonksiyon olursa sorguda da kullanilabilir. Böylece update ile tablo da güncellenebilir.
Ayrıca split() ile metinde kactane %52 geçtiği de bulunabilir.
(08/04/2020, 22:45)berduş yazdı: [ -> ]Modüle tanımlanan bir fonksiyon olursa sorguda da kullanilabilir. Böylece update ile tablo da güncellenebilir.
Ayrıca split() ile metinde kactane %52 geçtiği de bulunabilir.
Herzamanki gibi varsayımlara göre gidiyyoruz sağolsun accessman hocamız dosya hazırlamadığı için.
Dediğimiz gibi biz ol gösterdik
çok teşekkürler ellerinize sağlık
(08/04/2020, 17:24)ozanakkaya yazdı: [ -> ]Modüle;
Function SayiBul(ByVal GVeri As String) As Long
Dim GMetin As String
Dim GGenislik As Integer
Dim GSayi As Integer
GMetin = Right(Left(GVeri, InStr(1, GVeri, "%") - 1), 3) & Left(Mid(GVeri, InStr(1, GVeri, "%") + 1), 3)
GGenislik = Len(GMetin)
GSayi = 1
Do
If Mid(GMetin, GSayi, 1) <> " " And Not IsNumeric(Mid(GMetin, GSayi, 1)) Then
GMetin = Left(GMetin, GSayi - 1) + Mid(GMetin, GSayi + 1)
GSayi = GSayi - 1
End If
GSayi = GSayi + 1
Loop Until Val(GMetin) > 0
SayiBul = Val(GMetin)
End Function
Kodu ekle. Sorguya da,
sonuc: SayiBul([metninbulundugualanadi])
kodu ekle.
Konunuz "Visual Basic Örnek Uygulamaları" bölümüne açılmış. Sorunuz Visual Basic mi? Access mi??
Bu konu ve bir önceki konuniza yazdığım cevaplara göre, tarafımca yazılan cevapların hiçbir anlam ifade etmediği anlaşılıyor.
Konunuz cevaplandığına göre taşınmıştır.