delphi4arab منتديات دلفي للعرب
كيف اقوم بفلترة مزدوجة في قواعد البيانات - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف اقوم بفلترة مزدوجة في قواعد البيانات (/showthread.php?tid=3271)



كيف اقوم بفلترة مزدوجة في قواعد البيانات - Dz_MicroSoft - 09-07-2011

السلام عليكم

أود أن أعمل فلترة مزدوجة لجدول معين

مثلاً

PHP كود :
procedure TForm1.spSkinEdit5Change(Sender: TObject);
begin
if spSkinEdit5.Text <>'' then
begin
ADOTable7
.Filter := 'Nom like ' + quotedstr('*'+ spSkinEdit5.Text +'*');
ADOTable7.Filtered :=true;
end else
ADOTable7.Filtered :=false;
end; 
هذا الإجراء خاص بفلترة الجدول حسب Nom .. أود بعد هذه الفلترة إضافة فلترة جديدة مثلاً

PHP كود :
procedure TForm1.spSkinEdit6Change(Sender: TObject);
begin
if spSkinEdit6.Text <>'' then
begin
ADOTable7
.Filter := 'Prénom like ' + quotedstr('*'+ spSkinEdit6.Text +'*');
ADOTable7.Filtered :=true;
end else
ADOTable7.Filtered :=false;
end; 

أود بقاء الأولى يعني فلترة الجدول الجديد حسب Prénom

لإني لما وضعت فلترة جديدة الأولى تلغى و يتم إعتماد الثانية فقط !



كيف اقوم بفلترة مزدوجة في قواعد البيانات - paix144 - 09-07-2011

و عليكم السلام و رحمة الله
حاول باستعمال Query أخي

كود :
MyQuery.Filtered := False; MyQuery.Filter:= 'F_MONCHPS1=''DATA1'' and F_MONCHPS1=''DATA2'' '; MyQuery.Filtered := True;

أو
كود :
var f : string; val1, val2 : string; begin val1 := Edit1.Text; val2 := Table1.AsString; f := 'DATA1=' + val1 + 'and ' + 'DATA2='+ val2 + '''; Table1.Filter := f; Table1.Filtered := True; end;



كيف اقوم بفلترة مزدوجة في قواعد البيانات - Dz_MicroSoft - 09-07-2011

أشكرك على الرد أخي .. لكني لا أعرف إستعمال Query

أنا أستعمل ADO للإتصال بقاعدة بيانات أكسس .. ممكن تشرحلي أكثر جزاك الله خيراً


كيف اقوم بفلترة مزدوجة في قواعد البيانات - Lam.Abdeldjalil - 09-07-2011

السلام عليكم

هل جربت حل الأخ paix144 ؟

مثال (حال كلا Edit تحملان قيم)
كود :
procedure TForm1.spSkinEdit5Change(Sender: TObject); begin if (spSkinEdit5.Text <>'') and (spSkinEdit6.Text <>'') then begin ADOTable7.Filter := 'Nom like ' + quotedstr('*'+ spSkinEdit5.Text +'*')+' [COLOR=Red]and [/COLOR]'+'Prénom like ' + quotedstr('*'+ spSkinEdit6.Text +'*')'; ADOTable7.Filtered :=true; end else ADOTable7.Filtered :=false; end;
إقتباس :لكني لا أعرف إستعمال Query
قبل ذلك تعلم الـ SQL توجد مواضيع حولها في المنتدى ، إبحث Smile

بالتوفيق


كيف اقوم بفلترة مزدوجة في قواعد البيانات - Dz_MicroSoft - 09-07-2011

الله يبارك فيكم ..

جاري التجريب إخواني


كيف اقوم بفلترة مزدوجة في قواعد البيانات - Dz_MicroSoft - 09-07-2011

أخي Lam.Abdeldjalil .. الكود خطأ هل جربته من قبل ؟


كيف اقوم بفلترة مزدوجة في قواعد البيانات - Lam.Abdeldjalil - 09-07-2011

خطأ فني Smile لا أدري من أين أتت -> '

كود :
ADOTable7.Filter := 'Nom like ' + quotedstr('*'+ spSkinEdit5.Text +'*')+' and '+'Prénom like ' + quotedstr('*'+ spSkinEdit6.Text +'*');
بالتوفيق