# پایگاه‌های داده > سایر پایگاه‌های داده > Access >  جستجو در اکسس

## payam59

باسلام 
من می خواهم برای فرمهای اکسس تکس باکس جستجویی بسازم که بوسیله یک کمبوباکس بشه توی هر فیلد دلخوه جستجو کرد . البته اگر یک فرم مانند فرم جستجوی اکسس باشه که راحت بشه از همه جا فرخوانیش کرد بهتره . 
لطفا من راهنمایی کنید. :flower:

----------


## NOROOZY

دوربین موجود در تولز بار همون کار رو میکنه بهتره از همون استفاده کنی

----------


## payam59

> دوربین موجود در تولز بار همون کار رو میکنه بهتره از همون استفاده کنی


مشکل اینکه به زبان فارسی نیست . 
منظور من هم از ساخت فرم جستجو همینه !

----------


## payam59

یک فایل از سایت mvps در مورد جستجو پیدا کردم.
(البته خیلی بدرد من نخورد ولی دانلودش رو توصیه میکنم )

----------


## amrabady

یک راه حل که شاید به دردت بخورد!
1- شما اول از جدول مورد نظر برای جستجو. یک پرس و جو(Query)بساز.
2- سپس یک فرم بساز و یک تکس باکس در اون قرار بده.
3- تکس باکس شما همان محل عبارت جستجو خواهد بود.
4- سپس اون  Query  که اول ساختی را باز می کنی و  نام تکس باکس فرم  رو  ( مثلا  نام تکس ابکس تو Text0 و نام فرم  تو هم Searchاست )  را بصورت زیر درCriteria  می نویسی:
[Forms]![ٍSearch]![Text0]
دقت کن که این کار رو در همه فیلدها که می خواهی مورد جستجو قرار بگیرن  انجام بدی لکن پله پله (مثلا در فیلد اولی درCriteria  بنویس سپس در فیلد دوم در قسمت Or بنویس و در قیلد سومی در قسمت زیر Or و...) و ذخیره کن.
5-سپس یک فرم که بصورت لیستی اطلاعات را نشان می دهد بساز و Record Source آن را همان Query قرار بده   (مثلا با نام Search Total)
6- سپس به فرم اولی برو(در مثال ما همان Search)  و یک Command Button درست کن که فرم دوم را باز کنه(در مثال ما Search Total)
تموم شد
الیته (همان طور که می بینی) این راه حل هیچ احتیاجی به کد نویسی نداره و خیلی ساده است 
می بخشید که توضیحاتم یه کم شلوغ شد

----------


## hrh

amrabady عزیز
این راه شما یه راه ساده و خوبی است ولی مثل Find خود اکسس یه چیز جنرال نیست.

----------


## payam59

با تشکر از توجه دوستان 
فایل Search2K.zip راه کار جالبی داره ولی مانند Find اکسس نمیشه در همه فیلدها ازش استفاده کرد.
روش amrabady عزیز نیز فقط در مورد یک یا دو فیلد کارایی داره .
 :گیج:

----------


## amrabady

من تعجب می کنم از اینکه می فرمایید روش حقیر برای یک یا دو فیلد کارایی داره!
 شاید اشتباه می کنم چون که منظورتون را درست متوجه نشدم
به هر حال من اون فرم جستجو را بوسیله یک ماکروی autokeys همیشه در دست رس قرا دادم.

----------


## شاپرک

منم الان همین مشکل رو دارم یعنی جستجوی فارسی 

 :(

----------


## 6raya1043

> یک راه حل که شاید به دردت بخورد!
> 1- شما اول از جدول مورد نظر برای جستجو. یک پرس و جو(Query)بساز.
> 2- سپس یک فرم بساز و یک تکس باکس در اون قرار بده.
> 3- تکس باکس شما همان محل عبارت جستجو خواهد بود.
> 4- سپس اون  Query  که اول ساختی را باز می کنی و  نام تکس باکس فرم  رو  ( مثلا  نام تکس ابکس تو Text0 و نام فرم  تو هم Searchاست )  را بصورت زیر درCriteria  می نویسی:
> [Forms]![ٍSearch]![Text0]
> دقت کن که این کار رو در همه فیلدها که می خواهی مورد جستجو قرار بگیرن  انجام بدی لکن پله پله (مثلا در فیلد اولی درCriteria  بنویس سپس در فیلد دوم در قسمت Or بنویس و در قیلد سومی در قسمت زیر Or و...) و ذخیره کن.
> 5-سپس یک فرم که بصورت لیستی اطلاعات را نشان می دهد بساز و Record Source آن را همان Query قرار بده   (مثلا با نام Search Total)
> 6- سپس به فرم اولی برو(در مثال ما همان Search)  و یک Command Button درست کن که فرم دوم را باز کنه(در مثال ما Search Total)
> ...


باسلام من اینکار راانجام دادم اما فقط فیلد اول جستجو میشود و قسمتهای  or  را جستجو نمیکند  ضمنا دستور لایک برای جستجوی فیلد تکسی دراینجا چگونه استفاده میشود ؟

----------


## mohammadgij

راحت می تونید این کار رو انجام بدین.
بیاید یه فرم بسازید و با یک کلیدمیانبر اونو صدا بزنید. سپس یه Select بزنید از جدول و یا Query که فرم قبلی اطلاعاتش رو از اونجا میخونه به شرط اینکه 1=2    با این کار یک RecordSet خالی دارید که میتونید اسم فیلدهای مورد نظر رو بخونید و بریزید توی یه ComboBox. و پس از انتخاب شرایط جستجو ببینید که اون رکورد توی رکورد ست فرم اون دارای چه AbsolutePositionهستش. سپس رکورد ست فرم اول رو موو کنید به AbsolutePosition. دستور Like رو هممیتونید شبیه سازی کنید. اگه مشکلی بود میتونم تا یک شنبه یه Sample بذارم چون انتخاب واحد دارم و اصلا حال ندارم الانن یه Sample بذارم

----------


## 6raya1043

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

----------


## hamedkh6060

> یک راه حل که شاید به دردت بخورد!
> 1- شما اول از جدول مورد نظر برای جستجو. یک پرس و جو(Query)بساز.
> 2- سپس یک فرم بساز و یک تکس باکس در اون قرار بده.
> 3- تکس باکس شما همان محل عبارت جستجو خواهد بود.
> 4- سپس اون Query که اول ساختی را باز می کنی و نام تکس باکس فرم رو ( مثلا نام تکس ابکس تو Text0 و نام فرم تو هم Searchاست ) را بصورت زیر درCriteria می نویسی:
> [Forms]![ٍSearch]![Text0]
> دقت کن که این کار رو در همه فیلدها که می خواهی مورد جستجو قرار بگیرن انجام بدی لکن پله پله (مثلا در فیلد اولی درCriteria بنویس سپس در فیلد دوم در قسمت Or بنویس و در قیلد سومی در قسمت زیر Or و...) و ذخیره کن.
> 5-سپس یک فرم که بصورت لیستی اطلاعات را نشان می دهد بساز و Record Source آن را همان Query قرار بده (مثلا با نام Search Total)
> 6- سپس به فرم اولی برو(در مثال ما همان Search) و یک Command Button درست کن که فرم دوم را باز کنه(در مثال ما Search Total)
> ...


ممنون . ترفند جالبی بود
خیلی کمکم کرد
حالا یه سوال ...
میشه بجای txtbox روی فرم combobox داشت تا اطلاعات از توی اون برداشته بشه ؟ من که امتحان کردم جواب نگرفتم . لم خاصی داره ؟

----------

