PDA

View Full Version : جستجو بر اساس حرف اول کلمه



ghazal_r60
چهارشنبه 07 دی 1384, 01:26 صبح
سلام
چه طور می شه جستجو را در dbgride بر اساس حرف اول کلمه ای که در edit نوشته می شود انجام داد؟
یعنی به محض زدن حرف اول کلمه جستجو انجام بگیرد؟

Babak-Aghili
چهارشنبه 07 دی 1384, 01:44 صبح
به حضرت عباس ! اگر اون مقاله روشهای جستجو در دلفی که مهندس وکیلی آماده کرده بودند و در سایت گذاشته اند را دانلود کرده بودید ... دقیقا همین که میخواهید را توش نوشته بود. :اشتباه:

mzjahromi
چهارشنبه 07 دی 1384, 08:43 صبح
آقای عقیلی راست میگن ولی دوستمون هم تقصیری ندارن ایشون تازه عضو انجمن شده اند
خوش امدید.
دوست عزیز اینججا بحثهای زیادی مطرح میشه و کلیه بحثهای مطرح شده قبلی رو می تونید در قسمت جستجو پیدا کنید. اینطوری سریعتر به نتیجه میرسید اگر جواب نگرفتید بعد تاپیک جدید اضافه کنید.
در هر حال فکر می کنم تابع Locate یا خاصیت Filter از dataset مشکلتون رو حل کنه

Bahmany
چهارشنبه 07 دی 1384, 16:29 عصر
در OnChange
ClientDataset1.fieldbyName('fieldname').asstring:= Edit1.text

Yalda2005
سه شنبه 13 دی 1384, 11:48 صبح
سلام : این دوستمون گناهی ندارن . سایت جوان سافته آقای وکیلی جوابگو نیست البته مدیران گروپشون هست . من هم یه همچین مشگلی دارم البته من وقتی از جداول bdeاستفاده می کنم مشگلی ندارم اما وقتی از adoاستفاده می کنم این مشگلو دارم ! از همون فیلتر استفاده می کنم ... وقتی مثلاً می زنم م ... dbgrid خالی می شه و هیچی نشون نمی ده !!! plzzzکمکم کنین ...

mzjahromi
سه شنبه 13 دی 1384, 15:03 عصر
میشه عین کدی که خاصیت filter رو مقداردهی می کنه رو بنویسید؟

Yalda2005
سه شنبه 13 دی 1384, 15:16 عصر
بله حتماً
adotable1.filter:='name='+quotedstr(edit1.text+'*' )

mzjahromi
سه شنبه 13 دی 1384, 15:41 عصر
تو Ado باید بنویسی:


AdoQuery1.Filter:='CName Like '+QuotedStr(EDit1.Text+'%');

Yalda2005
سه شنبه 13 دی 1384, 16:31 عصر
من با استفاده از همون adotableو با کمک شما تونستم مشگلمو حل کنم ... حالا مسئله دیگه اینه که می خوام اگر اسم بطور کامل تایپ شد فقط همون اسم تایپ شده رو بیاره ... از کمکتون ممنونم mzjahromi

mzjahromi
سه شنبه 13 دی 1384, 16:41 عصر
می تونی بنویسی


AdoTable1.filter:='Name='+ quotedStr(Edit1.Text);
if AdoTable1.RecordCount<1 Then
AdoTable1.filter:='Name Like '+ quotedStr(Edit1.Text+'%');

یه چیزی شبیه به این

Yalda2005
سه شنبه 13 دی 1384, 18:31 عصر
آقای mzjahromi امتحان کردم و جواب داد ... مشگلم حل شد ... ازتون خیلی خیلی ممنونم ... موفق باشید ... راستی شما crystal report کار کردید ؟

mzjahromi
چهارشنبه 14 دی 1384, 11:56 صبح
خواهش می کنم.
نه من CrystalReport کار نکردم
راستی mzjahromi اسم من نیست ID منه

babak869
سه شنبه 20 دی 1384, 14:31 عصر
از این کد هم میتونی استفاده کنی :


adoQuery1.Active:=FALSE;
adoQuery1.SQL.Clear;
adoQuery1.SQL.Add('SELECT * ');
adoQuery1.SQL.Add('FROM Table1');
adoQuery1.SQL.Add('WHERE (Family LIKE ''%'+ EDIT1.Text+'%'') ');
adoQuery1.ExecSQL;
adoQuery1.Active:=TRUE;

Bahmany
سه شنبه 20 دی 1384, 17:21 عصر
منظور از FilterGroup چیه ؟