الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ممكن مساعده

مغلق
بدأه Hussin_za في 14 أكتوبر 2004 · 6 رد · 517 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أولا السلام عليكم

يشرفني الانضمام للمنتدى

كيف أستطيع عمل فلترة بناء على شرطين ( القسم+الوظيفة) لمعرفة مثلا الموظفين في قسم الانتاج ووظيفتهم عامل

#2

السلام عليكم

رمضان مبارك للصائمين

اخي العزيز تستطيع اجراء الفلترة بطريقتين :

1-باستعمال المكون TABLE

بالطريقة التالية

table1.filtred:=true

table1.filter:='founction ='''+edit1.text+''' and classe='''+edit2.text+'''';

اما بالطريقة الثانية بالكويري عنطريق sql

query.close;

('select * from client where client.classe='+edit2.text+'and client.founction='+edit1.text+'')

query.open;

اخي العزيز

انا مشعول شوية وليس عندي دلفي هنا كي اجرب

لقد كتبت الكود بسرعة لاني لاحفظ وهدا عيبي

المهم هو الحل وانكان هنا ك خطءي الكتابة اجو ان تجدها بنفسك

شكرا

#3

أخي السلام عليكم

شكراً على المساعدة

لقد استطعت عمل الفلترة كما وضحتها ولكن مشكلتي كالتالي :

في جدول الموظفين يوجد حقلين 1- القسم 2- الوظيفة

ولكن عندما أقوم بفلترة البيانات حسب القسم ومن أثم اريد فلترتها حسب الوظيفة يقوم البرنامج بإلغاء الفلترة الأولى

مثال :

رقم الموظف القسم الوظيفة

1 العمليات مهندس

2 العمليات عامل

3 العمليات عامل

4 الانتاج عامل

5 الادارة كاتب

فلترة البيانات حسب قسم العمليات فتكون النتيجة

1 العمليات مهندس

2 العمليات عامل

3 العمليات عامل

وإذا قمت بفلترة النتيجة حسب الوظيفة عامل يكون الحاصل

2 العمليات عامل

3 العمليات عامل

4 الانتاج عامل

وما أريده هو فلترة البيانات حسب شرطين معاً القسم العمليات والوظيفة عامل لتكون النتيجة:

2 العمليات عامل

3 العمليات عامل

أرجو أن يكون المثال واضح

ملاحظة أخيرة :

الكود الذي تكتبة غير مرتب بشكل جيد فإذا كان الحل عندك الرجاء ترسله على عنواني البريدي hussin_za@hotmail.com

وجزاك الله ألف خير على نفاعلك

#4

السلام عليكم

Table1.Filter := 'CustNo > 1300 and State = "CA"';
  Table1.Filtered := True;
#5

هذا الشكل العام للكود عند عمل فلترة لأكثر من حقل

Table1.Filter := '(Field1=1) and (Field2=4) or (Field2=5)......'

أما إذا رغبت بالبحث باستخدام edit

فهذا الشكل العام للكود

Table1.Filter := Field1 = '''+Edit1.Text+ '''';
#6

السلام عليكم

اخي اضن انك تريد ان ترشح او تفلتر الجدول حسب شرط اول وحينما تتحصل على النتيجة الابتدائية تقوم بالترشيح الثاني او الفلترة الثانية

الجواب :

اعمل فلترة اولية وفق الشرط الاول عن طريق استعمال الكويري (sql) ثم قوم بفلترة الكويري بالتعليمة filter كما تستعملها في الجدول table

مثال :

 query.sql.add('select * from data where Field1=الشرط الاول ')

query.Filter :=' Field2 = الشرط الثاني ';

هده فكرة اولية وسااظر في الامر باذن الله

#7

أولاً جزاكم اللع ألف خير

أبو محمد حجرب الطرق الي أوردتها وإن شاء الله خير

باتي

أسف الكود الي كتبته غير مرتب ووااضح اكتبه على طريقة أبو محمد

هذا الموضوع مغلق.

مواضيع مشابهة