PDA

View Full Version : جستجو حرف به حرف در بانک اطلاعات



HjSoft
شنبه 23 آذر 1387, 06:04 صبح
کسی چنین کدی داره ؟

hossein.e
شنبه 23 آذر 1387, 07:53 صبح
من در جستجوهام از روش زیر استفاده میکنم:

Ado_search.ConnectionString = "SELECT * From etelaat_karmandan_peimani_vaehed_ghazaei where name_shahrestan like '%" & name_shahrestan & "%'"

امیدوارم جواب مشکلتون باشه

mahmood_s
شنبه 23 آذر 1387, 09:08 صبح
این کد بالا فقط یک مشکل داره که اگه از اون استفاده کرده باشید به اون پی می برید

کد بالا براش فرق نمیکنه که حرف مورد نظر در کجای کلمه ها باشه یعنی اگه شما بخواهید در بانک دنبال کلمه حسین باشید کد بال تمام کلماتی که تو اون کلمه حسین باشه رو پیدا میکنه یعنی بین حسین و میرحسین فرقی نمی ذاره

در مورد استفاده از کد بال که دوستمون قرار دادند در پست بعدی توضیح می دم

mahmood_s
شنبه 23 آذر 1387, 09:10 صبح
اگه جستجو از ابتدای کلمات مورد نظر هست از کد زیر استفاده کنید :


Ado_search.ConnectionString = "SELECT * From etelaat_karmandan_peimani_vaehed_ghazaei where name_shahrestan like '%" & name_shahrestan & "'"

اگه در بین کلمات مورد نظر است :

Ado_search.ConnectionString = "SELECT * From etelaat_karmandan_peimani_vaehed_ghazaei where name_shahrestan like '%" & name_shahrestan & "%'"

اگه در انتهای کلمات مد نظر هست :

Ado_search.ConnectionString = "SELECT * From etelaat_karmandan_peimani_vaehed_ghazaei where name_shahrestan like '" & name_shahrestan & "%'"

موفق باشید

hamed aj
شنبه 23 آذر 1387, 12:15 عصر
جستجوی حرف به حرف یعنی چی؟

همه روش های جستجو ، کرکتر به کرکتر این عمل رو انجام می دهند. لطفاً واضحتر بگید برای چه کاری می خواهید؟

Mohya_z332
یک شنبه 24 آذر 1387, 02:06 صبح
اگه از Data استفاده میکنید
Data1.Recordset.FindFirst "NameAndFamily like '*" & (txtFind.Text) & "*'"
Do While Data1.Recordset.NoMatch = False
intmsg = MsgBox("ÂíÇ ÌÓÊÌæ ÑÇ ÇÏÇãå ãíÏåíÏ¿", vbYesNo + vbQuestion + vbdefultbutton1, "ÌÓÊÌæ")
If intmsg = 7 Then
Exit Do
End If
Loop

Dr.Bronx
یک شنبه 24 آذر 1387, 15:24 عصر
اگه از Data استفاده میکنید
Data1.Recordset.FindFirst "NameAndFamily like '*" & (txtFind.Text) & "*'"
Do While Data1.Recordset.NoMatch = False
intmsg = MsgBox("ÂíÇ ÌÓÊÌæ ÑÇ ÇÏÇãå ãíÏåíÏ¿", vbYesNo + vbQuestion + vbdefultbutton1, "ÌÓÊÌæ")
If intmsg = 7 Then
Exit Do
End If
Loop

اینجوری که اگه اطلاعات زیاد باشه که ده سال طور می کشه که یه رکورد رو پیدا کنه
همون روش mahmood_s بیشتر جواب میده

alirezasarkil
یک شنبه 24 آذر 1387, 20:21 عصر
می خوام یک کامپو روی فرم بزارم که سایز لیبل را تغییر بده با تشکر

mahmood_s
چهارشنبه 27 آذر 1387, 10:47 صبح
یعنی چی

میشه بیشتر توضیح بدید

HjSoft
پنج شنبه 28 آذر 1387, 07:02 صبح
من می خوام مثل یک دیکشنری عمل کنه ! در ضمن سرعت انجام کار هم فوق العاده مهمه ! یعین رکورد شاید به 10000 هم برسه ! بری همین من از این روش استفاده می کنم ! دضمن دوستان بهتره برای 2 فیلد مثال بزنید

saeedzx
شنبه 29 خرداد 1389, 19:22 عصر
با سلام


من این 2 تا کد رو امتحان کردم ولی جواب نداده


ado.RecordSource = "Select *from Saves where name like'%" & Text12.Text & "'"





ado.ConnectionString = "SELECT * From Saves where name like '%" & Text12.Text & "'"

ENG_Torshani
شنبه 29 خرداد 1389, 19:36 عصر
با سلام


من این 2 تا کد رو امتحان کردم ولی جواب نداده



دوست عزیز همه این روشها که بچه های نوشتن روشای درست و حرفه ای هستش به نظر یک کار ساده بکن اگه با این دستورات مشکلت حل نشد از تابع InStr استفاده کن کار راه اندازه

mohsensaghafi
شنبه 29 خرداد 1389, 20:04 عصر
سلام دوست عزیز.
دقیقا کوئری یی رو نوشتی بذار. چون این چیزی که نوشتی قطعا جواب نخواهد داد.