17-03-2011, 05:20 PM
السلام عليكم
بسم الله الرحمان الرحيم
لا شك أن البحث والفلترة أو الفرز لإيجاد واستخراج معلومات من قاعدة البيانات أمر مهم بل هو من أهم أمور البرمجة في مجال قواعد البيانات وقد مررت بتجربة البحث عن أكواد البحث في قاعدة البيانات وكذلك البحث عن أكواد الفرز والفلترة في قاعدة البيانات مررت بتجربة من خلال البحث عن هذه الأكواد في كثير من المواقع والمنتديات وكذلك سؤال بعض أهل الإختصاص في غير المواقع والمنتديات وعانيت كثيرا حتى حصلت على المقصود وجدت ما يفي بالغرض في مجال البحث والفلترة وهذا هو طريق طلب العلم الديني أو الدنيوي لا بد من بحث وعناء ، ولذلك أحببت أن أضع هنا مثالا على الفرز والفلترة بحقلين ولكوني مبتدئ ومنشغل بتعلم أشياء أخرى في مجال البرمجة وانشغالاتالدنيا وضيق الوقت لم أقدر على تطوير الكود لكي يصبح قابلا للفلترة أو الفرز بأكثر من حقلين لذلك أرجــوا من الإخوة ممن له باع في البرمجة وفهم دقيق أن يقدم على تطوير هذه العملية لأنها كما قلت من أهم أمور البرمجة في مجال قواعد البيانات والمثال في المرفقات وهذه تنبيهات:
1- الكود يكتب في حدث onChange لـ edit1 .
2- في الحدث onEnter لـ edit2 تكتب الكود :
وهذا حتى لا تكرر كتابة الكود الأول .
علما أنا قاعدة البيانات المستعملة في المثال هي أكسس والدلفي 2010.
والمثال في المرفقات.
وفق الله الجميع
بسم الله الرحمان الرحيم
لا شك أن البحث والفلترة أو الفرز لإيجاد واستخراج معلومات من قاعدة البيانات أمر مهم بل هو من أهم أمور البرمجة في مجال قواعد البيانات وقد مررت بتجربة البحث عن أكواد البحث في قاعدة البيانات وكذلك البحث عن أكواد الفرز والفلترة في قاعدة البيانات مررت بتجربة من خلال البحث عن هذه الأكواد في كثير من المواقع والمنتديات وكذلك سؤال بعض أهل الإختصاص في غير المواقع والمنتديات وعانيت كثيرا حتى حصلت على المقصود وجدت ما يفي بالغرض في مجال البحث والفلترة وهذا هو طريق طلب العلم الديني أو الدنيوي لا بد من بحث وعناء ، ولذلك أحببت أن أضع هنا مثالا على الفرز والفلترة بحقلين ولكوني مبتدئ ومنشغل بتعلم أشياء أخرى في مجال البرمجة وانشغالاتالدنيا وضيق الوقت لم أقدر على تطوير الكود لكي يصبح قابلا للفلترة أو الفرز بأكثر من حقلين لذلك أرجــوا من الإخوة ممن له باع في البرمجة وفهم دقيق أن يقدم على تطوير هذه العملية لأنها كما قلت من أهم أمور البرمجة في مجال قواعد البيانات والمثال في المرفقات وهذه تنبيهات:
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;
كود :
procedure TForm3.Edit2Enter(Sender: TObject);
begin
Edit2.OnChange:=edit1.OnChange;
end;
علما أنا قاعدة البيانات المستعملة في المثال هي أكسس والدلفي 2010.
والمثال في المرفقات.
وفق الله الجميع