PDA

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



wolfstander
یک شنبه 10 بهمن 1389, 07:12 صبح
سلام به همه دوستان
میخواستم بدونم که آیا امکان داره مثل گوگل تو فیلدهامون جستجو کنیم؟
مثلا جمله بالا رو در نظر بگیرید
وقتی با استفاده از گوگل اون رو جستجو میکنیم، میتونیم کلمه های "بدون" "جستجو" رو سرچ بدیم و جمله بالا رو برای ما بیاره
ولی با استفاده از دستور Like شما میتونید یک کلمه یا عبارت متصل به هم رو جستجو کنید
خواستم بدونم که آیا کسی راه حل ابتکاری برای این کار داره؟

RESMAILY
یک شنبه 10 بهمن 1389, 08:55 صبح
به نام خدا
با سلام. تا آنجا كه از متخصصان شنيده ام موتورهاي جستجو نيز درنهايت از اپراتوري شبيه به like استفاده مي كنند.
من امتحان كرده ام كه اگر كلمات را به جاي آنكه با اپراتور & كه مثلا در گوگل رايج است به هم متصل كنيم با همان * خودمان اين كاررا انجام دهيم تاحدي به نتيجه مي رسيم. مثلا "بدون" * "جستجو".

wolfstander
یک شنبه 10 بهمن 1389, 10:54 صبح
با تشکر از ما
مساله ای که من باهاش مواجه شدم اینه که میخوایم یک سری اطلاعات رو در یک فیلد وارد کنیم
بعدش دوستان فکر میکنند که این خم رنگرزیه و میخوان اطلاعات که وارد شد، خودش فیلتر شده بهشون نشون بده
من گفتم که فرم سرچ میذارم که با استفاده از ترکیب جستجو کار کنه
بعدش دیدم اینا به راه راست هدایت نمیشوند
گفتم بپرسم اگه کسی این کار رو کرده، از تجربه اش استفاده کنم
ولی مثل اینکه نمیشه
آخه نمیشه مثلا دو تا ورودی رو برداریم
ممکنه 5 کلمه رو وارد کنه کاربری که ما داریم
خلاصه، همین شد که شد دیگه
عزیز دل برادر
:لبخند:
با تشکر از شما

AmirHarirbafan
یک شنبه 10 بهمن 1389, 11:07 صبح
شما میتونید از سرویس Full-Text Search engine استفاده کنید که امکانات خیلی قدرتمندی رو در اختیار شما میزاره از جمله جستجو شبیه موتورهای جستجو، حتی قوی تر :چشمک:
به عنوان مثال میتونید تنظیمش کنید که کلمات همخانواده رو پیدا کنه مثلا (Child => Children یا Foot => Feet و ...)

http://msdn.microsoft.com/en-us/library/ms142571.aspx

کلی حالت های مختلف جستجو داره که فکر کنم برای کار شما چند تاشو یادبگیرید مشکلتون حل میشه

موفق باشید

stabesh
شنبه 23 بهمن 1389, 16:31 عصر
با سلام
دیشب دنبال یک موضوع دیگه بودم که نمونه ای در این زمینه رو دیدم
جالبه ولی کامل نیست میشه ازش ایده گرفت
منبع :
http://www.utteraccess.com/forum/Universal-Search-text-t1586795.html
http://www.utteraccess.com/forum/List-Tables-External-M-t1941672.html

mazoolagh
شنبه 23 بهمن 1389, 21:18 عصر
شما میتونید از سرویس Full-Text Search engine استفاده کنید که امکانات خیلی قدرتمندی رو در اختیار شما میزاره از جمله جستجو شبیه موتورهای جستجو، حتی قوی تر :چشمک:
به عنوان مثال میتونید تنظیمش کنید که کلمات همخانواده رو پیدا کنه مثلا (Child => Children یا Foot => Feet و ...)

http://msdn.microsoft.com/en-us/library/ms142571.aspx

کلی حالت های مختلف جستجو داره که فکر کنم برای کار شما چند تاشو یادبگیرید مشکلتون حل میشه

موفق باشید

سلام
fts مخصوص sql هست و در اکسس چنین چیزی نداریم (البته اگر backend ما sql باشه فرق میکنه)

mazoolagh
شنبه 23 بهمن 1389, 21:48 عصر
البته شدنی هست - روش رو خلاصه میگم :
یک unbound textbox بعنوان فیلد جستجو در فرم میگذارین (بدون کلید جستجو)
در رخداد Onchange بصورت زیر عمل میکنین:
1- با استفاده از تابع split کلمات رو درون یک array میریزین


dim txt as string
txt=nz(me.searchbox.text,"")
dim a() as string
a=split(txt)
2- حالا میتونین هر جور که بخواین شرط موردنظرتون رو با استفاده عناصر a بسازین. مثلا اگر قرار هست همه با هم or بشن میتونین مشابه کد پایین رو استفاده کنین:


dim sql as string
sql=join("lastname like *" + a + "*"," or ")
docmd.applyfilter sql

mhkavian
شنبه 05 مرداد 1392, 00:11 صبح
روش استفاده برای کاربران اکسس :
1- ماژول مورد نظر را که فایل Bas آن نیز در فایل فشرده پیوست موجود است به برنامه خود اضافه کنید .
2- فرم مورد جستجو را به صورت سابفرم در یک فرم اصلی بیاورید . ( مثال : frm_google_serach_detail )
3- یک جعبه متنی در فرم اصلی بگذارید و یک نام مشخص برای آن در نظر بگیرید . ( مثال : txt_google_search )
4- در رویداد « on key press » در جعبه متنی فوق عبارات زیر را بنویسید :

If KeyAscii = 32 Or KeyAscii = 13 Then
Me.frm_google_serach_detail.Form.Filter = Mantis_google_search("moeen_name", "tbl_moeen", Nz(Me.txt_google_search.Text, ""))
Me.frm_google_serach_detail.Form.FilterOn = True
End If



در عبارت مثال بالا « tbl_moeen » ، نام جدول نمونه و « moeen_name » ، نام فیلد مورد جستجو می باشد که این نامها بایستی با نامهای مورد نظر کاربر تعویض شود .


امکان جستجو در فیلد همانند جستجوی گوگل (http://www.mantis.ir/access-knowledge/access-articles/item/49)