![]() |
|
كيف أعمل خاصية البحث - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : كيف أعمل خاصية البحث (/showthread.php?tid=5929) |
كيف أعمل خاصية البحث - أحمد 13 - 08-02-2014 السلام عليكم لدي قاعدة بيانات فيها عدة جداول من بينها جدول سميته bien و في الجدول هذا أود البحث بواسطة رقم bien و الذي سميته NumBien لقد جربت البحث بواسطة الفلترة و اليكم الكود و نتجية خاطئة اي لا يعمل كود : IF sedit1.GetTextLen<> 0 then
begin
dm.ADOQuery1.Filter:='NumBien='''+sEdit1.Text+'*''';
dm.ADOQuery1.Filtered:=true;
end
else
begin
dm.ADOQuery1.Filtered:=false;
end;كود : dm.ADOQuery1.Close ;
dm.ADOQuery1.Parameters.ParamByName('c').value:=sEdit1.text;
dm.ADOQuery1.Open;
if dm.ADOQuery1.RecordCount=0 then showmessage('Ne Exist Pas') else showmessage ('Exist') ;كود : select*from Tbien where NumBien.code=:cكيف أعمل خاصية البحث - أحمد 13 - 08-02-2014 الحمد لله لقد وجدت الحل بعد جهد هههه و هذا لحل الصحيح : select*from Bien where Bien.NumBien=:c بقي لي عائق : كيف اقوم البحث بخاصية الفلترة ؟ اي مثل الخاصية التي في الجوال مجرد اكتب الرقم الاول تظهر لي بقية الارقام التي تشابهه ؟ و جزاكم الله خيرا كيف أعمل خاصية البحث - makhlouf - 09-02-2014 السلام عليكم و رحمة الله تعالى و بركاته أخي في الحدث on change الخاص ب edit ضع كود الفلترة
dm.ADOQuery1.Filter:='NumBien='''+sEdit1.Text+'*''';
بالتوفيق
dm.ADOQuery1.Filtered:=true كيف أعمل خاصية البحث - أحمد 13 - 09-02-2014 بارك الله فيك يا أستاذي الفاضل على التجاوب و قد جربت الكود و للأسف لم يعمل :confused: أتمنى ان نجد الحل و نفع الله بك اخاه ،، كيف أعمل خاصية البحث - makhlouf - 10-02-2014 أخي تأكد من نوع الحقل هل هو نص أم رقم و إذا كان رقم يجب أن تستهدم الدالة strtoint مثل dm.ADOQuery1.Filter:='NumBien='''+strtoint(sEdit1.Text)+'*'' '; dm.ADOQuery1.Filtered:=true; بالتوفيق كيف أعمل خاصية البحث - أحمد 13 - 10-02-2014 makhlouf كتب :أخي تأكد من نوع الحقل هل هو نص أم رقم و إذا كان رقم يجب أن تستهدم الدالة strtoint مثل بارك الله فيك أخي ، جربت الكود و لم يقبل التنفيد و لكن بعد اجتهاد متواضع مني طبقت التنفيد التالي وقد نجح معي ولكن تبقي مشكل السهم لا يأتي في مكون DBGrid يعني لا ينزل يبقى في الاول للتوضيح اكثر سأعطيك مثال مثال عندي ارقام من 1 الى 10 لو اقوم بالبحث عن صاحب الرقم 66 تظهر رسالة انه غير مسجل و عندما ابحث مثلا عن رقم 5 او 9 او 4 يقول لي مسجل و لكن السهم لا ينزل في DBGrid علما أني ****ه ينزل ،، و حفظك ربي من كل شر لما تقدمه لي من عون كود : dm.ADOQuery1.Close ;
dm.ADOQuery1.Parameters.ParamByName('c').value:=sEdit1.text;
dm.ADOQuery1.Open;
if dm.ADOQuery1.RecordCount=0 then showmessage('Ne Exist Pas') else showmessage ('Exist') ;كيف أعمل خاصية البحث - makhlouf - 11-02-2014 أخي ألق نظرة هنا لعلك تجد مبتغاك http://www.delphi4arab.net/forum/showthread.php?tid=3912 بالتوفيق كيف أعمل خاصية البحث - makhlouf - 11-02-2014 أخي حاول تجريب هذا الكود
procedure tform1.edit1change(sender:tobject);
begin adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add('select * from bien where numbien like '+qoutedstr('%'+edit1.text+'%'); adoquery1.open; end; بالتوفيق كيف أعمل خاصية البحث - أحمد 13 - 11-02-2014 بارك الله فيك أخي العزيز و جزاك الله خيرا ، نجحت بفضل الله و بفضلك ثانيا ، و كان أيضا ناقصني داتا سورس اخر خاص بالبحث جزاكم الله خير اخي و جد سعيد بلإستفادة من علمك :d و اعتذر على أي ازعاج فأخوك مبتدأ و مقبل على التخرج و السلام عليكم ،، كيف أعمل خاصية البحث - makhlouf - 12-02-2014 و عليكم السلامورحمة الله تعالى و بركاته و فيك بارك الله يا أخي و عفوا و نحن في استعداد تام لتقديم العون إن إستطعنا و نحن هنا لنتعلم و لننفع و ننتفع، وفقك الله في دراستك و حياتك يا أخي. بالتوفيق |