Satırdan Parça Al ???
#13
Dosyanız eklenmemiş, winrar ile sıkıştırıp öyle eklemeyi denediniz mi ?



  Alıntı
Bu mesajı beğenenler:
#14
MRB.LAR 
BUDA BENDEN ALTERNATİF KOD Wink
METİN3 KUTUSNDAN ALDIRDIM SİZ DEĞİŞTİREBİLİR SİNİZ..
ÇEŞİTLİLİK OLSUN... 

Visual Basic
  1. Dim v As Variant
  2.  
  3. v = Split(Me.Metin3, "Komisyon")
  4. v = Split(v(1), ",Bloke")
  5. v = Replace(Trim(v(0)), " ", "")
  6. v = Mid(v, 2, Len(v))
  7. MsgBox v


imza; jon206
www.access-sql.com



  Alıntı
Bu mesajı beğenenler:
#15
ACCES DOSYASI EKTEDİR ARKADAŞLAR



  Alıntı
Bu mesajı beğenenler:
#16
aşağıdaki dosyada hem RegExp hem de kendi oluşturduğum fonksiyon var, 2 yöntem için 2 sorgu oluşturdum istediğinizi kullanabilirsiniz.
not 1: fonksiyonlu sorgu daha hızlı RegExp yöntemi biraz kasıyor
Not 2: regExp fonksiyonu Virgül "," ile başlayan değerleri almıyor o nedenle Komisyon_Fonk adlı sorguyu kullanmanızı öneririm.
siz yine de iyice kontrol edin hatalarım olabilir
iyi çalışmalar


Eklenti Dosyaları
.rar   00.EXTRE_hy.rar (Boyut: 81,41 KB / İndirilme: 47)



  Alıntı
Bu mesajı beğenenler:
#17
veri aralığı kesinlikle komisyon ile Bloke aralığında ise sayın @jon206 'nın kodunu da aşağıdaki gibi düzenleyebilirsiniz
aşağıdaki kodu yine Modüle ekleyip sorgudan çağıracaksınız
Visual Basic
  1. Function KomisyonJon(Mtn As String) As Double
  2. Dim v As Variant
  3.  
  4. v = Split(Mtn, "Komisyon")
  5. v = Split(v(1), "Bloke")
  6. v = Replace(Trim(v(0)), " ", "")
  7. v = Mid(v, 2, Len(v))
  8. v = IIf(IsNumeric(Right(v, 1)), v, Left(v, Len(v) - 1))
  9. KomisyonJon = v
  10. End Function


sorgu kodu
Visual Basic
  1. SELECT TABLO.AÇIKLAMA, TABLO.TUTAR, KomisyonJon([AÇIKLAMA]) AS Komisyon, KomisyonJon([AÇIKLAMA])+[TUTAR] AS Toplam, TABLO.Kimlik
  2. FROM TABLO;





  Alıntı
Bu mesajı beğenenler:
#18
aşağıda 3 farklı yöntemle elde edilmiş sonuçlar var, RegExp yöntemi için referanslardan Microsoft VBScript Regular Expressions x.x kütüphanesini kullanıp desen/pattern kodunu değiştirince RegExp de hem hızlı hem de doğru sonuç verdi
RegExp yöntemi referanslara Microsoft VBScript Regular Expressions x.x  kütüphanesi eklenmeli
Visual Basic
  1. Function RegExpSayi(Mtn As String) As Double
  2. '    Dim RegEx As Object
  3. '    Set RegEx = CreateObject("vbscript.regexp")
  4.    Dim RegEx As RegExp
  5.    Set RegEx = New RegExp
  6.  
  7.        RegEx.IgnoreCase = True
  8.        RegEx.Global = True
  9.        RegEx.Multiline = True
  10.        RegEx.Pattern = "Komisyon\s{0,}:\s{0,}\d{0,}(\.|,|[0-9]){0,}\d+"
  11.        
  12.    Set Uyan = RegEx.Execute(Mtn)
  13.        For Each match In Uyan
  14.            RegExpSayiTmp = match.Value
  15.        Next match
  16.        
  17.        RegExpSayiTmp = Trim(Replace(RegExpSayiTmp, "Komisyon", ""))
  18.        RegExpSayiTmp = Trim(Replace(RegExpSayiTmp, ":", ""))
  19. '        RegExpSayiTmp = Trim(Replace(RegExpSayiTmp, ":", ""))
  20. If Len(RegExpSayiTmp & "") = 0 Then RegExpSayiTmp = 0
  21.        RegExpSayi = RegExpSayiTmp
  22. End Function


benim oluşturduğum fonksiyon
Visual Basic
  1. Function KomisyonFonk(Mtn As String) As Double
  2.    Mtn = Replace(Mtn, " ", "")
  3.    If InStr(Mtn, "Komisyon:") < 1 Then
  4.        KomisyonFonk = 0
  5.        Exit Function
  6.    End If
  7.    bas = InStr(Mtn, "Komisyon:") + Len("Komisyon:")
  8.    For x = bas To Len(Mtn & "")
  9.        If IsNumeric(Mid(Mtn, x, 1)) Or Mid(Mtn, x, 1) = "," Or Mid(Mtn, x, 1) = "." Then Else Exit For
  10.        Bit = x
  11.    Next x
  12.    
  13.    TmpStr = Trim(Mid(Mtn, bas, Bit - bas + 1))
  14.    For x = Len(TmpStr & "") To 1 Step -1
  15.        If IsNumeric(Mid(TmpStr, x, 1)) Then Exit For
  16.    Next x
  17.    
  18.    KomisyonFonk = Mid(TmpStr, 1, x)
  19.  
  20. End Function


Sayın @jon206 'nın yöntemiyle
bu yöntem verinin Komisyon ile Bloke ifadeleri arasında olduğunu varsayar
Visual Basic
  1. Function KomisyonJon(Mtn As String) As Double
  2. Dim v As Variant
  3.  
  4.    v = Split(Mtn, "Komisyon")
  5.    v = Split(v(1), "Bloke")
  6.    v = Replace(Trim(v(0)), " ", "")
  7.    v = Mid(v, 2, Len(v))
  8.    v = IIf(IsNumeric(Right(v, 1)), v, Left(v, Len(v) - 1))
  9.    KomisyonJon = v
  10. End Function




Eklenti Dosyaları
.rar   00.EXTRE_hy2.rar (Boyut: 70,07 KB / İndirilme: 33)



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  [RAPOR] Tablodaki Ilk Satırdan Sonraki Satırı Rapora çağırma (dlookup Yardımı) RENATO 6 381 08-12-2021, 21:02
Son Mesaj: alperalper
  YEDEK PARÇA TAKİP akimsar 3 826 26-03-2019, 08:59
Son Mesaj: celalll
  [FORM] Takım Paket ve Parça Bazlı Stok Tutmak Hakkında Yardım hersey 3 1.209 11-08-2018, 18:08
Son Mesaj: hersey
  [VBA] PARÇA ALMA hedefkaya 1 2.221 01-08-2016, 01:59
Son Mesaj: dsezgin
  [VBA] Metinden Parça al idrisy 4 4.011 23-04-2016, 00:20
Son Mesaj: idrisy
  Parça takibi başlangıç LetsDie 8 3.505 18-09-2014, 20:20
Son Mesaj: LetsDie
  [FONKSiYON] Personel izinlerinde bir üst satırdan çıkararak ve toplayarak yazdırma Nevzat Gürbüz 9 3.558 25-03-2014, 17:14
Son Mesaj: assenucler
  [VBA] araba servis yedek parca otomasyonu zerobattal 1 3.104 03-05-2013, 02:51
Son Mesaj: dsezgin

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi