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

نجوم المشاركات

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      24

    • Posts

      9,814


  2. احمد بدره

    احمد بدره

    الخبراء


    • نقاط

      7

    • Posts

      979


  3. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      6

    • Posts

      8,723


  4. kaser906

    kaser906

    الخبراء


    • نقاط

      4

    • Posts

      1,411


Popular Content

Showing content with the highest reputation on 17 يون, 2018 in all areas

  1. السلام علكم ورحمة الله وبركاتة بمناسبة العودة الميمونة لاستاذي ومعلمي القدير الاستاذجعفر @jjafferr اقدم لكم هذه الهدية المتواضعه جدا تطبيق نظام الصلاحيات على ازرار التحكم نظام صلاحيات المستخدمين يقوم بالتحكم في صلاحيات المستخدم من حيث الاضافة والتعديل والحذف لكن عند تنفيذ احد هذه الاوامر عن طريق زر تحكم فأنه يتم تنفيذه دون الرجوع او الاتصال بالوحدات النمطية الخاصة بتطبيق نظام الصلاحيات لذا رأيت عمل هذاتعديل غلى نظام صلاحيات المستخدمين الذي قام بعمله الاستاذ مهند عبادي اذا لم تخذلني الذاكرة وقام بتطويره عدد من الاساتذة نسحه بعد نسخه قمت باضافة بعض الاكواد على ازرار التحكم والتي يمكن من خلالها تطبيق نظام الصلاحيات للمستخدمين على ازرار التحكم عن طريق الاتصال بالوحدة النمطية قبل تنفيذ الامر للتأكد من وجود صلاحية للاجراء المطلوب تنفيذه مثلا اذا كان المطلوب اضافة سجل عند التركيز على زر الامر يتم الاتصال بالوحدة النمطية للتأكد هل المستخدم لديه صلاحية اضافة سجلات اذا كان نعم يتم تنفيذ الامر واذا كان لا فيتم اظهار رسالة تفيده بأنه ليست لديه صلاحية لهذا الاجراء يوجد ايضا بالامثال بعض الاكواد لتأمين و الغاء تأمين الحقول دفعة واحدة اترككم مع المثال اترككم مع المثال اسم المستخدم لمسؤول النظام : 1 الباسورد:1 اسم المستخدم: 100 الباسورد: 100 Usrse.rar
    3 points
  2. السلام عليكم ورحمة الله وبركاته إليكم ملف بسيط لشئون العاملين أرجو من الله أن يفيدكم به سواء باستخدامه أو بالأكواد والمعادلات البسيطة التى به وأخص بالشكر ahmedkamelelsayed0 على ما قدمه من جهد وتعب معى فى إخراج الملف بهذا الشكل وإن قمت بالتعديل على بعض أكواده لكنه هو صاحب الفكرة فى الأكواد والمعادلات وأرجو منكم التعليق وابداء الرأى أيا كان لتعديل الملف حسب الطلب فما أرجو إلا الإفادة منكم ولكم ملحوظة عمل البرنامج بسيط لكنه يكفى لمتطلبات المدرسة عندى طبعا الملف مفتوح وقابل للتعديل فمن يرى أنه يستطيع التعديل وتحسين البرنامج وإعادة رفعه طبعا أرحب بالفكرة فى انتظار تعليقاتكم اسم المستخدم Reem كلمة المرور 232629 شئون عاملين 2019.rar
    2 points
  3. وعليكم السلام اخوي حمدي النموذج الفرعي subfrmTimeTable يأخذ بياناته من الجدول Ashgal ، واللي الكود ادخل بياناته ، فإذا الكود لم يُدخل البيانات الصحيحة ، فأكيد النتيجة لن تكون صحيحة!! يتطلب الامر النظر في كود التوزيع ، وانا لا علم لي بهذا الكود ، فيجب الرجوع الى مصدر الكود الاصل والذي يعمل بطريقة صحيحة في برنامج/بيانات اخرى ، ومن ثم يمكننا تغييره ليناسب بياناتك جعفر
    2 points
  4. وعليكم السلام اقدر اعملها بطريقتين: الاولى: عن طريق نموذج كائن نموذج فرعي (هو نموذج فرعي لا يوجد به نموذج) . حيث نعامل كل شيء في هذا الكائن كأنه نموذج فرعي ، عليه ، فأول مرة نفتح النموذج ، نضع فيه نموذج الازرار: Private Sub Form_Load() Rem===== DoCmd.Maximize Me.sfrm.SourceObject = "frm_1" End Sub . وعند النقر على زر-هيكلية المدرسة ، نفتح النموذج Form100 هكذا: Private Sub ComdIntOrg_Click() 'Call ActiveCommand Me.Parent!sfrm.SourceObject = "Form100" End Sub . يعني : بدل استعمال الكود التالي لفتح النموذج docmd.openform "Forms100" نستعمل Me.Parent!sfrm.SourceObject = "Forms100" . وبما ان هذه الطريقة غير مألوفة ، فيحتاج لك تمرين الى ان تأخذ يدك عليه المرفق فيه مثال. الطريقة الثانية: استعمل الكود التالي لفتح كل نموذج: docmd.openform "Form100" DoCmd.MoveSize 1440, 2400, 2000, 2000 والامر عبارة عن حجم النموذج ومكانه DoCmd.MoveSize(Right, Down, Width, Height) . والارقام هذه بمقياس twips c1 cm = 567 twips c1 in = 1440 twips المشكلة في هذه الطريقة هو معرفة حجم شاشة/شاشات الزبون وتحديد المكان على اساسها جعفر 915.Aziz.accdb.zip
    2 points
  5. وعليكم السلام في التقرير ، انقر على خط قسم/فاصل قسم Detail ، واكمل هذه السطور لبقية الكائنات: Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) Me.ID.Width = Forms!Table1!ID.Width Me.ID.Height = Forms!Table1!ID.Height Me.ID.Top = Forms!Table1!ID.Top Me.ID.Left = Forms!Table1!ID.Left End Sub جعفر
    2 points
  6. أتوجه بخالص الشكر على مجهودك في الملف الرائع ورأيت أن أقوم بعمل بعض التعديلات تم التعديل على ماكرو حذف البيانات ليصل إلى w بدلاً من x لتفادي عمود الفرز تم إضافة معادلة لتحديد النوع وتاريخ الميلاد ومحافظة الميلاد تعمل تلقائيًا بمجرد إدخال الرقم القومي تم منع الكتابة أو التعديل في خلايا النوع وتاريخ الميلاد ومحافظة الميلاد وذلك لتفادي أي كتابة عن طريق الخطأ تم تقييد عمود الرقم القومي في ورقة العمل (بيانات الموظفين) لا تقبل أقل من 14 رقم ومنع إدخال أي حرف تم تقييد عمود الاسم في ورقة العمل (بيانات العاملين ) لا يقبل الاسم أقل من رباعي هذه التقييدات لا يمكن عملها في التكست بوكس الفورم تم إيقاف عمل التكست بوكس الخاص بتاريخ الميلاد وكذلك النوع وأيضًا محافظة الميلاد في فورم الإضافة وفي فورم التعديل لأنه لا داعي لهم بالنسبة لسؤال حضرتك كل مرة تقوم بتغيير الملف . الإجابة بانن كنت آخذ الملف من الموقع ربما يكون هناك تعديل من عندك وأسأل الله تعالى يوفقك شئون عاملين 2019.rar
    2 points
  7. وعليكم السلام استخدم . والنتيجة . جعفر
    2 points
  8. وعليكم السلام الجواب نعم تستطيع: 1. بتفعيل مفتاح الشفت ببرنامج خارجي ، وتدخل البرنامج بالضغط على زر الشفت الى ان يفتح البرنامج ، 2. اثناء فترة التعديل ، اكتب Exit Function في اول سطر في الدالة التي تصغر البرنامج ، فعليه لن يصغر البرنامج ، وبعد ان تنتهي من التعديل ، لا تحذف هذا السطر ، وانما اجعله كملاحظة بإضافة الرمز ' في اول السطر: Exit Function' فيتغير لون السطر الى اللون الاخضر ، ومعناه ان الكود لن يستعمله ، 3. انا من اشد المعارضين على استعمال النماذج المنبثقة: والحل وكلما احاول ان اساعد احد الاعضاء في برنامجه ، فاول شيء اعمله هو تغيير اعدادات النموذج وتوقيف الانبثاق!! 4و5. هذه تحصل عليها تلقائيا بعد عمل الرقم 1. جعفر
    2 points
  9. وعليكم السلام تفضل جعفر 912.كفالة.accdb.zip
    2 points
  10. وعليكم السلام أخي وليد ، وكما لاحظت ، عندما تعطي التفاصيل كاملة ، ففرصة الحصول على الاجابة تكون اسرع قدم لك اخي علاء احد طرق الجمع في الاستعلام ، وهنا اقدم لك طريقة اخرى ، عن طريق النموذج ، والكود يمكن استعماله لأغراض اخرى لفحص الكائنات في النموذج: Private Sub cmd_Count_Click() Dim ctl As Control 'نبدأ بتصفير خانة المجموع Me.[عدد الزيارات الشهرية] = 0 'عمل حلقة لقراءة جميع كائنات النموذج For Each ctl In Me.Controls 'هل الكائن هو حقل اختيار If ctl.ControlType = acCheckBox Then 'هل الحقل به علامة صح If ctl.Value = -1 Then 'اجمع القيم Me.[عدد الزيارات الشهرية] = Me.[عدد الزيارات الشهرية] + 1 End If 'ctl.Value End If 'ctl.ControlType Next End Sub جعفر 905.Database1.accdb.zip
    2 points
  11. ترقيم الكائنات في النموذج يبدأ بالرقم صفر وهنا نرى ان الحقل المختار ، يقع عليه التركيز كحقل ثامن في النموذج (7+0=8) ، اما اذا لم ترد ان يقع عليه التركيز ، فتستطيع ان تجعله No ، فهنا لا يكون للرقم اهمية. . والطريقة الاخرى هي: تنقر على اسم الحقل (من الطرف الرصاصي) وتسحب الحقل الى اعلى او اسفل ، حسب الترتيب المطلوب . جعفر
    1 point
  12. وعليكم السلام تفضل جرب ، انا ما شايف اي اهتزاز . جعفر 918.استدعاء الرصيد.mdb.zip
    1 point
  13. شكرأ جزيلاً اخي الكريم kaser906 على هذه الهدية الاخ الكريم jjafferr يستاهل اكثر .... فكثيراً ما ساعدني في ايجاد الحلول في بعض المواضيع التي كانت شائكة بالنسبة لي وحتى انت ياخي kaser906 لم تقصر في الاجابة شكراً لكم...
    1 point
  14. إنك تستحق كل إعجاب حقاً و سؤالي هنا هل يمكن تعديل الأمر ليتمكن من إيجاد سلسلة الأحرف حتى لو كانت منفصلة أو متصلة بغيرها ؟
    1 point
  15. وعليكم السلام ورحمة اله وبركاته اشكرك اخوي كاسر على هذه الهدية ، وان شاء الله ادخل في البرنامج واشوف اللي فيه جعفر
    1 point
  16. راجع الرابط التالي تجد به شرح للاضافة والحذف والتعديل عن طريق زر الأمر
    1 point
  17. مع الأسف تليفوني ليس به أي إمكانيات غير الاتصال على المحمول أو الأرضي إصدار قديم فقط وذلك لضعف الشبكة المحمول
    1 point
  18. أتوجه بخالص الشكر على مجهودك في الملف الرائع ورأيت أن أقوم بعمل بعض التعديلات تم التعديل على ماكرو حذف البيانات ليصل إلى w بدلاً من x لتفادي عمود الفرز تم إضافة معادلة لتحديد النوع وتاريخ الميلاد ومحافظة الميلاد تعمل تلقائيًا بمجرد إدخال الرقم القومي تم منع الكتابة أو التعديل في خلايا النوع وتاريخ الميلاد ومحافظة الميلاد وذلك لتفادي أي كتابة عن طريق الخطأ تم تقييد عمود الرقم القومي في ورقة العمل (بيانات الموظفين) لا تقبل أقل من 14 رقم ومنع إدخال أي حرف تم تقييد عمود الاسم في ورقة العمل (بيانات العاملين ) لا يقبل الاسم أقل من رباعي هذه التقييدات لا يمكن عملها في التكست بوكس الفورم تم إيقاف عمل التكست بوكس الخاص بتاريخ الميلاد وكذلك النوع وأيضًا محافظة الميلاد في فورم الإضافة وفي فورم التعديل لأنه لا داعي لهم بالنسبة لسؤال حضرتك كل مرة تقوم بتغيير الملف . الإجابة بانن كنت آخذ الملف من الموقع ربما يكون هناك تعديل من عندك وأسأل الله تعالى يوفقك
    1 point
  19. أتوجه بخالص الشكر على مجهودك في الملف الرائع ورأيت أن أقوم بعمل بعض التعديلات تم التعديل على ماكرو حذف البيانات ليصل إلى w بدلاً من x لتفادي عمود الفرز تم إضافة معادلة لتحديد النوع وتاريخ الميلاد ومحافظة الميلاد تعمل تلقائيًا بمجرد إدخال الرقم القومي تم منع الكتابة أو التعديل في خلايا النوع وتاريخ الميلاد ومحافظة الميلاد وذلك لتفادي أي كتابة عن طريق الخطأ تم تقييد عمود الرقم القومي في ورقة العمل (بيانات الموظفين) لا تقبل أقل من 14 رقم ومنع إدخال أي حرف تم تقييد عمود الاسم في ورقة العمل (بيانات العاملين ) لا يقبل الاسم أقل من رباعي هذه التقييدات لا يمكن عملها في التكست بوكس الفورم تم إيقاف عمل التكست بوكس الخاص بتاريخ الميلاد وكذلك النوع وأيضًا محافظة الميلاد في فورم الإضافة وفي فورم التعديل لأنه لا داعي لهم بالنسبة لسؤال حضرتك كل مرة تقوم بتغيير الملف . الإجابة بانن كنت آخذ الملف من الموقع ربما يكون هناك تعديل من عندك وأسأل الله تعالى يوفقك
    1 point
  20. الترتيب لا يتأثر بظهور عمود الترتيب أو إخفاؤه
    1 point
  21. تم التعديل على الملف كلما كتبت شيئاُ معيناً في الخلية B2 تظهر لك النتيجة فوراً saerch_salim.xlsm
    1 point
  22. سيدي الفاضل بدل ان تعرف اي نموذج مفتوح ، بهذا الكود: Dim n As String: Dim i As Integer: Dim isopen As Boolean n = "frmEdrajSenf" isopen = False For i = 0 To Forms.Count - 1 If Forms(i).FormName = n Then isopen = True End If Next i If isopen Then . الافضل ان تعرف اي نموذج فتح صفحة البحث ، وعليه ترجع له البيانات ، هكذا: بدل Private Sub Rajmsanf_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF3 Then DoCmd.OpenForm "frm_Search_New", acNormal End If End Sub هكذا نفتح نموذج البحث ، ونرسل له اسم النموذج الذي طلب البحث Private Sub Rajmsanf_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF3 Then ' هنا نرسل اسم النموذج، في آخر امر في السطر، هكذا DoCmd.OpenForm "frm_Search_New", acNormal, , , , , Me.Name End If End Sub . وعليه يصبح كود ارجاع البيانات الى النموذج المفتوح هكذا: Forms(Me.OpenArgs)![Rajmsanf] = Me.Rajmsanf DoCmd.Close acForm, Me.Name, acSaveNo . جعفر 911.1.ادراج البياناتات حسب الفورم المفتوح.mdb.zip
    1 point
  23. السلام عليكم اخوي ابو زاهر 2. وتم حله 1. يعني اذا frmEdrajSenf_R او frmEdrajSenf_sra مفتوح ، لما تضغط على الزر Enter ، تريد بيانات السجل تروح الى النموذج المفتوح؟ جعفر
    1 point
  24. اعمل بحث في المنتدى ، وفيه الكثير من هذه المواضيع: https://www.google.com/search?q=شفت+site%3Awww.officena.net&oq=شفت+site%3Awww.officena.net&aqs=chrome..69i57.26213j0j4&sourceid=chrome&ie=UTF-8 جعفر
    1 point
  25. وعليكم السلام اخي مازن الله يطول في عمرك ، هذه الواجهة فقط !! على العموم ، انا بعمل موضوع خاص للتقسيط ، وبترك لك الرابط هنا ان شاء الله جعفر
    1 point
  26. جرب هذه المعادلة =SUMPRODUCT((LEN(" "&$A$2:$A$6&" ")-LEN(SUBSTITUTE(" "&$A$2:$A$6&" "," "&$B$2&" ","")))/LEN(" "&$B$2&" ")) الملف مرفق tekrar_salim.xlsx
    1 point
  27. رجاء تجرب المرفق ، بعد ادخال بيانات صحيحة في النموذجين الفرعيين ، فلقد فمت بتعديل الكثير في البرنامج بالاضافة الى التغييرات في النماذج ، فهناك تغييرات في الجداول والاستعلامات ، وعملت علاقة بين الجداول ، لذلك ، رجاء واصل العمل على هذه النسخة جعفر 910.accdb.zip
    1 point
  28. تم النعديل على النتسيق الشرطي ليعمل خسب المطلوب مع زيادة عدد الاعمدة salim التعديل.xlsx
    1 point
  29. السلام عليكم ورحمة الله عيدكم مبارك وكل عام وأنتم بخير.. أخي سليم إن المعادلة التي وضعتُها تخص مجموع عمودين فقط (العمود المظلل والعمود الذي قبله) وقد نبهني أخي عبد العزيز أنه يريد مجموع كل الأعمدة بداية من العمود الأول إلى العمود المظلل (الملون)، حيث قمت بالتعديل على المعادلة بالشكل التالي: =SUM(OFFSET(Rng;;;;Col_X)) أو =SUM(OFFSET(Rng,,,,Col_X)) بالنسبة للمعادلة التي اقترحتَها عليّ في ردك السابق فهي صحيحة غير أن تأكيدها كمعادلة صفيف (Ctrl+Alt+Enter) غير ضروري... وقد تم التعديل على الملف في المرفقات لتمديد المعادلات عند إضافة أعمدة أخرى (حسب طلب أخي عبد العزيز)... حاجي بن علية مطلوب التعديل.xlsx
    1 point
  30. عيدكم مبارك وكل عام وأنتم بخير.. اخي بن علية عتد معايتة الملف المرفوع من قبلكم وجدت ان هناك خطأ في نتيجة المعادلة لذا اتقدم بهذا الملف لمقارنة النتائج المعادلة من قبلي (Ctll+Shift+Entre) ارجو الاطلاع =SUM(OFFSET($E$12,,,2,(COUNT($E$12:$L$12)+(MOD(COUNT($E$12:$L$12),2)))/2)) الملف مرفق By_formulaالمصنف1.xlsx
    1 point
  31. السلام عليكم ورحمة الله تقبل الله منا ومنكم الصلاة والصيام والقيام وكل أعمال الخير... عيدكم مبارك وكل عام وأنتم بخير... تم عمل المطلوب بالمعادلات وبالاستعانة بالتسميات والتنسيقات الشرطية (للتلوين)... أرجو أن تفي الغرض المطلوب. حاجي بن علية المصنف1.xlsx
    1 point
  32. لا داعي لهذا الكود الطويل جداُ يكفي هذا Option Explicit Sub salim_Macro() Dim col_num As Byte Dim Position As Byte Dim Last_row% Last_row = Cells(Rows.Count, "D").End(3).Row If Last_row < 15 Then Last_row = 15 Range("e11").Resize(Last_row - 10, 100) _ .Interior.Color = vbWhite col_num = Application.Count(Range("E12:CZ12")) Position = (col_num) \ 2 Range("E15") = Application.Sum(Range("E12").Resize(2, Position)) Range("E12").Offset(-1, Position - 1) _ .Resize(Last_row - 11).Interior.Color = 49407 End Sub
    1 point
  33. تفضل الكود وقم باستدعائه كيفما شئت Option Explicit Sub sh14jun2018() Dim rng1, rng2, rng3 As Range Dim i, j, x As Long Range("d11").CurrentRegion.Interior.Color = xlNone Range("d" & Rows.Count).End(xlUp).Offset(, 1) = "" Set rng1 = Range("e11", Range("e11").End(xlDown)) i = rng1.Rows.Count - 2 Set rng1 = Range("e11", Range("e11").Offset(i)) Set rng1 = Range(rng1, rng1.End(xlToRight)) j = rng1.Columns.Count Select Case j Mod 2 Case Is = 0 j = j / 2 rng1(j).Select Selection.Resize(i + 1).Select Selection.Interior.Color = 49407 Set rng2 = Range(Selection, Selection.End(xlToLeft)) x = Application.WorksheetFunction.Sum(rng2) Range("E" & Rows.Count).End(xlUp).Offset(1) = x Case Is > 0 j = Int(j / 2) + 1 rng1(j).Select Selection.Resize(i + 1).Select Selection.Interior.Color = 49407 Set rng2 = Range(Selection, Selection.End(xlToLeft)) x = Application.WorksheetFunction.Sum(rng2) Range("E" & Rows.Count).End(xlUp).Offset(1) = x End Select End Sub
    1 point
  34. يرجي اعادة تجربة الملف مره اخره تظليل.xlsm
    1 point
  35. جرب هذا الماكرو Option Explicit Sub salim_Macro() Dim col_num As Byte Dim Position As Byte Range("e11").Resize(4, 8) _ .Interior.Color = vbWhite col_num = Application.Count(Range("e12:l12")) Select Case col_num Case 8, 7: Position = 4 Case 6, 5: Position = 3 Case 4, 3: Position = 2 Case Else: Exit Sub End Select Range("E15") = Application.Sum(Range("e12").Resize(2, col_num)) Range("e12").Offset(-1, Position - 1) _ .Resize(4).Interior.Color = 49407 End Sub الملف مرفق salim_book.xlsm
    1 point
  36. السلام عليكم اتمنى ان يحظى الملف القبول وان يكون به الاجابة على طلبك .. تحياتي حساب عدد الزيارات وتجميع الحقول المؤشر عليها بعلامة صح.accdb بطريقة اخرى اسماء الشهور بالعربي حساب عدد الزيارات وتجميع الحقول المؤشر عليها بعلامة صح - Copy.rar
    1 point
  37. تحويل القاعدة الى mde او accde هو امر لابد منه يجب ان تفعله قبل تسليم البرنامج للمستخدم النهائي لكن هذا لايمنع المستخدم من التسلل الى قاعدة البيانات عند الضغط على مفتاح الشفت بل يمنعه من التعديل على الاكواد البرمجية vb وكذلك التعديل على النماذج لكنه يستطيع التحكم في الاستعلامات او الدخول الى الجداول والتلاعب في البيانات من وجهة نظري المتواضعة فإن افضل طريقة هي تشفير محتوى الجداول والتقليل من استخدام الاستعلامات او استعمال عبارات sql بدلاً منها الا اذا اقتضت الضرورة كما ان اهم نقطة هي عليك قفل الوحدات النمطية برقم سري تحياتي
    1 point
  38. أخي الكريم أحمد محمد جرب المعادلة التالية في الخلية C3 .. =IF(A3="","",(LEN(" "&SUBSTITUTE(A3," "," ")&" ")-LEN(SUBSTITUTE(" "&SUBSTITUTE(A3," "," ")&" "," "&B3&" ","")))/LEN(" "&B3&" ")) إذا لم تعمل معك المعادلة قم باستبدال الفاصلة العادية الموجودة في المعادلة بفاصلة منقوطة تقبل تحياتي
    1 point
×
×
  • اضف...

Important Information