![]() |
|
فيما يخص الفلترة بحقول متعددة - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : فيما يخص الفلترة بحقول متعددة (/showthread.php?tid=12232) |
فيما يخص الفلترة بحقول متعددة - addidou230 - 04-03-2023 السلام عليكم و رحمة الله و بركاته في الصورة المرفقة عملية فلترة بعدة حقول ![]() لدينا تاريخين و لدينا كمبوبوكس به اسماء المستخدمين و كمبوبوكس به اسماء الحركات اريد عند اختيار التاريخين دون اختيار اسما للمستخذم او نوع حركة و الضغط على زر عرض التقرير يعطيني تقرير حركة المستخدمين .... ثم عند اختيار اسما للمستخدم و الضغط على نفس الزر يعطيني تقرير الحركة للمستخدم ما بين التاريخين المذكورين و في الاخير عند اضافة اسم الحركة و اسم المستخدم و تاريخين يعطيني النتيجة ممكن حل بارك الله فيكم حول هذه الفلترة اما باستعمال الكويري او اي اجراء اخر RE: طلب مساعدة فيما يخص الفلترة بحقول متعددة - أبو معاذ - 04-03-2023 و عليكم السلام ورحمة الله وبركاته، لدينا الاحتمالات التالية: 1- بحث بالتاريخ فقط. 2- بحث بالتاريخ و المستخدمين فقط. 3- بحث بالتاريخ و الحركة فقط. 4- بحث بالتاريخ و المستخدمين و الحركة. PHP كود : if (Check_Boxdate.Checked = true) thenQuery1 هو اسم المكون الذي تتصل به لتجلب المعلومات مثل ADO Query1 . و الله أعلم. RE: طلب مساعدة فيما يخص الفلترة بحقول متعددة - محمد الدرة - 05-03-2023 افض حل باستخدام هي التحقق من كل شرط وفي حال تحققه يضاف الكود الخاص به لانك لو عملت لكل الاحتمالات فسينتهي الامر بمئات الاسطر والتي لافائدة منها مثلا لديك اسم المستخدم والتاريخ والحركة قمت بالبحث عن طريق اسم المستخدم والحركة تقوم اولاً باخذ اسم المستخدم وتقوم باضافة الشرط الى الاستعلام كود : var qu:string='select * from transaction where (1=1)';
if username.text<>''
qu:=qu+' and username='+quotedtostr( username.text );
if transdatechk.checked then//
qu:=qu+' and date between :a and :b';
if transtype.text<>'' then
qu:=qu+' and transtype ='+quotedtostr( transtype.text );هذا كمثال بسيط لاحظ اني كل مااتحقق من شرط ويكون موجود يقوم باضافة نص الى متغير من نوع string في الاخير اقوم باسناد المتغير هذا الى مكون query واقوم بتنفيذه ملاحظه: لتجنب injection استخدم البارامترات بدل الاسناد المباشر بالتوفيق |