السلام عليكم
طريقة للبحث عن قيمة معينة في جدول معين دون التأثير على الدي بي جريد
هذه طريقة و هناك مئات الطرق قد يفيدنا فيها من هم أكثر خبرة
بعد النقر على الخلية أو عند تحرير خلية يتم الحدث الأول و بعدها يتم كتابة الأسم في الأديت و بعدها يتم النقر على الزر
var
Form1: TForm1;
// لأخذ رقم السجل و رقم الخلية
a,b : integer ;
implementation
{$R *.DFM}
// عند النقر على الخلية
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
// أخذ رقم الخلية في الكريد
a := dbgrid1.SelectedField.FieldNo ;
// أخذ رقم السجل في الجدول
b := table1.RecNo ;
end;
// عند النقر على زر البحث
procedure TForm1.Button1Click(Sender: TObject);
begin
// عملية البحث
table1.Filtered := false ;
// بحث عن الأسم في الجدول عن أسم مشابه لنص الأديت
table1.Filter := 'accname like''%'+edit1.Text+'%''' ;
table1.First ;
table1.Filtered := true ;
// أختبار وجود تطابق
if table1.RecordCount <> 0 then
begin
// في حال و جود تطابق
// ألغاء الفلترة
table1.Filtered :=false ;
// العودة إلى السجل السابق
table1.RecNo := b ;
// العودة إلى الخلية السابقة
dbgrid1.SelectedField.Index := a ;
form1.ActiveControl := DBGrid1 ;
showmessage('name is existent') ;
end
else
begin
// في حال عدم و جود تطابق
table1.Filtered := false ;
table1.RecNo := b ;
dbgrid1.SelectedField.Index := a ;
form1.ActiveControl := DBGrid1 ;
showmessage('name is not existent') ;
end ;
end;و السلام ختام