ورود

View Full Version : فیلتر کردن در vb توسط sql



madrid-poorya
چهارشنبه 27 آبان 1388, 23:48 عصر
با سلام
یه سوال مهمی که چند وقتیه که ذهنمو درگیر کرده اینه که با دستورات sql می تونم فیلتر کنم مشکل اینه که همو جمله رو که تایپ کردیم پیدا می کنه . اگر یه فاصله یا حرف"ی" به صورت عربی باشه دیگه پیدا نمی کنه . من می خوام یه چیزی شبیه دستور like باشه تا مشابه اون کلمه رو پیدا کنه مثل سرچ تو گوگل

majjjj
پنج شنبه 28 آبان 1388, 11:42 صبح
select * from table1 where name like '"& ali &"'

madrid-poorya
پنج شنبه 28 آبان 1388, 13:05 عصر
select * from table1 where name like '"& ali &"'
دستت درد نکنه .انجام شد ، ولی بازم مثل قبل کلمات ی و فاصله رو پیدا نمی کنه مثلا من می خوام محمد رو جست و جو کنم کلماتی مثل محمدرضا محمد علی و...... رو بیاره. شاید باید دو طرف textbox تو like ستاره بذارم!!!:متفکر:

xxxxx_xxxxx
پنج شنبه 28 آبان 1388, 13:51 عصر
شاید باید دو طرف textbox تو like ستاره بذارم!!!:متفکر:نه، باید علامت % بزارید:


"select * from table1 where name like '%" & ali & "%'"
البته برای رفع مشکل حرف ی با ي شما میتونید کاراکترهای از کلمه ای که در دیتابیس جستجو می کنید رو مطابق با اون مطابق با کاراکترهای درون دیتابیستون قرار بدید. یعنی اگر درون دیتابیس همه جا ي هست شما هم ورودی که از کاربر میگیرید رو چک کنید اگر ی داشت تبدلیش کنید به ي بعد جستجو کنید.

البته اگر قبل از اولین علامت % علامت N! رو قرار بدید فکر می کنم مشکل حرف ی حل شه.:متفکر:

nima_8m
شنبه 30 آبان 1388, 02:04 صبح
سلام
چون صحبت از فیلتر کردی میتونی از این کد هم استفاده کنی همرا با error handel

On Error GoTo msg
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.Filter = "name= '" + text1.Text + "'"
Exit Sub
msg:
MsgBox Err.Description, vbOKOnly, Err.Number

من خودم واسه فیلتر کردن از کد زیر استفاده میکنم البته باید تو رویداد chang بنویسی و تکست باکس نباید به بانک متصل باشه

On Error Resume Next
Dim counter As Integer
Dim StrSearch As String
Dim StrFilter As String
If Text1.Text <> "" Then
StrSearch = "Name LIKE '%" & Text1.Text & "%'"
End If
ado.Refresh
ado.Recordset.Filter = StrSearch
If Not ado.Recordset.BOF = True And ado.Recordset.EOF = True Then
MsgBox "ÌÓÊÌæ äÊíÌå Çí äÏÇÔÊ", vbExclamation, "íÏÇ äÔÏ"
Text1.SetFocus
Exit Sub
End If