31-12-2009, 08:03 PM
RecCount تؤدي المطلوب أخي الكريم، علينا فقط الانتباه في الـ Filter...
بداية كان هناك خطأ في موضع الـ Filter لاحظ:
أي وضعت Filter في ADOQuery وحاولت عرض عدد السجلات من ADOTable ! طبعا ستكون النتيجة خاطئة.
أيضا هناك طريقتين لعمل Filter إما باستخدام خاصية Filter أو بإعادة الاستعلام، هذه الأخيرة مفضلة عند العمل على الشبكات، حيث قم يتم إضافة سجلات أثناء الـ Filter.
أعددت الطريقتين في المرفقات. بالتوفيق.
بداية كان هناك خطأ في موضع الـ Filter لاحظ:
كود :
procedure TForm1.Edit2Change(Sender: TObject);
begin
[color=Red]ADOQuery1.SQL.Text:='select * from n1 where na like"'+Edit2.Text+'%"[/color];';
DBGrid1.DataSource:=DataSource2;
//taSource2.DataSet:=ADOTable1;
ADOQuery1.Open;
//Label28.Caption:='عدد النتائج المعروضة : '+IntToStr(MyDBGrid(DBGrid1).RowCount-1);
Label14.Caption:='عدد النتائج المعروضة : '+IntToStr([color=Red]ADOTable1.Recordset.RecordCount[/color]);
Label13.Caption:='عدد النتائج المعروضة : '+IntToStr(MyDBGrid(DBGrid1).RowCount-1);
end;أيضا هناك طريقتين لعمل Filter إما باستخدام خاصية Filter أو بإعادة الاستعلام، هذه الأخيرة مفضلة عند العمل على الشبكات، حيث قم يتم إضافة سجلات أثناء الـ Filter.
أعددت الطريقتين في المرفقات. بالتوفيق.
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...

