delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف اقوم بفلترة مزدوجة في قواعد البيانات
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم

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

مثلاً

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

لإني لما وضعت فلترة جديدة الأولى تلغى و يتم إعتماد الثانية فقط !
و عليكم السلام و رحمة الله
حاول باستعمال 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;
أشكرك على الرد أخي .. لكني لا أعرف إستعمال Query

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

هل جربت حل الأخ 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

بالتوفيق
الله يبارك فيكم ..

جاري التجريب إخواني
أخي Lam.Abdeldjalil .. الكود خطأ هل جربته من قبل ؟
خطأ فني Smile لا أدري من أين أتت -> '

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