RegEx fonksiyonuyla ilgili modüle eklediğim kodlar, isterseniz doğrudan ana forma da ekleyebilirsiniz
Function Sayim(Aciklama As String)
Dim RegEx As Object, metin As String
Set RegEx = CreateObject("VBScript.RegExp") 'regexp nesnesini oluşturma istenirse referanslardan da eklenebilirdi
RegEx.Pattern = "[a-zA-Z]{0,3}[0-9]+" '"[a-zA-Z]{0,3}[0-9]{6}" 'aranacak metin kalıbı
RegEx.Global = True 'tümünde ara ilk bulduğunda durma
RegEx.MultiLine = True ' tüm satırlarda ara
'RegEx.Execute (Aciklama)
Set eslesmeler = RegEx.Execute(Aciklama)' açıklama alanında yazılanı diziye(Array) dönüştürür
Kelimesayisi = eslesmeler.Count' Bulunan kelime sayısı
For Each Match In eslesmeler'dizideki tüm elemanların arasında dolaşma
Kosulum = Kosulum & "','" & Match.Value
Next
If Kosulum <> "" Then
Kosulum = "(srg_bakanlıkkodları.KOD) IN (" & Mid(Kosulum, 3) & "'" & ")) "
Else
Kosulum = vbNullString
End If
Sayim = Kosulum
End Function
liste after update olayındaki sorgu kodunda yapılan değişiklik sadece fazladan olan bir parantez silindiSQLB = "SELECT srg_bakanlıkkodları.ID, srg_bakanlıkkodları.TÜR, srg_bakanlıkkodları.YIL, srg_bakanlıkkodları.[YÜRÜRLÜK TARİHİ] AS YÜRÜRLÜK, srg_bakanlıkkodları.GRUBU AS GRB, srg_bakanlıkkodları.YILDIZLI AS [*], srg_bakanlıkkodları.KOD, srg_bakanlıkkodları.ADI, srg_bakanlıkkodları.AÇIKLAMA, srg_bakanlıkkodları.PUAN, srg_bakanlıkkodları.FİYATI FROM srg_bakanlıkkodları " & _
"WHERE (((srg_bakanlıkkodları.TÜR)=[Formlar]![FRM_ANA]![islem_turu]) And " & Kosulum & _
"ORDER BY srg_bakanlıkkodları.YIL DESC;"