PDA

View Full Version : جستجوی کلمات لیست بانک در جمله



oYaMaa
دوشنبه 22 آبان 1391, 18:40 عصر
سلام دوستان...
چطور میشه همه کلماتی که در رکوردهای یک بانک هستن رو در داخل یک جمله جستجو کرد؟
دقت کنید میخوام فقط در صورتی که عین کلمه پیدا شد، پیغام بده.
کد زیر تنها برای یک کلمه است و اگر کلماتی شبیه هم موجود باشه بازم اخطار میده که من اینطور نمیخوام.لطفا راهنماییم کنید.ممنون!

If InStr("barnamenevis", "barname") Then
msgbox "Ok!"
end if

محسن واژدی
دوشنبه 22 آبان 1391, 19:52 عصر
سلام علیکم
تابع زیر را بررسی کنید:
Public Function Find(ByVal sContents$, _
ByVal sTargetText$, _
Optional bMatch As Boolean = False, _
Optional bHoleWordOnly As Boolean = False) As Long

Dim lFPL&

Find = InStr(1, sContents$, sTargetText$, IIf(bMatch, vbBinaryCompare, vbTextCompare))

If Find > 0 And bHoleWordOnly Then

If Find > 1 Then
If Mid$(sContents$, Find - 1, 1) <> " " Then
Find = 0

Exit Function

End If
End If

lFPL& = Find + Len(sTargetText$)

If lFPL& <= Len(sContents$) Then
If Mid$(sContents$, lFPL&, 1) <> " " Then
Find = 0

Exit Function

End If
End If
End If

End Function

برای مثال:

Private Sub Command1_Click()

If Find("barnamenevis", "barname", True, True) Then

MsgBox "Ok!"

End If

End Sub

موفق باشید

oYaMaa
دوشنبه 22 آبان 1391, 20:03 عصر
ممنون!
برای اینکه چند کلمه رو چک کنه چطور؟
مثلا در جمله site barnamenevi کلمات site و barname رو چک کنه؟