اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

Foksh

أوفيسنا
  • Posts

    4193
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    179

كل منشورات العضو Foksh

  1. لا اعلم طبيعة العمل في مشروعك الذي تقوم بالتطبيق عليه ، ولكن كما رأيت في ملفك المرفق تم التطبيق بنفس الخطوات التي ذكرتها لك سابقاً.. او ارسل نسختك ليتم التنفيذ عليها.
  2. ولا يهمك اخي سامر .. 😇
  3. طيب أخي @2saad ، حتى لا نحمّل الاستعلام مصدر سجلات التقرير حملاً زائداً ( من وجهة نظري ) ، قمت بإنشاء دالة بسيطة تقوم بجلب التلاميذ الذين الدمج لهم <> 1 ، كالتالي :- Public Function GetDamgStudents(lagnaID As Long) As String Dim sql As String Dim hasRecords As Boolean sql = "SELECT Studentname FROM Tbl_student WHERE id_lagna = " & lagnaID & " AND damg_id <> 1 AND alsaf_Id = " & Forms!frm_Reports!ComboSaf With CurrentDb.OpenRecordset(sql) hasRecords = (Not .EOF) Do Until .EOF GetDamgStudents = GetDamgStudents & !Studentname & vbCrLf .MoveNext Loop .Close End With If Not hasRecords Then GetDamgStudents = "لا يوجد تلاميذ دمج لهذه اللجنة" Else GetDamgStudents = Trim(GetDamgStudents) End If End Function وعليه قمت بإنشاء مربع نص = "lstDamgStudents" مصدر بياناته استدعاء الدالة بهذا الشكل :- =GetDamgStudents([id_lagna]) وهذه صورة للنتيجة ، علماً أنك لم تقم بارفاق الملف الصحيح كما في الصورة ( ولا أعتقد أنه ضروري ، بما انك تنقل التعديلات الي مشروعك الرئيسي ) وعليه ، يصبح تعديلي في هذا الملف :- Data21.zip * ملاحظة ، تم عمل تنسيقات بسيطة لاخفاء مربع النص عندما لا يكون في اللجنة تلاميذ دمج ، وتستطيع الاستغناء عن هذه الفكرة طبعاً .
  4. ان كان التعبير والشرح غير كافي ، فارسل صورة توضح المطلوب يا صديقي ( على اعتبار انه نفس الطلب الرئيسي لك )
  5. انصحك بالبدء بفهم طبيعة تركيب وانشاء استعلام ، ثم توسع للذهاب الى الفلترة من خلال الـ VBA 😉 قمت بانشاء الاستعلام في وضع التصميم أولاً وتعريف المعاملات من خلال الزر ، ثم تضمن الشروط . حيث قمت بإضافة الشروط كما في الصورة التالية مراعياً اظهار السجلات كاملة عند فتح النموذج :- أما فيما يخص جزء PARAMETERS ( أو ما يعرف بالمعاملات ) وشرحها ، فهي كالآتي بشرح مختصر بسيط :- يتم توجيه الحديث مباشرة أنه يا آكسيس هناك بعض القيم سيتم إدخالها من النموذج ( Frm_Bons ) ، فقم بحفظها مؤقتاً لاستخدامها في الفلترة التي سيتم تطبيقها . وتم تطبيق جزء الشروط ( WHERE ) ، كما رأيت سابقاً مع استخدام الدالة Like لعدم التقيد بقيمة محددة كاملة ، بل يمكنك كتابة جزء من القيمة النصية المطلوب البحث عنها والفلترة ، بمعنى أصح وإن جاز التعبير هو نظام يشبه محركات البحث المعتادة مثل جوجل . يعني باختصار ، الاستعلام يعمل عمل فلتر الماء على مراحل يمرر البيانات عبر مرشح العميل أولاً ، ثم مرشح نوع البون ، ثم مرشح التاريخ ، ثم مرشح المنتج . وبالتالي أفضل الاستعلام أكثر من الفلترة من خلال الأكواد لسهولة ومرونة التعامل معه بشكل بصري أكثر من الكتابي . هذا والله أعلم طبعاً 😇
  6. استبدل الإستعلام السابق ، بالاستعلام التالي :- 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 مراحل كما تريد ، ومن رأيي الإستعلام أفضل لك للتعامل مع الفلترة المتعددة
  7. تريد الأسهل أم الأصعب لك ولعملك ؟؟ ممكن توضح أكثر ؟
  8. العفو أخي الكريم .. لا تنسى إغلاق مواضيعك 😇 .
  9. صورة توضيحية ..
  10. كلامك سليم 100% ، ولكن هناك حل لهذه المشكلة أيضاً نستخدم هذا الكود في حدث "في الحالي - On Current" مع الكود السابق Private Sub Form_Current() Dim bVisible As Boolean bVisible = (Me.total_out <> 0) With Me.CmdM .Transparent = Not bVisible .Enabled = bVisible End With With Me.CmdL .Transparent = Not bVisible .Enabled = bVisible End With With Me.CmdB .Transparent = Not bVisible .Enabled = bVisible End With End Sub DD-JO_2010.accdb
  11. وعليكم السلام ورحمة الله وبركاته .. فليسمح لي أخي @kkhalifa1960 ، لم لا نستخدم الدالة "Transparent" !!!! في حدث عند الرسم ( On Paint ) للجزء ( التفاصيل - Detail ) للنموذج ، نكتب الكود التالي :- If Me.total_out = 0 Then Me.CmdM.Transparent = True Me.CmdL.Transparent = True Me.CmdB.Transparent = True Else Me.CmdM.Transparent = False Me.CmdL.Transparent = False Me.CmdB.Transparent = False End If والنتيجة في الصورة التالية :- مرفق مثال الأستاذ خليفة مشكوراً على طرحه ، مع أن الأحق بإرفاق ملف هو أخونا @jo_2010 ، حتى لا نقع في اختلاف الأفكار والتسميات .... إلخ DD-JO_2010.accdb
  12. وعليكم السلام ورحمة الله وبركاته ،، أخي الكريم ، قم بتعديل استعلام النموذج الى الاستعلام التالي :- 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
  13. هههههههه ، هو لفظ تعودت عليه ، ولكن العبارة الصحيحة فعلاً "اختر تمت الإجابة" سيتم عمل مسح للكاش بعد هذه الرسالة
  14. وعليكم السلام ورحمة الله وبركاته ، أهلاً بك في مشاركتك الأولى معنا أخي الكريم . ونتمنى أن تجد الفائدة والمعلومة التي تبحث عنها , دعني ألفت انتباهك الى ضرورة التقيد بسياسة وقوانين المنتدى ، بحيث يتم ارفاق ملف بسيط للمشكلة وشرح وافي وكافي للمطلوب ، حتى تتوضح اصورة لمن يقرأ مشكلتك ويساهم في ايجاد حل مناسب لها . أهلاً وسهلاً ، وشكراً لك رحابة صدرك كما أود لفت انتباهك الى ان زر اختيار افضل إجابة مخصص لتختار الإجابة التي حققت طلبك بشكل كامل . وهي دلالة على ان الموضوع قد تم انهائه بحل المشكلة .
  15. أخي طاهر ، الواضح من خلال الكود انك تعتمد على مربع النص IDM كشرط للحصول على رقم الهامش للزوجة ، ولكن!! مربع النص IDM عند الكود التالي :- If SearchListZ.ListIndex = -1 Then Me.IDM = SearchListZ.Column(0, 1) Else: Me.IDM = SearchListZ.Column(0) Cr = DLookup("Hamech", "Tbl_ZAWJA", "IDM =" & Me.IDM) If Cr = 4 Then MsgBox " تنبيه ! هذه الزوجة متوفيه" DoCmd.Close acForm, "A1" تكون قيمته = تاريخ ميلاد الزوجة ، وهنا لا تتم المقارنة بالشرط بشكل صحيح . لذا ، انشئ مربع نص جديد على سبيل المثال Tx_IDM ، واجعل قيمته = رقم الزوجة Me.Tx_IDM = [Forms]![Search_Frm]![IDM] ثم عدل الجزء السابق ليصبح :- If SearchListZ.ListIndex = -1 Then Me.IDM = SearchListZ.Column(0, 1) Else: Me.IDM = SearchListZ.Column(0) Cr = DLookup("Hamech", "Tbl_ZAWJA", "IDM =" & Me.Tx_IDM) If Cr = 4 Then MsgBox " تنبيه ! هذه الزوجة متوفيه" DoCmd.Close acForm, "A1" وعليه سيظهر لك مسج انه هذه الزوجة متوفية ، ونفس الشيء عند الزوج في مربع النص IDP ، هو شرط لجلب قيمة الهامش ، ولكن قيمته = تاريخ ميلاد الزوج قمت بذكر المشكلة وتركت الحل لك لتتبين لك الأمور بشكل واضح .
  16. أخي طاهر ، الواضح من خلال الكود انك تعتمد على مربع النص IDM كشرط للحصول على رقم الهامش للزوجة ، ولكن!! مربع النص IDM عند الكود التالي :- If SearchListZ.ListIndex = -1 Then Me.IDM = SearchListZ.Column(0, 1) Else: Me.IDM = SearchListZ.Column(0) Cr = DLookup("Hamech", "Tbl_ZAWJA", "IDM =" & Me.IDM) If Cr = 4 Then MsgBox " تنبيه ! هذه الزوجة متوفيه" DoCmd.Close acForm, "A1" تكون قيمته = تاريخ ميلاد الزوجة ، وهنا لا تتم المقارنة بالشرط بشكل صحيح . لذا ، انشئ مربع نص جديد على سبيل المثال Tx_IDM ، واجعل قيمته = رقم الزوجة Me.Tx_IDM = [Forms]![Search_Frm]![IDM] ثم عدل الجزء السابق ليصبح :- If SearchListZ.ListIndex = -1 Then Me.IDM = SearchListZ.Column(0, 1) Else: Me.IDM = SearchListZ.Column(0) Cr = DLookup("Hamech", "Tbl_ZAWJA", "IDM =" & Me.Tx_IDM) If Cr = 4 Then MsgBox " تنبيه ! هذه الزوجة متوفيه" DoCmd.Close acForm, "A1" وعليه سيظهر لك مسج انه هذه الزوجة متوفية ، ونفس الشيء عند الزوج في مربع النص IDP ، هو شرط لجلب قيمة الهامش ، ولكن قيمته = تاريخ ميلاد الزوج قمت بذكر المشكلة وتركت الحل لك لتتبين لك الأمور بشكل واضح .
  17. لماذا في الخاص أخي طاهر ,, المنتدى قائم على الفائدة العامة وللجميع ، أم هل هو صعب عليك أن تقوم بفتح موضوع جديد !!
  18. العفو اخي الكريم ، فضلاً وليس أمراً .. لا تنسى اغلاق الموضوع باختيار افضل اجابة .
  19. أخي طاهر , هل هذا الطلب نفس المشكلة السابقة ؟؟؟؟؟؟؟؟؟؟؟ من الواضح أنه لا ، ليس له صلة وعلاقة بالمشكلة الأولى . انصحك بفتح موضوع جديد كي لا يكون في نفس الموضوع أكثر من مشكلة ولن يستدل أحد على المشاكل من خلال العنوان . على الرغم من أنه عند اختيار "مبروكه منيح11" ، لم تظهر لي الرسالة ان "هذه الزوجة متوفية" . شكراً لك سعة صدرك
  20. وعليكم السلام ورحمة الله وبركاته ,, من تبويب ( Other - أخرى ) من خصائص النموذج ، اجعل قيمة ( مشروط - Modal ) = نعم
  21. أخي الكريم وعليكم السلام ورحمة الله وبركاته.. العنوان ليس له دلالة على موضوع المشكلة ، هذا من جهة. من جهة أخرى وتصحيحاً لخطأ مطبعي ، اسم الموقع أوفيسنا 😇 . ثالثاً انزل الى نهاية الصفحة ستجد في الأسفل زر Language - اللغة ، فمنه تستطيع تغيير لغة الموقع . اذا لم تنجح ، فقط قم بحذف الكاش من المتصفح الخاص بك وحاول مرة أخرى.
  22. بعد التدقيق في فكرة أستاذي ومعلمي @ابوخليل ، تبين لي ان المتغير لا يتم حجزه بشكل مناسب قبل فتح التقرير ، وهنا خطر لي تعديل بسيط بحيث نعتمد على قيمة CheckBox في النموذج A1 والذي هو مفتاح الربط في فكرتي ، بحيث اذا كان فارغاً يتم تعديل القيمة كما فعل أستاذي في فكرته ، وإلا فيتم عرض النص الأصلي ( بين عرض اسم الزوج أو الزوجة ) جرب تعديل حدث عند التحميل للتقرير بهذا الأسلوب :- Private Sub Report_Load() Me.Rep1.Value = Rept1 Me.Rep2.Value = Rept2 'المعلومات الشخصية Me.Nom.Value = TempVars("Nom") Me.Prenom.Value = TempVars("Prenom") Me.Date_Naiss.Value = TempVars("Date_Naiss") Me.Lieu_Naiss.Value = TempVars("Lieu_Naiss") Me.Nom_Per.Value = TempVars("Nom_Per") Me.Nom_Mer.Value = TempVars("Nom_Mer") Me.CheckBox.Value = TempVars("CheckBox") Me.Prenom1.Value = TempVars("Prenom1") Me.ep = IIf(([CheckBox]) = 0, "أرملة", "حرم") 'الشاهد الاول Me.C1.Value = TempVars("C1") Me.N1.Value = TempVars("N1") Me.d1.Value = TempVars("D1") Me.L1.Value = TempVars("L1") 'الشاهد الثاني Me.C2.Value = TempVars("C2") Me.N2.Value = TempVars("N2") Me.D2.Value = TempVars("D2") Me.L2.Value = TempVars("L2") ''السكن وبلدية الاقامة Me.N4.Value = TempVars("N4") Me.N5.Value = TempVars("N5") If Not IsNull(Forms!a1!CheckBox) Or (Forms!a1!CheckBox) <> "" Then text1 = [Prenom] & " " & [Nom] & " " & [ep] & " " & [Prenom1] Else text1 = [Prenom] End If End Sub
  23. تمت الإجابة بكل التفاصيل في هذه المشاركة ، في الموضوع : عمل كشفين لجنة
  24. لا اعلم اين المشكلة ، ولكن انظر النتيجة من مرفق الأستاذ @ابوخليل
×
×
  • اضف...

Important Information