الفرز والفلترة بحقلين
#1
السلام عليكم
بسم الله الرحمان الرحيم
لا شك أن البحث والفلترة أو الفرز لإيجاد واستخراج معلومات من قاعدة البيانات أمر مهم بل هو من أهم أمور البرمجة في مجال قواعد البيانات وقد مررت بتجربة البحث عن أكواد البحث في قاعدة البيانات وكذلك البحث عن أكواد الفرز والفلترة في قاعدة البيانات مررت بتجربة من خلال البحث عن هذه الأكواد في كثير من المواقع والمنتديات وكذلك سؤال بعض أهل الإختصاص في غير المواقع والمنتديات وعانيت كثيرا حتى حصلت على المقصود وجدت ما يفي بالغرض في مجال البحث والفلترة وهذا هو طريق طلب العلم الديني أو الدنيوي لا بد من بحث وعناء ، ولذلك أحببت أن أضع هنا مثالا على الفرز والفلترة بحقلين ولكوني مبتدئ ومنشغل بتعلم أشياء أخرى في مجال البرمجة وانشغالاتالدنيا وضيق الوقت لم أقدر على تطوير الكود لكي يصبح قابلا للفلترة أو الفرز بأكثر من حقلين لذلك أرجــوا من الإخوة ممن له باع في البرمجة وفهم دقيق أن يقدم على تطوير هذه العملية لأنها كما قلت من أهم أمور البرمجة في مجال قواعد البيانات والمثال في المرفقات وهذه تنبيهات:
1- الكود يكتب في حدث onChange لـ edit1 .
كود :
procedure TForm3.Edit1Change(Sender: TObject);
var
nom, prenom:string;
begin
ADOTable1.Filter := '';
if (Edit1.Text + edit2.Text) = '' then exit;
try
nom    := QuotedStr (Edit1.Text + '*');
prenom := QuotedStr (edit2.Text + '*');
if (Edit1.Text <> '') AND (edit2.Text <> '') then
ADOTable1.Filter:= Format('(nom LIKE %s) and (prenom LIKE %s)', [nom, prenom])
else
if (Edit1.Text <> '') then
ADOTable1.Filter:= Format('(nom LIKE %s)', [nom])
else
ADOTable1.Filter:= Format('(prenom LIKE %s)', [prenom]);
ADOTable1.Filtered := Trim((Edit1.Text + edit2.Text)) <> '';
except
abort;
end;
end;
2- في الحدث onEnter لـ edit2 تكتب الكود :
كود :
procedure TForm3.Edit2Enter(Sender: TObject);
begin
Edit2.OnChange:=edit1.OnChange;
end;
وهذا حتى لا تكرر كتابة الكود الأول .
علما أنا قاعدة البيانات المستعملة في المثال هي أكسس والدلفي 2010.
والمثال في المرفقات.
وفق الله الجميع


الملفات المرفقة
.rar   Recharc.rar (الحجم : 47.18 ك ب / التحميلات : 592)
[-] كل من 1 user says قال شكرا ل وليد على المشاركة المفيدة
  • azertyuihayat2013
الرد
#2
شكرا لك اخي الحبيب
الرد
#3
بارك الله فيك
الرد
#4
شكرا على مجهوداتك
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم