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

شايب

03 عضو مميز
  • Posts

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

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

  • Days Won

    2

كل منشورات العضو شايب

  1. ههههه نعم لدي اكثر من طريقة ولكن الاسهل باستخدام جدول مؤقت ونستخدم معيار القائمة لغرض الحاق البيانات المفلترة اما مصدر التقرير فيكون استعلام جديد مبني على الجدول المؤقت جرب المرفق لعله يكون المطلوب ولي عود غدا ان اراد الله الشايب basey(٢).accdb
  2. ولك مثلها واطيب هو مثل دارج ابحث عنه ان اردت وستجد بعون الله تفسير مالم تحط به خبرا تحياتي
  3. اعتقد الصورة المتحركة في ردي السابق تحقق المطلوب وتعطي نفس العدد المطلوب مثلا استاذ1 واستاذ2 ومساعد معلم 2 تعطي نفس النتيجة في صورتك اعلاه 89 ومثلها للاحتمالات الاخرى ولكن اذا اعتمدنا مبدأ لا يفتى ومالك في المدينة فقد آن للشايب ان يتوقف تحياتي
  4. جربت الملف ولكن لا يتم دمج الدرجات المتشابه ربما لم ترفق الملف المعدل وربما المشكلة من جهازي على كل حال انا اجريت تعديل وفقا لفهمي للطلب والنتيجة في الصورة المرفقة ولكني ساتريث لحين مشاهدة طريقتك او اي من مداخلات الاساتذة
  5. سبق ان اشرت اليها في مشاركتي الاولى وكذلك في ردي على مشاركة استاذنا ابو خليل لذا جرب المرفق نفس كود اخي جعفر ولكن يفلتر الحقل المجمع في Column(3) الاخ شايب يفضل النظر في الملاحظات التي اشار اليها ولكن النفس وما تريد الشايب basey(1).accdb
  6. الحقيقة ان لدي ملاحظات على الجدول والاستعلام سبق ان اشرت اليها قي ردي السابق اما اذا اردنا الطبطبة والتلييس على رأي المثل طبطب وليس يطلع كويس فممكن ان نجمع حقلي الدرجة والفوج في حقل واحد ونجعلة في الكولن 3 او اربعة في مصدر القائمة ونجعل حجمه 0 وايضا نعمله في استعلام مصدر التقرير ثم نفلتر بمعيار هذا الحقل ولكني افضل ان يقوم صاحب العمل ببناء البرنامج بشكل افضل واخذ رأي الاساتذة لعمل اكثر احترافيه الشايب
  7. الله يسعدك يا ابا خليل نفس الفكرة التي عملتها ولكني لم اضع مرفق لوجود تحفظ على بعض النتائج وهي ايضا موجودة في تعديلك جرب اختيار استاذ 1 واستاذ 2 ومعلم 1 يفترض تكون النتائج لثلاث فئات ستجد ان النتيجة اربعة استاذ 1 استاذ 2 معلم 1 معلم 2 وهذا ليس خطأ في الكود ولكن بسبب الحقل الفوج تحياتي
  8. سبب المشكلة ان الكود الذي عمله اخي جعفر يفلتر مربع القائمة بناء على حقل واحد grade ويعمل بشكل ممتاز وفقا لطلبك في حينه الان ترغب في فلترة حقلين وهنا ممكن عملها بطريقتين طريقة بسيطة وبدون تعديل على كود اخي جعفر نفلتر الحقل الفوج في الاستعلام بواسطة مربع تحرير وسرد الطريقة الثانية نعدل كود استاذنا ونحتاج الى اضافة متغير ثاني نحمل فيه قيمة الحقل الاخر بناء على ماتم اختياره ثم نفتح التقرير بمعيارين وهي الطريقة الافضل مع بعض التحفظ على بعض النتائج بسبب كون حقل الفوج لا يمثل حقل فريد مع ذلك ننتظر رأي الاساتذة فربما يكون لديهم حل افضل وخصوصا بان لدي ملاحظات على الاستعلام مصدر التقرير لتعدد الشروط وملاحظات على بناء الجدول واستخدام مربعات التحرير في الجدول وبعض الحقول نصية وتحمل ارقام واخيرا وليس اخر اخونا شايب يعتقد ان جدول مساند للقيم افضل من استخدام قائمة القيم مصدرا للقوائم المنسدلة ولكن تبقى وجهة نظر غير ملزمة وخصوصا انها من غير متخصص في البرمجة الشايب
  9. ماشاء الله عمل جميل للاستاذ خليفة وممكن الاستغناء عن الاستعلام مصدر التقير عن طريق شرط الفلتر في النموذج في السطر التاسع في زر فتح التقرير نستبدل DoCmd.OpenReport "rpt_Emp_Information", acViewPreview بالامر DoCmd.OpenReport "rpt_Emp_Information", acViewPreview, , Me.Filter مجرد فكرة للتقليل من كائنات البرنامج الشايب
  10. السؤال للخبراء مع ذلك الاجابة ممكن في زر الامر لفتح التقرير استبدل الامر لديك بالامر التالي DoCmd.OpenReport "yy", acViewPreview, , , acDialog اخونا الشايب yy.accdb
  11. ادخل عرض التصميم للتقرير ثم حدد الحقل او الحقول التي ترغب تطبيق التنسيق عليها ثم تبويب تنسيق ثم تنسيق شرطي
  12. هو نفس الكود السابق ولكن بدلا من تكراره اربع مرات نقوم بتعديل بسيط بداية في اعلى النموذج نعلن عن متغير رقمي Public s As Byte ثم نعمل اجراء على النحو التالي Sub sl() Dim rst As Recordset Dim a As Integer Set rst = Me.Sub.Form.Recordset rst.MoveFirst For a = 0 To rst.RecordCount - 1 rst.Edit Select Case s Case Is = 1 rst!drawn = -1 Case Is = 2 rst!send = -1 Case Is = 3 rst!drawn = 0 Case Is = 4 rst!send = 0 End Select rst.Update rst.MoveNext Next a Me.Sub.Requery s = 0 End Sub ثم في زر الامر نضع s = 1 sl وقيمة المتغيير s تتغير لكل زر امر وفقا لعمله في الكود اخير الاخ شايب لايهتم باختيار اسماء معبرة عن عمل المتغير او الاجراءات لكون غير متخصص في البرمجة ولا يمتهنها ويترك الامر للاساتذة والمختصين الملف مرفق تحديد الكل والغاء الكل.accdb
  13. جرب المرفق مع عدم الاقتناع بثلاث حقول مفتاح اساسي الشايب DD409.accdb
  14. اخيرا الاخ شايب يرغب في ايضاح اخير قاعدة برمجية عندما يكون لدينا كود يتم استخدامه في اكثر من موضع فمن الافضل تجنب تكرار كتابته وتحويل الكود الى وحدة او اجراء فرعي في النموذج وهنا اشارت الاستاذة الى وجود حقلين من نوع نعم لا واربعة ازرار امر اثنان لاختيار الكل واثنان للالغاء لذا ينصخ اخونا شايب في هذه الحالة بتحويل الكود الى اجراء فرعي واستخدام متغير رقمي في اعلى النموذج تتحدد قيمته من خلال ازرار الامر ونحتاج هنا الى ارقام من 1 الى 4 وفي الاجراء نستخدم Select Case بحيث اذا كان المتغير =1 يكون التعديل للحقل drawn وتكون قيمته =-1 وان كان المتغير =2 تكون قيمة الحقل =0 وهكذا عند ارسال رقم 3 يكون التعديل للحقل send اختيار الكل ورقم 4 للالغاء لنفس الحقل اي ان الكود مكتوب مرة واحدة ويقوم باربعة وظائف ويكون دور ازرار الامر فقط لتحديد قيمة المتغير واستدعاء الاجراء الفرعي ونكتفي بهذا القدر ونترك الامر للاساتذة ولعل يكون لنا عودة في موضوع اخر اخونا الشايب
  15. بعدين لابد ان نعرف اننا لا نتعامل مع خانة اختيار او مجموعة اختيار وانما في هذا المثال نتعامل مع حقل من نوع نعم لا
  16. احنا حددنا اسم الخانة الخاصة بالاختيار rst!drawn الموضوع بسيط بنفس الطريقة للخانة الثانية عند سحب الكل والغاء الكل فقط نعدل السطر السابع الى rst!test=-1 وللالغاء rst!test=0 على افتراض ان اسم خانة الاختيار الثانية test
  17. مشاركة مع الاساتذة بدون الحاجة لاستعلام فقط نتعامل مع مصدر السجلات ونسنده للنموذج الفرعي ثم نستخدم حلقة دوارة تعدل قيمة الحقل في زر الامر اختيار الكل نضع الامر Dim rst As Recordset Dim a As Integer Set rst = Me.Sub.Form.Recordset rst.MoveFirst For a = 0 To rst.RecordCount - 1 rst.Edit rst!drawn = -1 rst.Update rst.MoveNext Next a Me.Sub.Requery وفي زر الغاء الكل نضع Dim rst As Recordset Dim a As Integer Set rst = Me.Sub.Form.Recordset rst.MoveFirst For a = 0 To rst.RecordCount - 1 rst.Edit rst!drawn = 0 rst.Update rst.MoveNext Next a Me.Sub.Requery الملف مرفق الشايب تحديد الكل والغاء الكل.accdb
  18. هل وضعت علامة في خصائص خانة الاختيار لكل خانة ترغبي في تطبيق الكود عليها
  19. العملية بسيطة وممكن الوصول لذلك باكثر من طريقة طريقة استخدام الشروط لكل خانة خيار وهي طريقة تؤدي الغرض ولكنها تستدعي التكرار وصف اسماء الخانات ووو ... لا تعجب اخونا شايب الطريقة الثانية اذا كنا نرغب في تطبيق العمل على مجموعة من خانات الاختيار بدون استثناء ماعدا الخانة التي يتم النقر عليها فيمكن كتابة اجراء فرعي يمر على كافة الخانات في النموذج ويقوم باستبدال قيمتها الى 0 ماعدا الخانة التي تم اختيارها Sub x() Dim ctl As Control For Each ctl In Me.Controls If ctl.ControlType = 105 Then ctl.Value = 0 End If Next ctl Me.ActiveControl = -1 End Sub ويتم استدعاء الاجراء عند النقر x اما اذا اردنا تطبيق الامر على بعض الخانات واستثناء البعض منها فيمكن بدلا من الاشارة الى نوع خانات الاختيار وهي هنا 105 بدلا من ذلك نستخدم خاصية tag ويكون الاجراء Sub x() Dim ctl As Control For Each ctl In Me.Controls If ctl.Tag = "*" Then ctl.Value = 0 End If Next ctl Me.ActiveControl = -1 End Sub ويستدعى بنفس الطريقة في الصورة تم تطبيق الامر على خانة اختيار وقيمتها 105 وخانة تدقيق وقيمتها 106 الشايب
×
×
  • اضف...

Important Information