اذهب الي المحتوي
أوفيسنا

كل الانشطه

هذه الصفحة تحدث تلقائياً

  1. الساعة الأخيرة
  2. مشاركة مع الأستاذ @Barna ، من خلال استعلام التحديث التالي :- UPDATE data_dor2 SET N_Arb = IIF(Val(Nz([Dor_Arb], 0)) = -1, -1, IIF(IsNumeric([Dor_Arb]), IIF(Val(Nz([Dor_Arb], 0)) >= 50, Val([Dor_Arb]), IIF(IsNull([TDor_Arb]) OR Val(Nz([TDor_Arb], -1)) = -1, 0, IIF(Val([TDor_Arb]) >= 50, 50, Val([TDor_Arb])) ) ), 0) ), N_Math = IIF(Val(Nz([Dor_Math], 0)) = -1, -1, IIF(IsNumeric([Dor_Math]), IIF(Val(Nz([Dor_Math], 0)) >= 50, Val([Dor_Math]), IIF(IsNull([TDor_Math]) OR Val(Nz([TDor_Math], -1)) = -1, 0, IIF(Val([TDor_Math]) >= 50, 50, Val([TDor_Math])) ) ), 0) ), N_Drast = IIF(Val(Nz([Dor_Drast], 0)) = -1, -1, IIF(IsNumeric([Dor_Drast]), IIF(Val(Nz([Dor_Drast], 0)) >= 50, Val([Dor_Drast]), IIF(IsNull([TDor_Drast]) OR Val(Nz([TDor_Drast], -1)) = -1, 0, IIF(Val([TDor_Drast]) >= 50, 50, Val([TDor_Drast])) ) ), 0) ), N_Since = IIF(Val(Nz([Dor_Since], 0)) = -1, -1, IIF(IsNumeric([Dor_Since]), IIF(Val(Nz([Dor_Since], 0)) >= 50, Val([Dor_Since]), IIF(IsNull([TDor_Since]) OR Val(Nz([TDor_Since], -1)) = -1, 0, IIF(Val([TDor_Since]) >= 50, 50, Val([TDor_Since])) ) ), 0) ), N_Eng = IIF(Val(Nz([Dor_Eng], 0)) = -1, -1, IIF(IsNumeric([Dor_Eng]), IIF(Val(Nz([Dor_Eng], 0)) >= 50, Val([Dor_Eng]), IIF(IsNull([TDor_Eng]) OR Val(Nz([TDor_Eng], -1)) = -1, 0, IIF(Val([TDor_Eng]) >= 50, 50, Val([TDor_Eng])) ) ), 0) ), N_Comp = IIF(Val(Nz([Dor_comp], 0)) = -1, -1, IIF(IsNumeric([Dor_comp]), IIF(Val(Nz([Dor_comp], 0)) >= 50, Val([Dor_comp]), IIF(IsNull([TDor_Comp]) OR Val(Nz([TDor_Comp], -1)) = -1, 0, IIF(Val([TDor_Comp]) >= 50, 50, Val([TDor_Comp])) ) ), 0) ), N_Skills = IIF(Val(Nz([Dor_skills], 0)) = -1, -1, IIF(IsNumeric([Dor_skills]), IIF(Val(Nz([Dor_skills], 0)) >= 50, Val([Dor_skills]), IIF(IsNull([TDor_Skills]) OR Val(Nz([TDor_Skills], -1)) = -1, 0, IIF(Val([TDor_Skills]) >= 50, 50, Val([TDor_Skills])) ) ), 0) ), N_Den = IIF(Val(Nz([Dor_Den], 0)) = -1, -1, IIF(IsNumeric([Dor_Den]), IIF(Val(Nz([Dor_Den], 0)) >= 50, Val([Dor_Den]), IIF(IsNull([TDor_Den]) OR Val(Nz([TDor_Den], -1)) = -1, 0, IIF(Val([TDor_Den]) >= 50, 50, Val([TDor_Den])) ) ), 0) ) WHERE name_student <> "IsNull";
  3. توضيح ارسالة تظهر قبل التعديل لاستاذ @Foksh الرسال ماتظهر عندي ولا لجهاز ثاني من غير اي خمرشة غير صحيح يا استاذي @ابو جودي ❤️🌹☕ يبليها معالجهة بس والي عندي وجهاز غيري من غير ومضي
  4. استبدل الكود الموجود تحت الزر فقط بهذه الشيفرة ........... Private Sub أمر309_Click() Dim rst As DAO.Recordset Dim db As DAO.Database Dim ctl As Control Dim controlsList As New Collection Dim dorAwalField As String, dorThanField As String, finalField As String Dim dorAwalVal As Variant, dorThanVal As Variant, finalVal As Variant Dim i As Integer Dim excludedNames As Variant Set db = CurrentDb() Set rst = Me.RecordsetClone ' نسخة من مصدر بيانات النموذج ' أسماء الحقول التي نريد استثناؤها (اسم الطالب، رقم الجلوس) excludedNames = Array("num_Glos", "name_student") ' جمع أسماء الحقول المرتبطة بالدرجات، حسب ترتيب مربعات النص في النموذج For Each ctl In Me.Controls If ctl.ControlType = acTextBox Then If IsExcluded(ctl.Name, excludedNames) = False Then If ctl.ControlSource <> "" Then controlsList.Add ctl.ControlSource End If End If End If Next ctl ' المرور على جميع السجلات وتحديث الدرجات If Not rst.EOF Then rst.MoveFirst Do While Not rst.EOF rst.Edit For i = 1 To controlsList.Count Step 3 If i + 2 <= controlsList.Count Then dorAwalField = controlsList(i) dorThanField = controlsList(i + 1) finalField = controlsList(i + 2) dorAwalVal = Nz(rst(dorAwalField), 0) dorThanVal = Nz(rst(dorThanField), -1) If dorThanVal = -1 Then finalVal = -1 ElseIf dorThanVal >= 50 Then finalVal = 50 Else finalVal = dorThanVal End If rst(finalField) = finalVal End If Next i rst.Update rst.MoveNext Loop rst.Close Set rst = Nothing Set db = Nothing Me.Requery ' لتحديث النموذج بعد التعديل MsgBox "تم تحديث جميع الدرجات النهائية بنجاح.", vbInformation End Sub
  5. يا أهلا وسهلا بالأفكار الجميلة وصاحبها .. جميل جداً جداً لي تعليق على :- لا حاجة لاستخدام vbMsgBoxRtlReading مع vbMsgBoxRight . فهذا يكفي لجعل اتجاه النص RTL ( حتى بدون vbMsgBoxRight، لأن vbMsgBoxRtlReading يتضمن عادةً محاذاة لليمين تلقائية ) . لاحظت انه في حال تم استخدام أزرار أخرى في النموذج ذات علاقة مختلفة مثل اغلاق النموذج من خلال الحدث Docmd.Close وكانت التسمية للزر الجديد = "إغلاق" فإن الدالة ستحاول قراءة التسمية للزر على أنها أحد الحروف ، مما ينتج رسالة الخطأ :- ثم ثم وفي النهاية لن يتم اغلاق النموذج نظام الصوت في بعض الحروف قد يكون غير واضح مثل الحرف ـا "الألف المد" ... ما وظيفة الـ Tag للأزرار الخاصة بالأحرف ؟؟؟؟؟
  6. أنا نسيت أضعها فى المطلوب فى الأول لكن الباقى تمام فتصبح الدرجة النهائية : لو حصل الطالب فى درجة الدور الثانى على أكبر من 50 =50 لو أصغر من 50 =الدرجة التى حصل عليها نفسها . ودول تمام فى الكود يبقى الشرط ده وأنا نسيته لو كانت (1-) = 1- لأنه دى بتترصد للطالب الغائب . هل محتاج حضرتك توضيح ؟
  7. Today
  8. هل هذه الحالة موجودة من ضمن السجلات في المرفق السابق ؟؟؟؟؟
  9. لو (1- ) يكتبها (1-) وليس درجة الدور الأول لاحظ الصورة المرفقة
  10. هذه هي الصورة الناتجة ماذا تريد ؟؟؟؟ هل تريد مكان الدرجة النهائية يكتب 0 أم ماذا وضح بالشرح الكافي
  11. السلام عليكم ورحمة الله وبركاته تسلم بشمهندس foksh وتسلم بشمهندس منتصر الانسي اضفت المكتبة وتم حل المشكلة اشكركما من كل قلبي
  12. يجب إضافة المرجع Microsoft Office 16.0 Object Library كما بالصور أدناه من قائمة Tools إختر References انزل إلى أن تصل للمرجع Microsoft Office 16.0 Object Library (القائمة مرتبة أبجديا وسيكون الوصول للمرجع سهل) قم بتحديده واتقر OK تحياتي
  13. وعليكم السلام ورحمة الله وبركاته .. مشكلتك اذا ما خاب ظني ، هي في عدم اضافة المكتبة الموضحة في الصورة التالية :- طبعاً مع اختلاف الرقم 16.0 حسب الإصدار لديك . وإن شاء الله تشتغل معك .
  14. كلامك صحيح مع انه شيئ غريب المفروض تتغيير اليا وفق نسخة الأوقيس عموما الف شكر يظل الواحد يتعلم شيئ جديد كل يوم
  15. السلام عليكم ورحمة الله وبركاته لدي في المرفقات قاعدة بيانات خاصة يالنسخ الاحتياطي وقد اقتبستها من احد المشاركات للبشمهندس kkhalifa1960 مشكورا وقد ظهرت رسالة خطاء عندما اردت ان اختار مكان النسخ في كل من النموذج نموذج اعداد النسخ الاحتياطي وايضا نفس رسالة الخطاء في نموذج تحديد مكان النسخ backup.accdb
  16. بمناسبة موضوع الارتعاش والاهتزاز اللى @hanan_ms دائم الكلام عنه كل شويه اللى بيعتمد على خاصية Double Buffering أو Buffering لتقليل الوميض باستخدام WS_EX_COMPOSITED غير فعال وبيعفرت التطبيق هذا للتنويه فقط من الاخـــــــــر اكسس ليس مصمم ليكون بيئة رسوميات عالية الأداء نماذج اكسس ليست مهيأة لتحديثات واجهة المستخدم السريعة مثل Windows Forms لذلك سوف تبقى هذه مشكلة أزلية الوميض (Flickering) والارتعاش (Shaking or Jittering) والاكسس اصدقاء لن يتخلى احدهم عن الاخر
  17. ادخل على الصورتين فى تبويب الاحداث غير كلمة [إجراء حدث] فى الحدث On Mouse Move فى الصورتين لـ [Event Procedure] انا مش عارف ليه المشكلة الغريبة دى بصراحة
  18. ظهرت عندي فعلاً .. أنت الأروع أستاذي الفاضل مع العلم كنت بفكر بحاجة تانية قيد التحديث
  19. مثال الاخ @Foksh النموذج Eye1 رائع خصوصا بعد تعديل الأخت @hanan_ms حيث أصبحت حركة العين أكثر سلاسة عند تحريك الماوس أما النموذج الخاص بالأخت @hanan_ms الذي بإسم Eye2 كلما احرك الماوس عليه تظهر لي رسالة الخطأ الموضحة بالصورة فهل تظهر الرسالة عند البقية أم أنها مشكلة خاصة بي فقط تحياتي
  20. بعد تجريب الملف لاحظت ما يلى ومعلم عليه عند رصد (1-) للطالب وده معناه أنه غائب لاحظت بيكتب درجةالدور الاول لا انا عاوزه يكتب (1-) لان الطالب هنا معناه غائب فى الدور الثانى . والباقى تمام
  21. أحسنتما وبارك الله لكما وجعله فى ميزان حسناتكما ... # عندى طلب آخر هل من الممكن جعل حقل الدور الثانى اللى سيتم رصده فقط مُمَكَّن والباقى غير مُمَكَّن
  22. نسيت ارفاق الملف cont.zip
  23. استخدم هذه الشيفرة في زر التحديث مع اللاحقة له ...... Private Sub أمر309_Click() Dim rst As DAO.Recordset Dim db As DAO.Database Dim ctl As Control Dim controlsList As New Collection Dim dorAwalField As String, dorThanField As String, finalField As String Dim dorAwalVal As Variant, dorThanVal As Variant, finalVal As Variant Dim i As Integer Dim excludedNames As Variant Set db = CurrentDb() Set rst = Me.RecordsetClone ' نسخة من مصدر بيانات النموذج ' أسماء الحقول التي نريد استثناؤها (اسم الطالب، رقم الجلوس) excludedNames = Array("name_student", "num_Glos") ' جمع الحقول الثلاثية فقط حسب الترتيب For Each ctl In Me.Controls If ctl.ControlType = acTextBox Then If IsExcluded(ctl.Name, excludedNames) = False Then If ctl.ControlSource <> "" Then ' مرتبط بحقل فعلي controlsList.Add ctl.ControlSource End If End If End If Next ctl ' المرور على كل سجل في النموذج If Not rst.EOF Then rst.MoveFirst Do While Not rst.EOF rst.Edit For i = 1 To controlsList.Count Step 3 If i + 2 <= controlsList.Count Then dorAwalField = controlsList(i) dorThanField = controlsList(i + 1) finalField = controlsList(i + 2) dorAwalVal = Nz(rst(dorAwalField), 0) dorThanVal = Nz(rst(dorThanField), -1) If dorThanVal <> -1 Then If dorThanVal >= 50 Then finalVal = 50 Else finalVal = dorThanVal End If Else finalVal = dorAwalVal End If rst(finalField) = finalVal End If Next i rst.Update rst.MoveNext Loop rst.Close Set rst = Nothing Set db = Nothing Me.Requery ' لتحديث العرض في النموذج MsgBox "تم تحديث جميع الدرجات النهائية بنجاح.", vbInformation End Sub Private Function IsExcluded(fieldName As String, excludedList As Variant) As Boolean Dim item As Variant For Each item In excludedList If LCase(fieldName) = LCase(item) Then IsExcluded = True Exit Function End If Next item IsExcluded = False End Function وهذا ملفك بعد التعديل ............... cont.accdb
  24. هذا الاستعلام الذي خرجت به كما في الصورة السابقة نتيجته :- SELECT name_student, National_ID, CLASS_CLASS, num_Glos, n_lgna_dor2, sery_dor2, Dor_Arb, Dor_Math, Dor_Drast, Dor_Since, Dor_Eng, Dor_comp, Dor_skills, Dor_Den, TDor_Arb, TDor_Math, TDor_Drast, TDor_Since, TDor_Eng, TDor_Comp, TDor_Skills, TDor_Den, IIF(IsNumeric([Dor_Arb]), IIF(Val(Nz([Dor_Arb],0))>=50, Val([Dor_Arb]), IIF(IsNull([TDor_Arb]) OR Val(Nz([TDor_Arb],-1))=-1, 0, IIF(Val([TDor_Arb])>=50, 50, Val([TDor_Arb])) ) ), 0) AS N_Arb, IIF(IsNumeric([Dor_Math]), IIF(Val(Nz([Dor_Math],0))>=50, Val([Dor_Math]), IIF(IsNull([TDor_Math]) OR Val(Nz([TDor_Math],-1))=-1, 0, IIF(Val([TDor_Math])>=50, 50, Val([TDor_Math])) ) ), 0) AS N_Math, IIF(IsNumeric([Dor_Drast]), IIF(Val(Nz([Dor_Drast],0))>=50, Val([Dor_Drast]), IIF(IsNull([TDor_Drast]) OR Val(Nz([TDor_Drast],-1))=-1, 0, IIF(Val([TDor_Drast])>=50, 50, Val([TDor_Drast])) ) ), 0) AS N_Drast, IIF(IsNumeric([Dor_Since]), IIF(Val(Nz([Dor_Since],0))>=50, Val([Dor_Since]), IIF(IsNull([TDor_Since]) OR Val(Nz([TDor_Since],-1))=-1, 0, IIF(Val([TDor_Since])>=50, 50, Val([TDor_Since])) ) ), 0) AS N_Since, IIF(IsNumeric([Dor_Eng]), IIF(Val(Nz([Dor_Eng],0))>=50, Val([Dor_Eng]), IIF(IsNull([TDor_Eng]) OR Val(Nz([TDor_Eng],-1))=-1, 0, IIF(Val([TDor_Eng])>=50, 50, Val([TDor_Eng])) ) ), 0) AS N_Eng, IIF(IsNumeric([Dor_comp]), IIF(Val(Nz([Dor_comp],0))>=50, Val([Dor_comp]), IIF(IsNull([TDor_Comp]) OR Val(Nz([TDor_Comp],-1))=-1, 0, IIF(Val([TDor_Comp])>=50, 50, Val([TDor_Comp])) ) ), 0) AS N_Comp, IIF(IsNumeric([Dor_skills]), IIF(Val(Nz([Dor_skills],0))>=50, Val([Dor_skills]), IIF(IsNull([TDor_Skills]) OR Val(Nz([TDor_Skills],-1))=-1, 0, IIF(Val([TDor_Skills])>=50, 50, Val([TDor_Skills])) ) ), 0) AS N_Skills, IIF(IsNumeric([Dor_Den]), IIF(Val(Nz([Dor_Den],0))>=50, Val([Dor_Den]), IIF(IsNull([TDor_Den]) OR Val(Nz([TDor_Den],-1))=-1, 0, IIF(Val([TDor_Den])>=50, 50, Val([TDor_Den])) ) ), 0) AS N_Den FROM data_dor2 WHERE (((data_dor2.[name_student])<>"IsNull"));
  25. بل نريد الطريقة ربما افضل من طريقتي ونتعلم منها بارك الله فيك
  1. أظهر المزيد
×
×
  • اضف...

Important Information