khyrabak قام بنشر بالامس في 13:46 قام بنشر بالامس في 13:46 المطلوب عمل تصفية للفورم بإختيار العميل من الكومبو أو نوع البون أو تاريخ البون بين تاريخين وتصدير التصفية إلى تقرير بنفس المعايير المطلوب تصفية بالكود وليس requery للنموذج فى مصدر البيانات جزاكم الله خيرا 10.accdb
Foksh قام بنشر بالامس في 14:28 قام بنشر بالامس في 14:28 وعليكم السلام ورحمة الله وبركاته ،، أخي الكريم ، قم بتعديل استعلام النموذج الى الاستعلام التالي :- PARAMETERS [Forms]![Frm_Bons]![cmpagen] Long, [Forms]![Frm_Bons]![cmpkind] Text ( 255 ), [Forms]![Frm_Bons]![fromdate] DateTime, [Forms]![Frm_Bons]![todate] DateTime; SELECT tbl_Bons.Bon_nu, tbl_Bons.BonDate, tbl_Bons.Bon_kind, tbl_Bons.agent_id, tbl_Bons.carNo, tbl_Bons.driver_nm, tbl_Bons.Prod_no, tbl_Bons.Qty, tbl_Bons.sale_price, tbl_Bons.Remark, [sale_price] * [Qty] AS txtall FROM tbl_Bons WHERE (tbl_Bons.agent_id=Forms!frm_Bons!cmpagen Or Forms!Frm_Bons!cmpagen Is Null) And (tbl_Bons.Bon_kind Like "*" & Forms!Frm_Bons!cmpkind & "*" Or Forms!Frm_Bons!cmpkind Is Null) And ((tbl_Bons.BonDate>=Forms!Frm_Bons!fromdate Or Forms!Frm_Bons!fromdate Is Null) And (tbl_Bons.BonDate<=Forms!Frm_Bons!todate Or Forms!Frm_Bons!todate Is Null)); وفي مربعات النص الخاصة بالتواريخ ( من - إلى ) و مربعي التحرير والسرد ( cmpagen و cmpkind ) اجعل لهم الحدث بعد التحديث = Me.Requery أما بخصوص الزر CmdRemoveFilter لأزالة الفلترة ، فقد تم تعديله كالتالي :- Private Sub CmdRemoveFilter_Click() Me.FilterOn = False Me.cmpagen = Null Me.cmpkind = Null Me.fromdate = Null Me.todate = Null Me.Requery End Sub ملفك بعد التعديل :- 10.accdb 1 1
khyrabak قام بنشر منذ 10 ساعات الكاتب قام بنشر منذ 10 ساعات شكرا جزيلا أخى الكريم ممكن طريقة أخرى بالكود التصفية بدلا من الاستعلام ونزيد فى المعايير كود المنتج أيضا سواء بالاستعلام أو كود التصفية جزاكم الله خيرا 10.accdb
Foksh قام بنشر منذ 10 ساعات قام بنشر منذ 10 ساعات 6 دقائق مضت, khyrabak said: ممكن طريقة أخرى بالكود التصفية بدلا من الاستعلام تريد الأسهل أم الأصعب لك ولعملك ؟؟ 6 دقائق مضت, khyrabak said: ونزيد فى المعايير كود المنتج أيضا سواء بالاستعلام أو كود التصفية ممكن توضح أكثر ؟
تمت الإجابة Foksh قام بنشر منذ 9 ساعات تمت الإجابة قام بنشر منذ 9 ساعات استبدل الإستعلام السابق ، بالاستعلام التالي :- PARAMETERS [Forms]![Frm_Bons]![cmpagen] Long, [Forms]![Frm_Bons]![cmpkind] Text ( 255 ), [Forms]![Frm_Bons]![fromdate] DateTime, [Forms]![Frm_Bons]![todate] DateTime, [Forms]![Frm_Bons]![cmb_prod] Text ( 255 ); SELECT tbl_Bons.Bon_nu, tbl_Bons.BonDate, tbl_Bons.Bon_kind, tbl_Bons.agent_id, tbl_Bons.carNo, tbl_Bons.driver_nm, tbl_Bons.Prod_no, tbl_Bons.Qty, tbl_Bons.sale_price, tbl_Bons.Remark, [sale_price] * [Qty] AS txtall FROM tbl_Bons WHERE (tbl_Bons.agent_id=Forms!frm_Bons!cmpagen Or Forms!Frm_Bons!cmpagen Is Null) And (tbl_Bons.Bon_kind Like "*" & Forms!Frm_Bons!cmpkind & "*" Or Forms!Frm_Bons!cmpkind Is Null) And ((tbl_Bons.BonDate>=Forms!Frm_Bons!fromdate Or Forms!Frm_Bons!fromdate Is Null) And (tbl_Bons.BonDate<=Forms!Frm_Bons!todate Or Forms!Frm_Bons!todate Is Null)) And (tbl_Bons.Prod_no Like "*" & Forms!Frm_Bons!cmb_prod & "*" Or Forms!Frm_Bons!cmb_prod Is Null); تطبيق الفلترة على 4 مراحل كما تريد ، ومن رأيي الإستعلام أفضل لك للتعامل مع الفلترة المتعددة 1
khyrabak قام بنشر منذ 9 ساعات الكاتب قام بنشر منذ 9 ساعات 16 دقائق مضت, Foksh said: تريد الأسهل أم الأصعب لك ولعملك ؟؟ أخى الكريم أريد التعلم الطريقتين طريقة الاستعلام وكود الفلترة طريقة الاستعلام ممتازة ولو تكرمت تشرحها لى هل حضرتك كتبتها كود SQl على طول أم تأخذ كل شرط بإحتماله مع الشروط الأخرى . أنا مش عارف سألت السؤال كدة صح ولا ايه بمعنى لو تشرح لى كود sql الجزء بتاع PARAMETERS 21 دقائق مضت, Foksh said: ممكن توضح أكثر ؟ فى الملف المرفق وضعت كومبو أخر وهو المنتج يكون من ضمن شروط التصفية جزاكم الله خيرااااا 1
Foksh قام بنشر منذ 9 ساعات قام بنشر منذ 9 ساعات 5 دقائق مضت, khyrabak said: أريد التعلم الطريقتين طريقة الاستعلام وكود الفلترة انصحك بالبدء بفهم طبيعة تركيب وانشاء استعلام ، ثم توسع للذهاب الى الفلترة من خلال الـ VBA 😉 5 دقائق مضت, khyrabak said: هل حضرتك كتبتها كود SQl على طول أم تأخذ كل شرط بإحتماله مع الشروط الأخرى قمت بانشاء الاستعلام في وضع التصميم أولاً وتعريف المعاملات من خلال الزر ، ثم تضمن الشروط . حيث قمت بإضافة الشروط كما في الصورة التالية مراعياً اظهار السجلات كاملة عند فتح النموذج :- أما فيما يخص جزء PARAMETERS ( أو ما يعرف بالمعاملات ) وشرحها ، فهي كالآتي بشرح مختصر بسيط :- يتم توجيه الحديث مباشرة أنه يا آكسيس هناك بعض القيم سيتم إدخالها من النموذج ( Frm_Bons ) ، فقم بحفظها مؤقتاً لاستخدامها في الفلترة التي سيتم تطبيقها . وتم تطبيق جزء الشروط ( WHERE ) ، كما رأيت سابقاً مع استخدام الدالة Like لعدم التقيد بقيمة محددة كاملة ، بل يمكنك كتابة جزء من القيمة النصية المطلوب البحث عنها والفلترة ، بمعنى أصح وإن جاز التعبير هو نظام يشبه محركات البحث المعتادة مثل جوجل . يعني باختصار ، الاستعلام يعمل عمل فلتر الماء على مراحل يمرر البيانات عبر مرشح العميل أولاً ، ثم مرشح نوع البون ، ثم مرشح التاريخ ، ثم مرشح المنتج . وبالتالي أفضل الاستعلام أكثر من الفلترة من خلال الأكواد لسهولة ومرونة التعامل معه بشكل بصري أكثر من الكتابي . هذا والله أعلم طبعاً 😇
jjafferr قام بنشر منذ 2 ساعات قام بنشر منذ 2 ساعات وعليكم السلام انصحك بقراءة هذه المواضيع: . . . . اما بالنسبة الى برنامجك ، فتفضل التصفية بالاستعلام (اما التصفية في النموذج ، فرجاء قراءة اول موضوع اعطيتك رابطه اعلاه). 1630.10.accdb
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.