PDA

View Full Version : جستجو



s.hematii
سه شنبه 16 خرداد 1391, 11:24 صبح
سلام من 1دیکشنری ساختم میخوام به جای اینکه فقط کلمه ای که بهش میدیم رو پیدا کنه بلکه همه دیتا بیسهایی که توش همه اون کلمات عبارت نوشتمونو داره رو بیاره مثلا به جای اینکه کلمه تایپ شده red book رو بیاره هر عبارت دیگه ای که دو کلمه redو book رو همرمان توشون هست رو بیاره و مثلا اگه 3کلمه تایپ شد هر 3رو سرچ کنه و عباراتی که خر 3 اون کلمات رو دارند رو نمایش بده واسه پیدا کردن فقط همون عبارت تایپس از کد زیر استفاده میکردم اطفا راهنماییم کنید و کدمو اصلاح کنید
Private Sub Text1_Change()


If Trim(Text1.Text) <> "" Then
RefreshPage1 (Label1.Tag & " like '" & Text1.Text & "%'")
Else
ListView1.ListItems.Clear
ListView2.ListItems.Clear
End If
end sub



Function RefreshPage1(Optional X, Optional Y)

Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Database.mdb;Persist Security Info=False"
Adodc1.CommandType = adCmdText

If IsMissing(X) Then
Adodc1.RecordSource = "Select * From Customer"
Else
Adodc1.RecordSource = "Select * From Customer Where " & X
End If

ListView1.ListItems.Clear

Adodc1.Refresh

Dim FlagA As ListItem

Do While Not Adodc1.Recordset.EOF
Set FlagA = ListView1.ListItems.Add(, "A" & Adodc1.Recordset.Fields("CustomerNumber"), Adodc1.Recordset.Fields("CustomerNumber"))
FlagA.ListSubItems.Add , , "" & Adodc1.Recordset.Fields("CustomerName")
FlagA.ListSubItems.Add , , "" & Adodc1.Recordset.Fields("TelephonNumber")
FlagA.ListSubItems.Add , , "" & Adodc1.Recordset.Fields("CarName")
FlagA.ListSubItems.Add , , "" & Adodc1.Recordset.Fields("CarYear")
FlagA.ListSubItems.Add , , "" & Adodc1.Recordset.Fields("CarNumber")
FlagA.ListSubItems.Add , , "" & Adodc1.Recordset.Fields("Description")
Adodc1.Recordset.MoveNext
Loop

If Not IsMissing(Y) Then
ListView1.ListItems.Item(Y).Selected = True
ListView1.ListItems.Item(Y).EnsureVisible
End If

End Function

m.4.r.m
سه شنبه 16 خرداد 1391, 13:18 عصر
زیاد پیچیدش کردی دستوراتو خیلی راحت می تونی یه کوئری بنویسی و توش از دستور like استفاده کنی

SELECT * FROM Persons
WHERE City LIKE 's%'

به جای S می تونی text1 یا هر چیز دیگه ای رو بدی که بتونه شبیه به اون رو برات لیست کنه

s.hematii
چهارشنبه 17 خرداد 1391, 09:19 صبح
یعنی به جای Persons اسم table ام رو بنویسم؟ کدوم قسمت برنامم این رو بنویسم؟

takkhal
چهارشنبه 17 خرداد 1391, 20:14 عصر
دوست عزیز هرجا از % استفاده کنی کلمات مشابه هم پیدا میشه! و برای کلمات فارسی شاید لازم باشه بجای آخر عبارت اولش % بذاری

با جناب m.4.r.m (http://barnamenevis.org/member.php?247494-m.4.r.m) موافقم

کافیه کد رو مثل کد زیر اصلاح کنی


AdodcName.RecordSource = "Select * From tables1 Where famili like '" & Text1.Text & "%'"



اگه توضیح بیشتری لازم بود بگو