Skip to main content

AccessTr.neT


In Ve Like Operatörleri

In Ve Like Operatörleri

#8
2. liste kutusunun sadece seçilen tablodan veri aldığını fark ettim bu durumda tüm tabloların bileşkesi olan  srg_bakanlıkkodları sorgusunu kullanmaya gerek yok sadece ilgili tabloyu kontrol etmesi çalışmanızın hızını artırır bu nedenle  liste_AfterUpdate fonksiyonunun kodunu aşağıdaki ile değiştirebilirsiniz. Ayrıca açıklama alanı boşken yada sorguda kayıt yoksa 2. liste kutusunu boşaltma kodları da eklendi
Private Sub liste_AfterUpdate()
kodu = liste.Column(6)
islemadı = liste.Column(7)
'acıklama = liste.Column(8)
islem_turu = liste.Column(1)
islem_grubu = liste.Column(4)
yıldızlı_islem = liste.Column(5)
yururluk_tarihi = liste.Column(3)
If Len(liste.Column(8) & "") = 0 Then
acıklama = liste.Column(8)
    ListeFaturaEdilemez.RowSource = ""
    ListeFaturaEdilemez.Requery
    Exit Sub
End If

Dim SQLBx, TblAdi As String
Dim Kosulum As String

  Sqltbl_kamu = "SELECT tbl_kamu.id AS ID, tbl_kamu.tür AS TÜR, yili AS YIL, " & _
                "yururluk_tarihi AS [YÜRÜRLÜK TARİHİ], '' AS GRUBU, " & _
                "'' AS YILDIZLI, kodu AS KOD, islem_adi AS ADI, " & _
                "aciklama AS AÇIKLAMA, '' AS PUAN, Format([fiyat],'Currency') AS FİYATI " & _
                "FROM tbl_kamu"

Sqltbl_sut_2b = "SELECT tbl_sut_2b.id AS ID, tbl_sut_2b.tür AS TÜR, yili AS YIL, " & _
                "yururluk_tarihi AS [YÜRÜRLÜK TARİHİ], '' AS GRUBU, " & _
                "'' AS YILDIZLI, kodu AS KOD, islem_adi AS ADI, " & _
                "aciklama AS AÇIKLAMA, islem_puani AS PUAN, Format([islem_puani]*0.593,'Currency') AS FİYATI " & _
                "FROM tbl_sut_2b"

Sqltbl_sut_2c = "SELECT tbl_sut_2c.id AS ID, tbl_sut_2c.tür AS TÜR, yili AS YIL, " & _
                "yururluk_tarihi AS [YÜRÜRLÜK TARİHİ], islem_grubu AS GRUBU, " & _
                "yildizli_islem AS YILDIZLI, kodu AS KOD, islem_adi AS ADI, " & _
                "aciklama AS AÇIKLAMA, islem_puani AS PUAN, " & _
                "Format([islem_puani]*0.593,'Currency') AS FİYATI " & _
                "FROM tbl_sut_2c"
 
Sqltbl_turist = "SELECT tbl_turist.id AS ID, tbl_turist.tür AS TÜR, yili AS YIL, " & _
                "yururluk_tarihi AS [YÜRÜRLÜK TARİHİ], '' AS GRUBU, " & _
                "'' AS YILDIZLI, kodu AS KOD, islem_adi AS ADI, " & _
                "aciklama AS AÇIKLAMA, '' AS PUAN, Format([fiyat],'Currency') AS FİYATI " & _
                "FROM tbl_turist"
       
SQLBx = Switch(islem_turu = "Kamu", Sqltbl_kamu, _
              islem_turu = "Ek-2B", Sqltbl_sut_2b, _
              islem_turu = "Ek-2C", Sqltbl_sut_2c, _
              islem_turu = "Turist", Sqltbl_turist)
             
TblAdi = Switch(islem_turu = "Kamu", "tbl_kamu", _
              islem_turu = "Ek-2B", "tbl_sut_2b", _
              islem_turu = "Ek-2C", "tbl_sut_2c", _
              islem_turu = "Turist", "tbl_turist")

'______________________________________________

Dim AciklamaRs As DAO.Recordset
Dim AciklamaSql As String
AciklamaSql = "SELECT " & TblAdi & ".id, " & TblAdi & ".aciklama " & _
"FROM " & TblAdi & _
" where " & TblAdi & ".id=" & liste.Column(0)

Set AciklamaRs = CurrentDb.OpenRecordset(AciklamaSql, dbOpenDynaset)
acıklama = Nz(AciklamaRs(1))
'_____________________________________________
Kosulum = Sayim(acıklama)
SQLBx = SQLBx & Kosulum & " ORDER BY yili DESC;"
SQLBx = IIf(Len(Kosulum & "") = 0, "", SQLBx)

ListeFaturaEdilemez.RowSource = SQLBx
ListeFaturaEdilemez.Requery

End Sub
Sayim fonksiyonun kodu:
Function Sayim(Aciklama As String) As String
Dim RegEx As Object, metin As String
Set RegEx = CreateObject("VBScript.RegExp")

RegEx.Pattern = "[a-zA-Z]{0,3}[0-9]{6}" '"[a-zA-Z]{0,3}[0-9]+"
RegEx.Global = True
RegEx.MultiLine = True
'RegEx.Execute (Aciklama)
Set eslesmeler = RegEx.Execute(Aciklama)
    KelimeSayisi = eslesmeler.Count
For Each Kelime In eslesmeler
    Kosulum = Kosulum & "','" & Kelime.Value
Next
   
If Kosulum <> "" Then Kosulum = " where ((KODU) IN (" & Mid(Kosulum, 3) & "'" & ")) " Else Kosulum = ""
    Sayim = Kosulum

End Function
Dilerim işinize yarar
iyi çalışmalar)
.rar RegEx3_hy.rar (Dosya Boyutu: 598,95 KB | İndirme Sayısı: 2)
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
In Ve Like Operatörleri - Yazar: alperalper - 14/08/2020, 08:27
RE: In Ve Like Operatörleri - Yazar: alicimri - 14/08/2020, 11:19
RE: In Ve Like Operatörleri - Yazar: alperalper - 14/08/2020, 13:44
RE: In Ve Like Operatörleri - Yazar: alicimri - 14/08/2020, 14:07
RE: In Ve Like Operatörleri - Yazar: berduş - 14/08/2020, 15:21
RE: In Ve Like Operatörleri - Yazar: berduş - 14/08/2020, 16:03
RE: In Ve Like Operatörleri - Yazar: berduş - 14/08/2020, 19:13
RE: In Ve Like Operatörleri - Yazar: berduş - 15/08/2020, 02:09
RE: In Ve Like Operatörleri - Yazar: berduş - 16/08/2020, 21:45
RE: In Ve Like Operatörleri - Yazar: berduş - 17/08/2020, 18:37
RE: In Ve Like Operatörleri - Yazar: alperalper - 05/09/2020, 23:14
RE: In Ve Like Operatörleri - Yazar: berduş - 06/09/2020, 00:55
Task