PDA

View Full Version : کمک در مورد دستور سرچ



vahid_visualbasic
چهارشنبه 21 مرداد 1388, 20:10 عصر
سلام دوستان من از یک دیتا گراید استفاده کردم در فرمم
دستور زیر عبارت شبیه تکست باکس 1 رو نشون میده ولی عبارت باید دقیقا شبیه تکست باکس باشه

Adodc1.Recordset.Filter = "product = '" & Text1.Text & "'" من میخوام یکی از دوستان لطف کنن این دستور رو طوری ویرایش کنن که وقتی یک عبارت رو میخوام سرچ کنم یک کلمه از عبارت رو هم که نوشتم در دیتا گراید تمامی رکورد هایی که در اونها این کلمه هست نشون بده.
مثال اگر ما رکوردهای زیر رو در دیتابیس داشته باشیم

1.mohsen
2.reza
3.ali
4.mehrdad
5.mostafa

وقتی تو تکست باکس نوشتیم m فقط mohsen,mehrdad,mostafa رو نشون بده و وقتی نوشتیم mo فقط mohsen و mostafa رو نشون بده الی اخر ..... دقت کنید من با adodc کار کردم . ممنون

xxxxx_xxxxx
پنج شنبه 22 مرداد 1388, 00:36 صبح
از عملگر Like استفاده كنيد، به اين شكل:


Adodc1.Recordset.Filter = "product Like '%" & Text1.Text & "%'"

mmssoft
پنج شنبه 22 مرداد 1388, 08:48 صبح
سوال :دستوری می خوام که بتونم يک کلمه را توی يک فيلد بانک اطلاعاتي جستجو کنم نه اينکه اون کلمه اول نوشته باشه . اين کلمه ممکنه وسط هم نوشته شده باشه.

برای کاری که می خوای انجام بدی باید از دستورات SQL استفاده کنی.

اگر از کامپونت ADO استفاده می کنی دستور جستجوش به این شرحه :

Ado1.RecordSource= "Select * From [your table] Where [your field] Like ('%متن مورد نظر برای جستجو%')"

ولی اگر از کامپونت Data استفاده می کنی دستورش اینطوری می شه :

Data1.RecordSource= "Select * From [your table] Where [your field] Like ('*متن مورد نظر برای جستجو*')"

مثال : مثلا من یک Table با نام Table1 و یک فیلد به نام Address دارم و می خوام تمام آدرسهایی که توشون ( تهران ) داره پیدا کنم ، حالا این کلمه می خواد هرجایی از فیلد باشه :

Ado1.CommandType = adCmdText

Ado1.RecordSource= "Select * From Table1 Where Address Like ('%تهران%')"

Ado1.Refresh

HjSoft
پنج شنبه 22 مرداد 1388, 10:16 صبح
اين كد مربوط ميشه به چند سال پيش كه آقايي به نام Mobin در اين سايت فعاليت مي كرد و به دليل مشكلاتي از اين سايت رفت ( حق كپي )

Dim strinput As String
Dim strinput1 As String
Dim strinput2 As String
strinput = JomleCheck(txt_s_f.text)
strinput1 = JomleCheck(txt_s_name.text)
strinput2 = JomleCheck(txt_s_p.text)
mm.bp.RecordSource = "select * from b_p where (b_p.family like '%" & strinput & "%') and (b_p.name like '%" & strinput1 & "%') and (b_p.pid like '%" & strinput2 & "%')"
mm.bp.Refresh


Public Function JomleCheck(szInputText As String) As String

JomleCheck = Replace(szInputText, " ", "%")

End Function
اين جستجو كاملترينه و شما ميتونيد از اون در يك Sub استفاده كنيد تا به محز اينكه كاربري حرفي رو وارد كرد سرچ انجام بشه .
موفق باشيد

alihusen
چهارشنبه 25 اسفند 1389, 20:01 عصر
سوال :دستوری می خوام که بتونم يک کلمه را توی يک فيلد بانک اطلاعاتي جستجو کنم نه اينکه اون کلمه اول نوشته باشه . اين کلمه ممکنه وسط هم نوشته شده باشه به این گونه
1=3
4=7
5=9
درحالت که من 3رونویشتم برای من 1 بیاری کمک کمک

kiss_my_l0ve
پنج شنبه 26 اسفند 1389, 22:25 عصر
http://barnamenevis.org/showthread.php?278938-%D8%AC%D8%B3%D8%AA%D8%AC%D9%88-%D8%AF%D8%B1-%D9%84%DB%8C%D8%B3%D8%AA-%D8%A8%D8%A7%DA%A9%D8%B3
يه سر اينجا بزن