A.S.C Filtre, Grafik ve Raporlama Eklentisi

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


Eklenti Dosyaları
.rar   00.EXTRE.rar (Boyut: 139,43 KB / İndirilme: 20)



  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: 16)



  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: 12)



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  YEDEK PARÇA TAKİP akimsar 3 643 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.039 11-08-2018, 18:08
Son Mesaj: hersey
  [VBA] PARÇA ALMA hedefkaya 1 2.001 01-08-2016, 01:59
Son Mesaj: dsezgin
  [VBA] Metinden Parça al idrisy 4 3.666 23-04-2016, 00:20
Son Mesaj: idrisy
  Parça takibi başlangıç LetsDie 8 3.277 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.329 25-03-2014, 17:14
Son Mesaj: assenucler
  [VBA] araba servis yedek parca otomasyonu zerobattal 1 2.915 03-05-2013, 02:51
Son Mesaj: dsezgin
  [FORM] depo takip - yedek parça nicksiz1 2 2.126 28-04-2013, 22:04
Son Mesaj: nicksiz1

Foruma Git:


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