![]() |
|
الفلترة بأكثر من قيمة - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : الفلترة بأكثر من قيمة (/showthread.php?tid=1595) |
الفلترة بأكثر من قيمة - yahia1921 - 31-01-2010 السلام عليكم اخوتي صادفني مشكل في عمل فلترة بأستخدام ثلاث قيم يجب ان تتوافق مع بعض لتتم الفلترة واستعملت الكود التالي لكن بدون فائدة هل يمكن تصحيحه او انه لا يصلح بتاتا لعمل الفلترة اذ انه لا يرجع لي القيم من الجدول كود : 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;الفلترة بأكثر من قيمة - محمد عبد العزيز - 01-02-2010 وعليكم السلام ما المشكل ؟ او ما الخطا ؟ الفلترة بأكثر من قيمة - yahia1921 - 01-02-2010 اهلا بك اخي عبد العزيز هو كان المشكل في اظهار نتيجة واحدة فقط وقد تم تجاوزه بحمد الله كل يوم نتعلم الجديد لكن ان سمحتلي لدي سؤال لك هل يمكنني القيام بعملية الطرح في الريف ريبورت بين قيمتين تعلمت الجمع و العد لكن احب ان اعرف اكثر عن الريف ريبورت من تعديلات مثل طريقة الطباعة عرصية او طولية ولك من جزيل الشكر :cryss: :monster1: الفلترة بأكثر من قيمة - محمد عبد العزيز - 01-02-2010 بالنسبة لRave Report لست من مستعمليه ولا اظن ان الطرح غير ممكن اما الكطابعة العرضية والطولية كما سميتها فهي من خصائص التقرير عودة لسؤالك، بما انك قلت تجاوزت مشكلتك فدعني اسالك لديك 3 مكونات Edit ماذا ان قام المستخدم بتعبئة واحدة او اثنين وترك الباقي فارغ
الفلترة بأكثر من قيمة - yahia1921 - 01-02-2010 كود : 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;تجاوز عني خطأي ان ارتكبت خطأ جسيما مازلت في اول الطريق و محتاج للتوجيه:monster1: الفلترة بأكثر من قيمة - محمد عبد العزيز - 01-02-2010 أولا Begin/End مضافة دون فائدة ثانيا انت تنبه المستخدم لكن ماذا ان كان يريد البحث بحقلين فقط الحقل الاول والثالث ومرة اخرى البحث باستخدام الثاني والثالث ومرة اخرى باستخدام حقل واحد فقط الفلترة بأكثر من قيمة - yahia1921 - 01-02-2010 شكرا على التنبيه لكن لا تنسى اني في اول الطريق اما عن سؤالك الرائع فصحح لي ان لم اكن مصيبا ما رأيك لو قمت بإستعمال التالي 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 على العموم فكرتك رائعة والله ولا في الاحلام اتمنى اتعلم كيف اعملها وانك تعلمني افكر الفلترة بأكثر من قيمة - yahia1921 - 01-02-2010 [ كود : [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] الفلترة بأكثر من قيمة - محمد عبد العزيز - 06-02-2010 لما اضفت checkbox ؟ سهل الامور على المستخدم ولا تعقدها على نفسك لديك ثلاث ُEdit لفلترة ثلاث حقول ان كانت Edit غير فارغة استخدمها في الفلترة ان كانت كلها فارغة لا يوجد فلترة حاول التطبيق |