الفلترة بأكثر من قيمة
#1
السلام عليكم اخوتي
صادفني مشكل في عمل فلترة بأستخدام ثلاث قيم يجب ان تتوافق مع بعض لتتم الفلترة
واستعملت الكود التالي لكن بدون فائدة
هل يمكن تصحيحه او انه لا يصلح بتاتا لعمل الفلترة اذ انه لا يرجع لي القيم من الجدول
كود :
var S,F,D:string; begin D:=maskedit1.Text; F:=maskedit2.Text; S:=maskedit3.Text; adodataset1.filter:='num-mag ='''+d+'''and num-emp='''+F+'''and dat-tra='''+s+''''; adodataset1.filtered:=True; adodataset1.First; end;
الرد
#2

وعليكم السلام
ما المشكل ؟ او ما الخطا ؟
الرد
#3
اهلا بك اخي عبد العزيز هو كان المشكل في اظهار نتيجة واحدة فقط وقد تم تجاوزه بحمد الله
كل يوم نتعلم الجديد
لكن ان سمحتلي لدي سؤال لك هل يمكنني القيام بعملية الطرح في الريف ريبورت بين قيمتين تعلمت الجمع و العد لكن احب ان اعرف اكثر عن الريف ريبورت من تعديلات مثل طريقة الطباعة عرصية او طولية ولك من جزيل الشكر
:cryss:
:monster1:
الرد
#4
بالنسبة لRave Report لست من مستعمليه ولا اظن ان الطرح غير ممكن
اما الكطابعة العرضية والطولية كما سميتها فهي من خصائص التقرير

عودة لسؤالك، بما انك قلت تجاوزت مشكلتك فدعني اسالك
لديك 3 مكونات Edit
ماذا ان قام المستخدم بتعبئة واحدة او اثنين وترك الباقي فارغ
Wink
الرد
#5
كود :
var S,F,D:string; begin D:=maskedit1.Text; F:=maskedit2.Text; S:=maskedit3.Text; [COLOR="Red"]begin if maskedit1.text='' then showmessage('dont let num-mag empty'); if maskedit2.text='' then showmessage('dont let num-emp empty'); if maskedit3.text='' then showmessage('dont let dat-tra empty');[/COLOR] adodataset1.filter:='num-mag ='''+d+'''and num-emp='''+F+'''and dat-tra='''+s+''''; adodataset1.filtered:=True; adodataset1.First; end; end; end;
[/QUOTE]

تجاوز عني خطأي ان ارتكبت خطأ جسيما مازلت في اول الطريق و محتاج للتوجيه:monster1:
الرد
#6

أولا Begin/End مضافة دون فائدة
ثانيا انت تنبه المستخدم لكن ماذا ان كان يريد البحث بحقلين فقط
الحقل الاول والثالث
ومرة اخرى البحث باستخدام الثاني والثالث
ومرة اخرى باستخدام حقل واحد فقط
الرد
#7
شكرا على التنبيه لكن لا تنسى اني في اول الطريق اما عن سؤالك الرائع فصحح لي ان لم اكن مصيبا
ما رأيك لو قمت بإستعمال التالي
1/ checkbox
2/ زر speedbutton
3/ ثلاثة من maskedit
واكرر الكود التالي في كل حالة
كود :
[COLOR="Red"]begin if checkbox1.checked=true then begin maskedit1.text:=''; maskedit1.Visible:=false; end else if checkbox1.checked=false then if maskedit1.text='' then [color=DeepSkyBlue] maskedit1.Visible:=true;[/color] showmessage('write num-mag'); [/COLOR]
قمت بإدراج
maskedit1.Visible:=true;
في حالة ما اذا تحولت قيمة checkbox الى الfalse بعدما كانت true
على العموم فكرتك رائعة والله ولا في الاحلام اتمنى اتعلم كيف اعملها وانك تعلمني افكر
الرد
#8
[
كود :
[COLOR="Red"]begin if checkbox1.checked=true then begin maskedit1.text:=''; maskedit1.Visible:=false; end else if checkbox1.checked=false then begin if maskedit1.text='' then [color=DeepSkyBlue] maskedit1.Visible:=true;[/color] showmessage('write num-mag'); end; adodataset1.filter:='num-mag ='''+d+'''and num-emp='''+F+'''and dat-tra='''+s+''''; adodataset1.filtered:=True; adodataset1.First; end; end; end; [/COLOR]
قمت بإدراج
maskedit1.Visible:=true;
في حالة ما اذا تحولت قيمة checkbox الى الfalse بعدما كانت true
على العموم فكرتك رائعة والله ولا في الاحلام اتمنى اتعلم كيف اعملها وانك تعلمني افكر[/QUOTE]
الرد
#9

لما اضفت checkbox ؟
سهل الامور على المستخدم ولا تعقدها على نفسك
لديك ثلاث ُEdit لفلترة ثلاث حقول
ان كانت Edit غير فارغة استخدمها في الفلترة
ان كانت كلها فارغة لا يوجد فلترة
حاول التطبيق
الرد


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


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