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

كل الانشطه

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

  1. الساعة الأخيرة
  2. تفضل استاذ . Bilal_Yamen.rar
  3. يظهر رسالة خطأ عند الفتح
  4. Today
  5. تفضل استاذ @بلال بلال طلبك حسب مافهمت اليك المرفق . ووافني بالرد . Bilal_Yamen.rar
  6. السلام عليكم اريد صورة تتحرك في النموذج
  7. رائع وجميل جزاك الله خيرا وأحسن اليك
  8. الاخ الكريم / foksh يكفنى شرف مرورك على موضوعى بل يزيدنى الشرف التعليق علية عدم إستعمال المسميات العربية للحقول أو العناصر أو المكونات ......... عدم استعمال المسافات بين أسماء المكونات .......... 😄☝️ احترم و اقدر نصائحك و لو كان لدية المبرر لذلك اشكرك على مرورك و توجيهاتك
  9. مين جاب سيرة الكوسا 🤓 هههههه فعلاً مهندسنا الغالي ،، شكلي في رابع يوم هكذا ، فكيف بعد اسبوع 🤣 أعاننا وإياكم الله ، وجزاكم الله على التنبيه
  10. قصدك : عدم إستعمال المسميات العربية للحقول أو العناصر أو المكونات ......... عدم استعمال المسافات بين أسماء المكونات .......... 😄☝️ حتى لا يفهم قصدك معكوسا 😎
  11. هذه الصورة النهائية لشجرة الحسابات treeview.accdb treeview - Copy (10).accdb
  12. شكرا للاهتمام والرد استاذنا العزيز .. اتمنى التعديل ووضع الكود على نفس الفورم .. شكرا جزيلا
  13. وعليكم السلام ورحمة الله وبركاته .. أهلاً أخي أمين ، وبارك الله بك على هذه المبادرة الجميلة .. بدايةً ، واعلم أنك قد طرحت فكرة من تطبيقك وخطوة بخطوة ، وهو شيء جميل شعورك بأنك استطعت نقل الفكرة وتطبيقها ونجاحها معك . ولذا ومستقبلاً ومن باب التطوير لك ، إليك نصيحة قد تكون الخطوة الأولى لبناء مشروع سليم . تتلخص بما يلي :- عدم إستعمال المسميات العربية للحقول أو العناصر أو المكونات بشكل عام ( حقول ، جداول ، استعلامات ، مربعات نص أو أزرار .... إلخ ) . عدم استعمال المسافات بين أسماء المكونات التي تتكون من مقطعين أو أكثر ، وهنا لاحظت إنك تلافيت هذه النقطة باستخدامك الشرطة السفلية أو العادية ( ـ ، - ) في معظم الأحيان . حاول دائماً مستقبلاً - ( إن شاء الله ) - أن يكون لأسماء العناصر دلالة عليها . بدلاً من استعمال الأسماء الإفتراضية مثل text0 , text1 أو أمر12 ، أمر45 ... إلخ . كي تسهل عليك الإستدلال عليها دون الحاجة للتنقل بين هنا وهناك لمعرفة وتذكر و كتابة أسمائها عند الإستدعاء داخل الأكواد . لاحظت أيضاً أنك استخدمت سطر VBA لأيقاف وتشغيل التنبيهات عند حذف سجل من الجدول ، وهذه نقطة إيجابية وجميلة منك انك استخدمتها ، بدلاً من الرسائل المزعجة التي يظهرها آكسيس عند حذف أو إضافة أو تعديل سجل أيضاً لاحظت أنك قمت بتبسيط الأمور على من يريد الإستفادة من فكرتك ، فالأكواد بسيطة جداً ومفهومة و واضحة ، ولا تحتاج ترجمة حتى يتقنها من يريد الإتقان والفهم . شكراً لك على مشاركتك الجميلة ، ونأمل منك أن لا تقطعنا من أفكارك التي تساعد بها من يحتاجها
  14. وعليكم السلام ورحمة الله وبركاته يتم الامر في حطوة واحدة
  15. الى كل المبتدئين أمثالي بحثت عن فكرة مدير مستخدمين بشكل احترافي تتناسب مع معلوماتى البسيطة فى اكسيس لأجد على YOUTUBE.THE BEST مثالاً حاولت تطبيقه بشكل مبسط ( أعتقد ذلك ) ، فأحببت أن ارفعه على هذا المنتدى عرفاناً و رد جميل للمنتدى و اصحاب العلم و المعرفة. المرفق مبنى على جدول واحد TBL_USERE بالإضافة إلى 4 نماذج ( مفتوحة المصدر - و بدون اخفاء حقول حتى يسهل توصل الفكرة ) 1- F_LOGIN : الخاص بمدير المستخدمين. 2-F_MAIN : الشاشة الرئيسية مضاف عليها شاشة بيانات العملاء كمثال تطبيقي. 3-F_USERS : شاشة اضافة و حذف مستخدم. 4 - F_CHANGE_PASS : شاشة تغير كلمة المرور. أتمنى أن أكون وُفقت ، وذلك بوضع مرفق ينال طموح أمثالي ( المبتدئين ). و على اصحاب العلم و المعرفة التوجيه و النصح و التعديل ، حتى يستفيد الجميع login.accdb
  16. Yesterday
  17. ⏳ باقي من الوقت : 7 أيام حتى نهاية التحدى الأول ⏳ باقي من الوقت : 7 أيام حتى نهاية التحدى الأول
  18. فعلاً هذا هو المطلوب بارك الله فيك مع شكري وتقديري للأساتذة الكرام الذين كانوا لهم دورٌ بارزٌ في المساعدة والتوجيه
  19. وهذه فكرة تجمع بين عرض التكرارات التي يتنافس فيها الطلاب حسب رغبتك .. Data_Base_Rep.zip
  20. السلام عليكم ورحمة الله وبركاته كيف استطيع تغيير الترقيم للصفحات ليبدا من 11 بدلا من 1 مثل الوورد هل هناك طريقة ى الاكسل لهذا الطلب ولكم جزيل الشكر
  21. كلامك صحيح وسليم 100% ، لأنك تستعمل واجهة الموقع باللغة الإنجليزية ، فسوف تكون المحاذاة تلقائياً من اليسار لليمين ، و99.999% من المواضيع هنا تكتب ويساق فيها الحديث باللغة العربية ، لذا بدل واجهة الموقع الى العربية من أسفل الصفحة ، وستجد أن المشكلة تم حلها 😉
  22. هذا ما يظهر عندي كمثال و هذا مثال أخر اما ما ارفقته انا كصورة في البداية فهو الشكل الصحيح للكلام بعد تعديل الاتجاه و انا لا اعرف كيف اظهره هنا في المنتدي كما اوضحت في أول صورة لي
  23. بسيطة أخي الكريم .. يعني انت تريد إظهار الطلاب الذين في المركز الرابع مثلاً جميعهم بالتمييز بينهم ( متكرر ) !!!!!!! انا لم أقترب من الدالة التي قمت بإنشائها ، حرصاً على أنه قد يكون مطلبك .. لكن بعد التوضيح ، إليك التعديل الذي تم على الدالتين أولاً :- Public Function fncTrteeb() Dim rst As Object Dim RankNumber As Long ' تصفير الحقل أولاً CurrentDb.Execute "UPDATE Q_top10 SET trteeb = Null" Set rst = CurrentDb.OpenRecordset("SELECT * FROM Q_top10 ORDER BY average DESC, StudentID ASC", 2) If rst.RecordCount = 0 Then Exit Function rst.MoveFirst RankNumber = 0 Do While Not rst.EOF And RankNumber < 10 RankNumber = RankNumber + 1 rst.Edit rst!trteeb = GetArabicRank(RankNumber) rst.Update rst.MoveNext Loop rst.Close Set rst = Nothing End Function Public Function GetArabicRank(ByVal n As Long) As String Select Case n Case 1: GetArabicRank = "الأول" Case 2: GetArabicRank = "الثاني" Case 3: GetArabicRank = "الثالث" Case 4: GetArabicRank = "الرابع" Case 5: GetArabicRank = "الخامس" Case 6: GetArabicRank = "السادس" Case 7: GetArabicRank = "السابع" Case 8: GetArabicRank = "الثامن" Case 9: GetArabicRank = "التاسع" Case 10: GetArabicRank = "العاشر" Case Else GetArabicRank = "المركز " & n End Select End Function والإستعلام سيصبح بهذاالشكل :- SELECT TOP 10 S.StudentID, S.StudentName, S.ClassName, S.SETNO1, F.SemesterID, F.TotalSum, F.average, F.Grade, GetArabicRank(( SELECT COUNT(*) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND (F2.average > F.average OR (F2.average = F.average AND S2.StudentID < S.StudentID)) ) + 1) AS RankText FROM TBL_Students AS S INNER JOIN TBL_Final1 AS F ON S.StudentID = F.StudentID WHERE F.SemesterID = [أدخل رقم الفصل] AND S.ClassName = [أدخل اسم الصف] ORDER BY F.average DESC , S.StudentID; في الاستعلام القديم كان المنطق هو ( احسب كم طالب معدله أكبر مني ) ؟؟ فإذا كان هناك طالبان معدلهما متساوٍ ( مثلاً 91% ) ، فإن كلاهما سيجد نفس العدد كترتيب من الطلاب المتفوقين عليهما ، وبالتالي يأخذان نفس الرقم ( مثلاً المركز 2 ) ، ثم يقفز الترتيب للمركز 4 مباشرة . أما في الاستعلام المعدل ، إذا تساوى طالبان في المعدل ، انظر لرقم الطالب ؛ صاحب الرقم الأصغر يعتبر هو الأسبق . وبالنسبة لي هذا غير منطقي ، فلا بد من شرط ثاني لتحديد المنافس على نفس المركز !!!! 💥 وفي هذا الموضوع هنا ، قد تطرقنا مع مشاركة أخي @ابو جودي لنفس الفكرة تقريباً . وملفك بعد التعديل :- Data_Base.zip
  24. SELECT TOP 10 S.StudentID, S.StudentName, S.ClassName, S.SETNO1, F.SemesterID, F.TotalSum, F.average, F.Grade, /* الترتيب الصحيح بدون قفزات */ (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 AS RankOrder, /* تحويل الرقم إلى نص */ Switch( (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 1, "الأول", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 2, "الثاني", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 3, "الثالث", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 4, "الرابع", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 5, "الخامس", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 6, "السادس", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 7, "السابع", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 8, "الثامن", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 9, "التاسع", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 10, "العاشر" ) AS RankText, /* إضافة كلمة "متكرر" عند وجود أكثر من طالب بنفس المعدل */ Switch( (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 1, "الأول", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 2, "الثاني", (SELECT COUNT(DISTINCT F2.average) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 = 3, "الثالث" ) & IIf( (SELECT COUNT(*) FROM TBL_Final1 AS F3 WHERE F3.SemesterID = F.SemesterID AND F3.average = F.average) > 1, " متكرر", "" ) AS RankFinal FROM TBL_Students AS S INNER JOIN TBL_Final1 AS F ON S.StudentID = F.StudentID WHERE F.SemesterID = [أدخل رقم الفصل] AND S.ClassName = [أدخل اسم الصف] ORDER BY F.average DESC, S.StudentID ASC;
  25. تفضل الصفحة كلها مع التعليقات بالانجليزية . Option Compare Database Option Explicit Public Enum NavAction navFirst = 1 navPrevious = 2 navNext = 3 navLast = 4 navNew = 5 End Enum '============================= ' Safe navigation with messages '============================= Public Sub NavigateRecord(frm As Form, action As NavAction) Dim rs As DAO.Recordset Set rs = frm.RecordsetClone If rs.RecordCount = 0 Then Exit Sub rs.MoveLast Select Case action Case navFirst If frm.CurrentRecord = 1 Then MsgBox "This is the first record", vbInformation Else DoCmd.GoToRecord , , acFirst End If Case navPrevious If frm.CurrentRecord = 1 Then MsgBox "This is the first record", vbInformation Else DoCmd.GoToRecord , , acPrevious End If Case navNext If frm.CurrentRecord >= rs.RecordCount Then MsgBox "This is the last record", vbInformation Else DoCmd.GoToRecord , , acNext End If Case navLast If frm.CurrentRecord >= rs.RecordCount Then MsgBox "This is the last record", vbInformation Else DoCmd.GoToRecord , , acLast End If Case navNew DoCmd.GoToRecord , , acNewRec End Select rs.Close Set rs = Nothing UpdateNavUI frm End Sub '============================= ' Update counter + buttons '============================= Public Sub UpdateNavUI(frm As Form) Dim rs As DAO.Recordset Set rs = frm.RecordsetClone If rs.RecordCount = 0 Then frm!TxtCount = "No records found" Exit Sub End If rs.MoveLast '===== Record counter ===== If frm.NewRecord Then frm!TxtCount = "New record" Else frm!TxtCount = "Record " & frm.CurrentRecord & " of " & rs.RecordCount End If '===== Disable / Enable buttons ===== frm!CmdFirst.Enabled = (frm.CurrentRecord > 1) frm!CmdPrevius.Enabled = (frm.CurrentRecord > 1) frm!CmdNext.Enabled = (frm.CurrentRecord < rs.RecordCount) frm!CmdLast.Enabled = (frm.CurrentRecord < rs.RecordCount) rs.Close Set rs = Nothing End Sub تفضل الصفحة كلها مع التعليقات بالفرنسية . Option Compare Database Option Explicit Public Enum NavAction navFirst = 1 navPrevious = 2 navNext = 3 navLast = 4 navNew = 5 End Enum '============================= ' Navigation sécurisée avec messages '============================= Public Sub NavigateRecord(frm As Form, action As NavAction) Dim rs As DAO.Recordset Set rs = frm.RecordsetClone If rs.RecordCount = 0 Then Exit Sub rs.MoveLast Select Case action Case navFirst If frm.CurrentRecord = 1 Then MsgBox "C'est le premier enregistrement", vbInformation Else DoCmd.GoToRecord , , acFirst End If Case navPrevious If frm.CurrentRecord = 1 Then MsgBox "C'est le premier enregistrement", vbInformation Else DoCmd.GoToRecord , , acPrevious End If Case navNext If frm.CurrentRecord >= rs.RecordCount Then MsgBox "C'est le dernier enregistrement", vbInformation Else DoCmd.GoToRecord , , acNext End If Case navLast If frm.CurrentRecord >= rs.RecordCount Then MsgBox "C'est le dernier enregistrement", vbInformation Else DoCmd.GoToRecord , , acLast End If Case navNew DoCmd.GoToRecord , , acNewRec End Select rs.Close Set rs = Nothing UpdateNavUI frm End Sub '============================= ' Mise à jour du compteur + boutons '============================= Public Sub UpdateNavUI(frm As Form) Dim rs As DAO.Recordset Set rs = frm.RecordsetClone If rs.RecordCount = 0 Then frm!TxtCount = "Aucun enregistrement" Exit Sub End If rs.MoveLast '===== Compteur d'enregistrements ===== If frm.NewRecord Then frm!TxtCount = "Nouvel enregistrement" Else frm!TxtCount = "Enregistrement " & frm.CurrentRecord & " sur " & rs.RecordCount End If '===== Désactiver / Activer les boutons ===== frm!CmdFirst.Enabled = (frm.CurrentRecord > 1) frm!CmdPrevius.Enabled = (frm.CurrentRecord > 1) frm!CmdNext.Enabled = (frm.CurrentRecord < rs.RecordCount) frm!CmdLast.Enabled = (frm.CurrentRecord < rs.RecordCount) rs.Close Set rs = Nothing End Sub
  26. بارك الله فيك وجزاك الله خيرا على حسن اهتمامك بالموضوع وردك الطيب الجميل ويجعلك من عتقائه من النار في هذا الشهر المبارك ولدي عدة ملحوظات وهى: 1/ مشكلة القفز في الترتيب ولو تلاحظ أن الترتيب يظهر هكذا 1 2 3 4 4 6 والمفروض يظهر 4 4 متكرر 5 6 وهكذا 2/ أتمنى تغيير المسميات إلى نص أقصد بدلا من 1.2.3 وهكذا أريده أن يكون: الأول الثاني الثالث إلى الترتيب العاشر 3/ ملاحظة تكرار الترتيب بحيث يكون مثلا: الأول الأول متكرر وهكذا
  1. أظهر المزيد
×
×
  • اضف...

Important Information