السلام عليكم اخوتي
صادفني مشكل في عمل فلترة بأستخدام ثلاث قيم يجب ان تتوافق مع بعض لتتم الفلترة
واستعملت الكود التالي لكن بدون فائدة
هل يمكن تصحيحه او انه لا يصلح بتاتا لعمل الفلترة اذ انه لا يرجع لي القيم من الجدول
كود :
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;
وعليكم السلام
ما المشكل ؟ او ما الخطا ؟
اهلا بك اخي عبد العزيز هو كان المشكل في اظهار نتيجة واحدة فقط وقد تم تجاوزه بحمد الله
كل يوم نتعلم الجديد
لكن ان سمحتلي لدي سؤال لك هل يمكنني القيام بعملية الطرح في الريف ريبورت بين قيمتين تعلمت الجمع و العد لكن احب ان اعرف اكثر عن الريف ريبورت من تعديلات مثل طريقة الطباعة عرصية او طولية ولك من جزيل الشكر
:cryss:
:monster1:
بالنسبة لRave Report لست من مستعمليه ولا اظن ان الطرح غير ممكن
اما الكطابعة العرضية والطولية كما سميتها فهي من خصائص التقرير
عودة لسؤالك، بما انك قلت تجاوزت مشكلتك فدعني اسالك
لديك 3 مكونات Edit
ماذا ان قام المستخدم بتعبئة واحدة او اثنين وترك الباقي فارغ 
كود :
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:
أولا Begin/End مضافة دون فائدة
ثانيا انت تنبه المستخدم لكن ماذا ان كان يريد البحث بحقلين فقط
الحقل الاول والثالث
ومرة اخرى البحث باستخدام الثاني والثالث
ومرة اخرى باستخدام حقل واحد فقط
شكرا على التنبيه لكن لا تنسى اني في اول الطريق اما عن سؤالك الرائع فصحح لي ان لم اكن مصيبا
ما رأيك لو قمت بإستعمال التالي
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
على العموم فكرتك رائعة والله ولا في الاحلام اتمنى اتعلم كيف اعملها وانك تعلمني افكر
[
كود :
[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]
لما اضفت checkbox ؟
سهل الامور على المستخدم ولا تعقدها على نفسك
لديك ثلاث ُEdit لفلترة ثلاث حقول
ان كانت Edit غير فارغة استخدمها في الفلترة
ان كانت كلها فارغة لا يوجد فلترة
حاول التطبيق