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

jjafferr

أوفيسنا
  • Posts

    9,756
  • تاريخ الانضمام

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

  • Days Won

    396

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

  1. السلام عليكم 🙂 عمل جميل اخوي ابوخليل ، والحاجة اليه ماسة ، وان شاء الله اقوم بتجربته 🙂 جعفر
  2. وعليكم السلام 🙂 ظاهرا هناك مشكلة في Unicode الوندوز وتعريف اللغة العربية ، ولإصلاح هذا ، اتبع خطوات الاربط التالي
  3. مثا ما اشرت به في مشاركتي : 1. الاستعلام مصدر بيانات النموذج . ثم في النموذج . 1572.solaf.accdb.zip
  4. انا اخبرتك السبب في الرابط التالي ، وفي آخر مشاركة فيه طريقة الحل هذا الجزء من الكود ، ليس فيها اسم الجدول : =IIf(DCount("*","Serial_Sadad=" & [Serial_Sadad] & "And PartStatus='تم الدفع'")
  5. اترك النموذج جانبا ، وحاول تعمل تعديل بيانات في استعلام التجميع مباشرة ، ولن تستطيع 😁 استعلام التجميع لا يسمح بالتعديل/الاضافة.
  6. الحمدلله 🙂 انا احلت الاستعلام qry_Section_Gender_Count على التقاعد ، واستعملت الاستعلام qry_Section_Gender_Count_2 بدلا عنه في التقارير.
  7. وعليكم السلام 🙂 قام الاخ موسى بكتاية اكواد فريق الانتقال (GotoRecord) كاملا هنا :
  8. السلام عليكم 🙂 اطال الله في عمرك اخي الكريم ، انت خلطت الحابل بالنابل !! في معادلاتك التالية ، انت استخدمت كلمة "أنثى" ، بينما في الجدول هي "انثى" (لاحظ حرف الالف) : NF: DCount("Gender","tbl_Employees","[Gender]='أنثى' AND [system]='نصف داخلي' AND [Section] ='" & [Section] & "'") DF: DCount("Gender","tbl_Employees","[Gender]='أنثى' AND [system]='داخلي' AND [Section] ='" & [Section] & "'") . وفي هذا السطر ، لديك مسافة زائدة في نهاية كلمة 'نصف داخلي ' NH: DCount("Gender","tbl_Employees","[Gender]='ذكر' AND [system]='نصف داخلي ' AND [Section] ='" & [Section] & "'") وعلى هذا الاساس ، قام الاكسس بإعطائك النتائج الخطأ 🙂 على العموم ، مثل ما المثل يقول: رُب ضارة نافعة ، لأننا نتفادى استعمال DCount و DLookup واخواتهم في استعلام ، حيث انها تعمل بطئ في الاستعلام (طبعا لما تكون عندك آلاف السجلات) ، وعليه ، عملت لك استعلام آخر: . وجعلته مصدر بيانات التقرير : . جعفر 1571.base2023.accdb.zip
  9. اخي الفاضل نزار ، انا لم اذكر النماذح ولم اتعامل معها ، فعملي كان في الاستعلام 100% اعطني دقيقة لتعمل الذي تريده تفضل ، تم تغيير مصدر بيانات النموذج الى الاستعلام 1570.2.test.accdb.zip
  10. القاعدة الخلفية (الجداول) : لا يهم اي نسخة من الاوفيس/الاكسس تم تنصيبها ، فالملف الذي به الجداول يعمل على النواتين ، ويجب ان يكون بصيغة accdb او mdb (طبعا تستطيع تغيير الصيغة لاحقا للتمويه ، الى bak مثلا) ، القاعدة الامامية (نماذج) : بما ان برنامجك يعمل على النواتين الآن ، فإذا تركته بصيغة accdb ، فانه سيعمل على جميع نسخ الاكسس (2007 او اكبر) ، وسواء نواة 32بت او 64بت ، اما اذا اردت ان تقفل البرنامج وتحوله الى صيغة accde : - يجب ان تستعمل حاسبة منصّب عليها اوفيس/اكسس 32بت ، ومنها تعمل نسخة مقفولة بصيغة accde ، وهذه النسخة يمكنك استخدامها فقط على الحواسيب التي عليها اوفيس/اكسس 32بت ، - يجب ان تستعمل حاسبة منصّب عليها اوفيس/اكسس 64بت ، ومنها تعمل نسخة مقفولة بصيغة accde ، وهذه النسخة يمكنك استخدامها فقط على الحواسيب التي عليها اوفيس/اكسس 64بت. وبغض النظر ، سواء عندك نسخة accde لنواة 32بت او 64بت ، فالنسختين تعملان مع الجداول ، ويمكنك ربط نسخة النواة 32بت وربطها مع الجداول ، وعلى حاسبات اخرى عليها نسخة نواة 64بت وكذلك ربطها بالجداول ، داخل نفس الشبكة.
  11. واذا عندك صفوف غير "الصف الخامس جميع الدرجات" ، فيمكننا تعديل الدالة ، بحيث تستخدمها لجميع الصفوف : والدالة: Option Compare Database Option Explicit Dim rst As DAO.Recordset ' Function Pass(ID As Long, Clss As String) As String On Error GoTo err_Pass 'Clss= Class = اسم جدول الصفوف مثل: الصف الخامس جميع الدرجات 'ID = المعرف = معرف السجل 'IIf([الاسلامية الدرجة بعد الاكمال]>=49.5 And [العربية الدرجة بعد الاكمال]>=49.5 And [الانكليزية الدرجة بعد الاكمال]>=49.5 And [الرياضيات الدرجة بعد الاكمال]>=49.5 And [الحاسوب الدرجة بعد الاكمال]>=49.5 And [الفيزياء الدرجة بعد الاكمال]>=49.5 And [الكيمياء الدرجة بعد الاكمال]>=49.5 And [الاحياء الدرجة بعد الاكمال]>=49.5 And [علم الارض الدرجة بعد الاكمال];"ناجح ";"راسب") Set rst = CurrentDb.OpenRecordset("SELECT * FROM [" & Clss & "] WHERE [المعرف]=" & ID) If Len(rst![الاسلامية الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![العربية الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الانكليزية الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الرياضيات الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الحاسوب الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الفيزياء الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الكيمياء الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الاحياء الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![علم الارض الدرجة بعد الاكمال] & "") = 0 Then Pass = "" ElseIf rst![الاسلامية الدرجة بعد الاكمال] >= 49.5 And _ rst![العربية الدرجة بعد الاكمال] >= 49.5 And _ rst![الانكليزية الدرجة بعد الاكمال] >= 49.5 And _ rst![الرياضيات الدرجة بعد الاكمال] >= 49.5 And _ rst![الحاسوب الدرجة بعد الاكمال] >= 49.5 And _ rst![الفيزياء الدرجة بعد الاكمال] >= 49.5 And _ rst![الكيمياء الدرجة بعد الاكمال] >= 49.5 And _ rst![الاحياء الدرجة بعد الاكمال] >= 49.5 And _ rst![علم الارض الدرجة بعد الاكمال] >= 49.5 Then Pass = "ناجح" Else Pass = "راسب" End If Exit_Pass: rst.Close: Set rst = Nothing Exit Function err_Pass: If Err.Number = 1 Then Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_Pass End If 'a = [المعرف] 'a = [تسلسل] 'a = [اسم الطالب الرباعي] 'a = [الصف] 'a = [الشعبة] 'a = [التولد] 'a = [رقم القيد] 'a = [رقم الصفحة] 'a = [اسم الام] 'a = [سنوات الرسوب] 'a = [آخر مدرسة] 'a = [الملاحظات] 'a = [اسلامية معدل النصف الاول] 'a = [اسلامية درجة نصف السنة] 'a = [اسلامية معدل النصف الثاني] 'a = [اسلامية درجة السعي السنوي] 'a = [اسلامية درجة امتحان آخر السنة] 'a = [اسلامية الدرجة النهائية] 'a = [الاسلامية درجة الاكمال] 'a = [الاسلامية الدرجة بعد الاكمال] 'a = [اسلامية] 'a = [العربية] 'a = [الكردية] 'a = [الانكليزية] 'a = [الرياضيات] 'a = [الحاسوب] 'a = [الفيزياء] 'a = [الكيمياء] 'a = [الاحياء] 'a = [علم الارض] 'a = [العام الدراسي] 'a = [نتيجة الدور الاول] 'a = [نتيجة الدور الثاني] 'a = [نتيجة الطالب] 'a = [مواد الاكمال] 'a = [رفـع بقرار بالمواد الدراسية] 'a = [الدرجة المضافة] 'a = [من] 'a = [الى] 'a = [باقي القرار] 'a = [مواد الاعفاء] 'a = [نوع الاعفاء] End Function 1570.1.test.accdb.zip
  12. الحاسبة التي تم تنصيب اكسس 32بت عليها ، استعمل قاعدة بياناتك التي قفلتها بنواة 32بت ، والحاسبة التي تم تنصيب اكسس 64بت عليها ، استعمل قاعدة بياناتك التي قفلتها بنواة 64بت. لا يمكنك الخلط بينهم
  13. يجب ان تكون عندك نسختين ، واحدة لنواة 32بت ، واخرى لنواة 64بت 🙂
  14. عملت استعلام ، يرسل رقم المعرف الى الدالة Pass في وحدة نمطية ، ويحصل على النتيجة منها : . وهذه الدالة (تركت لك بقية حقول الجدول ، قد تستفيد منها لاحقا) : Option Compare Database Option Explicit Dim rst As DAO.Recordset ' Function Pass(ID As Long) As String On Error GoTo err_Pass 'IIf([الاسلامية الدرجة بعد الاكمال]>=49.5 And [العربية الدرجة بعد الاكمال]>=49.5 And [الانكليزية الدرجة بعد الاكمال]>=49.5 And [الرياضيات الدرجة بعد الاكمال]>=49.5 And [الحاسوب الدرجة بعد الاكمال]>=49.5 And [الفيزياء الدرجة بعد الاكمال]>=49.5 And [الكيمياء الدرجة بعد الاكمال]>=49.5 And [الاحياء الدرجة بعد الاكمال]>=49.5 And [علم الارض الدرجة بعد الاكمال];"ناجح ";"راسب") Set rst = CurrentDb.OpenRecordset("SELECT * FROM [الصف الخامس جميع الدرجات] WHERE [المعرف]=" & ID) If Len(rst![الاسلامية الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![العربية الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الانكليزية الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الرياضيات الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الحاسوب الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الفيزياء الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الكيمياء الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الاحياء الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![علم الارض الدرجة بعد الاكمال] & "") = 0 Then Pass = "" ElseIf rst![الاسلامية الدرجة بعد الاكمال] >= 49.5 And _ rst![العربية الدرجة بعد الاكمال] >= 49.5 And _ rst![الانكليزية الدرجة بعد الاكمال] >= 49.5 And _ rst![الرياضيات الدرجة بعد الاكمال] >= 49.5 And _ rst![الحاسوب الدرجة بعد الاكمال] >= 49.5 And _ rst![الفيزياء الدرجة بعد الاكمال] >= 49.5 And _ rst![الكيمياء الدرجة بعد الاكمال] >= 49.5 And _ rst![الاحياء الدرجة بعد الاكمال] >= 49.5 And _ rst![علم الارض الدرجة بعد الاكمال] >= 49.5 Then Pass = "ناجح" Else Pass = "راسب" End If Exit_Pass: rst.Close: Set rst = Nothing Exit Function err_Pass: If Err.Number = 1 Then Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_Pass End If 'a = [المعرف] 'a = [تسلسل] 'a = [اسم الطالب الرباعي] 'a = [الصف] 'a = [الشعبة] 'a = [التولد] 'a = [رقم القيد] 'a = [رقم الصفحة] 'a = [اسم الام] 'a = [سنوات الرسوب] 'a = [آخر مدرسة] 'a = [الملاحظات] 'a = [اسلامية معدل النصف الاول] 'a = [اسلامية درجة نصف السنة] 'a = [اسلامية معدل النصف الثاني] 'a = [اسلامية درجة السعي السنوي] 'a = [اسلامية درجة امتحان آخر السنة] 'a = [اسلامية الدرجة النهائية] 'a = [الاسلامية درجة الاكمال] 'a = [الاسلامية الدرجة بعد الاكمال] 'a = [اسلامية] 'a = [العربية] 'a = [الكردية] 'a = [الانكليزية] 'a = [الرياضيات] 'a = [الحاسوب] 'a = [الفيزياء] 'a = [الكيمياء] 'a = [الاحياء] 'a = [علم الارض] 'a = [العام الدراسي] 'a = [نتيجة الدور الاول] 'a = [نتيجة الدور الثاني] 'a = [نتيجة الطالب] 'a = [مواد الاكمال] 'a = [رفـع بقرار بالمواد الدراسية] 'a = [الدرجة المضافة] 'a = [من] 'a = [الى] 'a = [باقي القرار] 'a = [مواد الاعفاء] 'a = [نوع الاعفاء] End Function والنتيجة من البيانات التي في الجدول: 1570.test.accdb.zip
  15. تقدر تعمل وحدة نمطية ، ولكن الافضل ان نرى البيانات
  16. وعليكم السلام 🙂 اذن ، اذا لم يوجد رقم ، تريده لا يتكتب شيء ، فيمكننا استعمال الامر IsNumeric([Grade]) (هل حقل Grade رقم) ، جرب هذا الكود : iif(IsNumeric([Grade]);""; iif([Grade]<50; "راسب"; "ناجح"))
  17. وعليكم السلام 🙂 اي شرح؟ وكم حجم قاعدة بياناتك؟ وما نوع بياناتك، تستعملها كلها ، ام بها بيانات للارشفة؟
  18. دكتور حلبي ، الظاهر اننا مو فاهمين بعض !! هذا هو المرفق مرة اخرى. العمل تم على الكائنات التي عليها الاسهم ، فانقلها الى برنامجك ، اما بقية الكائنات ، فلم اعمل عليها اي تغيير 1565.تفعيل خانة الاختيار.accdb.zip
  19. انت قلت ان النتائج صحيحة من استعلام ابو البشر ، فما بحثت عن هذه النقطة 😁 القصد كان السرعة 🙂 خليني ارجع للبرنامج واشوف المطلوب ان شاء الله
  20. 1. اعمل للبرنامج "ضغط واصلاح" 2. افتح الاستعلام qry_alldata_Excel_2 المفروض يكون اسرع بكثير من الطريقة السابقة 🙂 as.zip
×
×
  • اضف...

Important Information