ورود

View Full Version : جستجو در بانک



akb_behnam
یک شنبه 22 بهمن 1385, 15:34 عصر
تو یه فرم یه تکست باکس دارم + یه گرید

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

rezaTavak
یک شنبه 22 بهمن 1385, 19:16 عصر
محتوی textbox بایستی:




set filter to at(textbox1.Value,FieldName)<>0

thisform.refresh

akb_behnam
دوشنبه 23 بهمن 1385, 10:03 صبح
ممنون میشه بیشتر توضیح بدید .
تا جایی که من فهمیدم دستور به صورت

SET FILTER TO [lExpression] [IN nWorkArea | cTableAlias]

حالا منظور از at(textbox1.Value,FieldName)<>0 چیه ؟ چه طوری روی grid تاثیر می زاره ؟

rezaTavak
دوشنبه 23 بهمن 1385, 11:56 صبح
دستور at توی یک رشته می گرده و موقعیت یک رشته دیگر را با عدد نشان میدهد اگر یافت نکند صفر بر میگرداند.

دستور set filter رکوردها را بر اساس شرط خاص فیلتر می کند.

گرید هم اطلاعات را از جدول می گیرد.

توصیه میکنم یک کتاب foxpro 2.6 و یک کتاب visual foxpro 3 بخوانید.

akb_behnam
سه شنبه 24 بهمن 1385, 00:01 صبح
ممنون

حالا اگز چند تا گرید و جدول داشتیم چی کار کنیم فقط روی یکیش کار کنه؟

mehran_337
سه شنبه 24 بهمن 1385, 07:44 صبح
چرا باید در یک فرم چند گرید از یک جدول وجود داشته باشد؟

akb_behnam
سه شنبه 24 بهمن 1385, 09:25 صبح
این هم حرفیه اما برای نمایش دو نوع اطللاعات که به هم ربطی ندارند اما برای راحتی کار باید تو یه فرم باشه

mehran_337
سه شنبه 24 بهمن 1385, 09:47 صبح
خب وقتی دو نوع اطلاعات اگه از دو جدول باشه که دیگه یکی فیلتر بشه به اون یکی کاری نداره.
اما اگه دو نوع اطلاعات از یک جدوله بهتره توی دو تا کرسر جدا بریزی با همون دستورات sql بعد دیگه بازهم فیلتر شدن یکی به اون یکی کاری نداره

akb_behnam
چهارشنبه 02 اسفند 1385, 10:02 صبح
من این دستور رو تست کردم نتیجه ایی نداد !

گرید من باید به جدولم وصل بشه یا نه ؟

اگر چند تا textbox داشتم که پر کردن همش اجباری نبود چی کار کنم ؟

rezaTavak
چهارشنبه 02 اسفند 1385, 11:34 صبح
روی گرید کلیک راست کن و build را انتخاب کن و ادامه بده

akb_behnam
جمعه 04 اسفند 1385, 00:23 صبح
گزینه build ? یه گزینه builder داره منظورتون اونه ؟

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



set filter TO name = TRIM(thisform.text1.Value)


چه تفاوتی با کد شما داره ؟
چه طور تعیین کنم عبارات مشابه رو هم پیدا کنه یا نه (شبیه like و =)
وفتی به اضای هر فیلدم یه text دارم و نمی خوام پر کردن همش اجباری باشه چی کار کنم ؟

rezaTavak
جمعه 04 اسفند 1385, 09:04 صبح
سلام

این دستور را کجا بکار برده اید؟

akb_behnam
جمعه 04 اسفند 1385, 15:04 عصر
داخل یه click یک command

rezaTavak
جمعه 04 اسفند 1385, 18:07 عصر
آهان فهمیدم

کد من یعنی اینکه اگر شما به دنبال "رضا " بگردید و اجرا کنید تمام اسمهای حاوی رضا را می یابد مانند رضا - علیرضا- حمیدرضا- رضایی و...

کد شما فقط رضا یا اگر تنظمات set را انجام داده باشید رضایی را پیدا خواهد کرد.



وفتی به اضای هر فیلدم یه text دارم و نمی خوام پر کردن همش اجباری باشه چی کار کنم ؟


یعنی چی؟

akb_behnam
جمعه 04 اسفند 1385, 23:08 عصر
یعنی چند تا فیلد تو جدولم دارم مثلا نام و نام خانوادگی

حالا می خوام به کاربر اجازه جستجو بر اساس نام . نام خانوادگی و یا هر دو رو بدم
چیزی که به ذهن من می رسه اینه که چند تا textbox بزارم (به اضای هر فیلد) ولی دو تا نکته set filter to چه طور چند تا شرط رو چک می کنه ؟و چه طور کاری کنم که اگر کاربر یکی از فیلد ها رو هم پر کرد مشکلی پیش نیاد (اگر textbox خالی بود تو شرط نباشه)

rezaTavak
شنبه 05 اسفند 1385, 08:48 صبح
من یک تکست باکس می گذارم و یک کامبو از کامبو انتخاب کنه دنبال چه چیزی هست اما اولین گزینه باید بیشترین استفاده را داشته باشه و به ترتیب اهمیت باشند.

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

تعداد شرط فکر کنم طول رشته نباید از ۸۰۰۰ کاراکتر بیشتر بشه. بین هر شرط and,or استفاده کن