PDA

View Full Version : چطور میتونم در یک فرم مستر/دیتیل جستجوی سریع انجام بدم؟



jafakar78
سه شنبه 27 اردیبهشت 1384, 13:08 عصر
سلام یه همه

من میخام یه دیتا بیس طراحی کنم که یکی از فرمهاش به شکل عکس ضمیمه باشه
وقتی که کاربر قسمت از فیلد last name رو در Textboxفرم اصلی وارد کرد خود بخود بقیه فیلدها در کاد پایین ظاهر شوند.
فرض کنید کاربر وارد میکند ا باید تمام رکوردهایی که اول فیل last nameشان با ا شروع میشو ظاهر شوند و هرچه کاربر حروف بیشتری وارد کند این رکوردها باید کمتر شوند(یک نوع فیلتر)

ممنون میشم اگه راهنمایی بفرمایید

jafakar78
چهارشنبه 28 اردیبهشت 1384, 08:02 صبح
بابا یکی نیست به ما جواب بده :strange: :cry: :oops:

hrh
چهارشنبه 28 اردیبهشت 1384, 16:33 عصر
در رویداد OnChange کد زیر را قرار بده



strSearchText = Nz(txbSearchText.Text, "")

If IsNull(strSearchText) Or strSearchText = "" Then

strSQL = "SELECT * FROM tblSample "

Me!SubFormName.RecordSource = strSQL
Me!SubFormName.Requery

Exit Sub
End If

strSelect = "SELECT FName,LastName,HomePhone FROM tblSample "

strWHERE = "([LastName] Like '" & strSearchText & "*' ) " & _
"ORDER BY [LastName];"

strSQL = strSelect & " WHERE " & strWHERE

Me!SubFormName.RecordSource = strSQL
Me!SubFormName.Requery



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

:wink:

شاپرک
شنبه 31 اردیبهشت 1384, 08:51 صبح
من هم خیلی به این برنامه احتیاج دارم :گیج:

شاپرک
شنبه 31 اردیبهشت 1384, 09:09 صبح
میشه در مورد خط اول توضیح بدید اخه error میده :cry:

شاپرک
شنبه 31 اردیبهشت 1384, 14:50 عصر
جناب hrh میشه خواهش کنم یه نمونه برنامه کوچیک ضمیمه کنید ؟؟؟ :oops:

jafakar78
شنبه 31 اردیبهشت 1384, 17:10 عصر
جناب hrh میشه خواهش کنم یه نمونه برنامه کوچیک ضمیمه کنید ؟؟؟ :oops:

داود شهبازی
شنبه 31 اردیبهشت 1384, 23:43 عصر
این یک نمونه است ولی با روش hrh متفاوته لطفا نظرتون را بدهید

شاپرک
یک شنبه 01 خرداد 1384, 07:18 صبح
ممنون :)
فقط یه اشکالی که داشت این بود که توی فیلد جستجو بر اساس نام خانوادگی فقط یه کاراکتر میشه تایپ کرد یعنی فقط حرف اول نام خانوادگی :( چطور میشه این مشکل رو حل کرد ؟؟؟؟؟؟ لطفا راهنمایی کنید . :cry:

شاپرک
یک شنبه 01 خرداد 1384, 14:00 عصر
هرچه کاربر حروف بیشتری وارد کند این رکوردها باید کمتر شوند(یک نوع فیلتر)

؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

hrh
یک شنبه 01 خرداد 1384, 16:07 عصر
از اینکه مدتی نتوانستم به درخواستها پاسخ دهم عذرخواهی می کنم

یه نمونه که با List Box براتون ارسال می کنم. امیدوارم مفید باشد.

شاپرک
دوشنبه 02 خرداد 1384, 07:27 صبح
در صورتیکه بخواهیم چند تا فیلد جستجو داشته باشیم( یعنی مثلا بخواهیم نام یا تلفن منزل رو هم جستجو کنیم ) چیکار باید کرد؟ :گیج:

داود شهبازی
دوشنبه 02 خرداد 1384, 20:22 عصر
شاپرک نوشته:

فقط یه اشکالی که داشت این بود که توی فیلد جستجو بر اساس نام خانوادگی فقط یه کاراکتر میشه تایپ کرد یعنی فقط حرف اول نام خانوادگی چطور میشه این مشکل رو حل کرد ؟؟؟؟؟؟ لطفا راهنمایی کنید .
ولی روی کامپیوتر من مثل یک فیلتر عمل می کنه بقیه دوستان اگر همین مشکل را دارند لطفا بگویند.[/quote]
شاید هم به خاطر نام ساب فرم باشه نام ساب فرم را عوض کنید ببینید جواب میده (این برنامه در اکسس 2000 طراحی شده )

شاپرک
سه شنبه 03 خرداد 1384, 07:23 صبح
مگه میشه ؟ :گیج: من با 2002 کار میکنم ممکنه به خاطر اون باشه ؟ :(

لطفا اگه امکان داره سریعتر جواب بدید من شدیدا لازم دارم این برنامه رو :sorry:

در مورد سوال دومم :

در صورتیکه بخواهیم چند تا فیلد جستجو داشته باشیم( یعنی مثلا بخواهیم نام یا تلفن منزل رو هم جستجو کنیم ) چیکار باید کرد؟

داود شهبازی
سه شنبه 03 خرداد 1384, 22:54 عصر
جواب سوال اول
از منوی options > keyboard را انتخاب و گزینه go to end of field را فعال کنید من توی xp هم امتحانش کردم
جواب سوال دوم
اینم یک نمونه دو گزینه ای البته اگر یک کم روش کار کنید با استفاده از لیست باکس می تونید عمومی ترش کنید تا برای هر فیلد نیاز به تکس باکس نباشد

شاپرک
چهارشنبه 04 خرداد 1384, 08:09 صبح
از منوی options > keyboard را انتخاب و گزینه go to end of field را فعال کنید
:تشویق: :flower: :) :wise2: :sunglass: :flower: :flower: :flower:

خیلی خیلی ممنونم درست شد :kaf:

شاپرک
دوشنبه 09 خرداد 1384, 07:44 صبح
یه سوال :

این Query که تو این برنامه هست وقتی اجراش میکنم (بدن اینکه پارامتر بدم)همه رکورد ها رو نشون میده اما وقتی تو برنامه خودم Query خودم رو اجرا میکنم همه رکورد ها رو نشون نمیده ......نمیدونم چرا !!!! فقط رکورد هایی رو نشون میده که فیلد های مرتبط با فیلد جستجوی آنها دارای مقدار است . :confy2:
شما چیزی به نظرتون میرسه ؟ :گیج:

شاپرک
دوشنبه 09 خرداد 1384, 08:39 صبح
یه سوال دیگه : :oops:

برای مرتب کردن بر اساس یکی از فیلد ها چیکار باید بکنم یعنی می خوام بر اساس هر فیلدی که خواستم رکورد ها مرتب بشن ...؟؟؟؟(البته منظورم توی datasheet)

شاپرک
دوشنبه 09 خرداد 1384, 10:05 صبح
:گیج:

payam59
دوشنبه 09 خرداد 1384, 16:52 عصر
برای مرتب کردن بر اساس یکی از فیلد ها چیکار باید بکنم یعنی می خوام بر اساس هر فیلدی که خواستم رکورد ها مرتب بشن ...؟؟؟؟(البته منظورم توی datasheet)
Sort A-Z OR Sort Z-A!!!

داود شهبازی
دوشنبه 09 خرداد 1384, 19:30 عصر
این Query که تو این برنامه هست وقتی اجراش میکنم (بدن اینکه پارامتر بدم)همه رکورد ها رو نشون میده اما وقتی تو برنامه خودم Query خودم رو اجرا میکنم همه رکورد ها رو نشون نمیده ......نمیدونم

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

شاپرک
سه شنبه 10 خرداد 1384, 07:10 صبح
اما این که یه Query بیشتر نداره !!!!!! :confy2:

شاپرک
شنبه 21 خرداد 1384, 07:43 صبح
payam59

Sort A-Z OR Sort Z-A!!!

لطفا یه کم بیشتر توضیح بدید :گیج:

شاپرک
شنبه 21 خرداد 1384, 07:48 صبح
من یه به یه مشکل برخوردم توی این برنامه (Search2):
back space عمل نمیکنه یعنی وقتی میخوای مثلا علی محمدی: Last name رو جستجو کنی نمیشه back space زد
لطفا اگه امکان داره راهنمایی کنید ؟ :گیج:

jafakar78
یک شنبه 22 خرداد 1384, 10:58 صبح
سلام
برنامه ای که گذاشتی خیلی خوبه ولی بعضی از فرمهاسش باز نمیشه ممنون میشم اگه بصورت کامل برام بذاریش

شاپرک
سه شنبه 24 خرداد 1384, 07:17 صبح
کسی نیست به سوال ما جواب بده !!!؟؟؟؟؟؟؟؟؟؟؟؟ :sad2:

داود شهبازی
سه شنبه 24 خرداد 1384, 22:08 عصر
اما این که یه Query بیشتر نداره !!!!!!
برنامه اولی دو تا query داره


من یه به یه مشکل برخوردم توی این برنامه (Search2):
back space عمل نمیکنه یعنی وقتی میخوای مثلا علی محمدی: Last name رو جستجو کنی نمیشه back space زد

درسته حق با شماست :sorry:
چون این رویداد در on change نوشته شده بود پس از هر تغییر فرم خوانده می شه و space نادیده گرفته می شه
در برنامه زیر کد اسکی space bar در یک شرط امده تا در صورت فشردن نادیده گرفته بشه اگر به کلید دیگری برخوریدید که این حالت را داشت کد اسکی ان را به شرط اضافه کنید


بعضی از فرمهاسش باز نمیشه ممنون میشم اگه بصورت کامل برام بذاریش
این یک مثاله و کلش همینه اگر subform را بخواهید در حالت معمولی باز کنید متغیر که همان فیلتر است را از شما می خواد باید در حالت design ان را باز کنید

شاپرک
چهارشنبه 25 خرداد 1384, 14:16 عصر
تفاوت این دو رویداد چیه؟

یه سوال دیگه : رویداد format در گزارش ها چه موقع استفاده میشه؟ (print رو خودم میدونم)


payam59

Sort A-Z OR Sort Z-A!!!

لطفا یه کم بیشتر توضیح بدید

payam59
پنج شنبه 26 خرداد 1384, 09:15 صبح
برای مرتب کردن هم می تونی در رکورد سورس فرم و یا ساب فرم در قسمت sort فیلد مورد نظر آنها را مرتب کنی و هم با راست کلید کردن در فیلد مورد نظر هنگام نمایش فرم وانتخاب نوع sort .
روش دیگر هم استفاده از Sort تولزبار و یا منوی ادیت هست.

شاپرک
دوشنبه 30 خرداد 1384, 09:14 صبح
ببخشید آقای شهبازی اما یه مشکل دیگه تو این برنامه هست و اون اینکه : رکورد هایی که یکی از فیلد های جستجوی اونا خالی باشه توی subform نشون نمیده
در صورتیکه سابفرم من اینطور نیست بالعکس و وقتی هم که جستجو میکنم تمام فیلد های خالی که مربوط به اون فیلد جستجو میشن رو نشون میده در نتیجه در صورتیکه فیلد های خالی زیاد باشند اون رکورد پایین صفحه نشون داده میشه و Scrol میخوره !؟؟؟؟؟؟؟؟؟؟؟ :sorry: :sad2: :sad2: :sad2:
شما میدونین دلیلش چیه؟

H_Ghaffarian
دوشنبه 30 خرداد 1384, 09:29 صبح
سلام
شما بهتره یک سری به راهنماهای دستورات SQL بزنید و اونها رو بدقت مطالعه کنید بعد اگه مشکل داشتید سئوالانتون رو مطرح کنید. در مورد Search با دستور sql هم بهتر از یک N در حالت استفاده از دستور Like استفاده کنید تا به مشکل خاصی برنخورید.
SELECT * FROM tbName WHERE Field1 LIKE N'%a%'
:sunglass:
در ضمن بهتر دستور SELECT در SQL رو بطور کامل با تمامی مخلفاتش برای نهار بگذارید سر میز.

شاپرک
یک شنبه 05 تیر 1384, 09:08 صبح
راهنماهای دستورات SQL کجا؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

بهتر از یک N در حالت استفاده از دستور Like استفاده کنید چرا ؟؟؟؟؟؟؟؟؟؟

شاپرک
شنبه 11 تیر 1384, 09:09 صبح
یه مشکلی توی این برنامه search داشتم اول اینکه وقتی توی table مربوطه فیلد نام پر باشه اما فیلد نام خانوادگی خالی باشه این توی subform نمایش داده نمیشه به همین خاطر من یه شرط like ----- ----- or is null به Query اضافه کردم و حل شد حالا یه مشکل دیگه بوجود اومده وقتی می خوام مثلا اسم علی رو که نام خانوادگیش خالیه رو جستجو کنم اول اون رکورد هایی که فیلد نام اونها خالیه رو هم نشون میده و بعضی مواقع که فیلد های خالی زیاد باشه Scroll میخوره و رکورد مورد جستجو میره پایین scroll
:confy2:
دلیلش چیه؟ چیکار باید بکنم?

MM_Mofidi
شنبه 11 تیر 1384, 15:53 عصر
بعد من میخواهم بپرسم این دیتا بیس بدبخت رو اگر فقط 5 نفر روی مثلا 500000 رکورد بخواهند جستجو کنند چه بلایی سرش میاد؟ هیچ فکر کردید؟(ورود همزمان داده که هیچ) :sad2:

شاپرک
یک شنبه 12 تیر 1384, 12:02 عصر
رکورد های من خیلی زیاد نیستند . :embr:

بابا یکی جواب سوالمو بده ...!!! :confy2:

آقای شهبازی کجایی که یادت بخیر ! :sunglass: