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

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

  1. Ali Mohamed Ali

    Ali Mohamed Ali

    المشرفين السابقين


    • نقاط

      15

    • Posts

      11649


  2. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      3

    • Posts

      13698


  3. hegazee

    hegazee

    03 عضو مميز


    • نقاط

      2

    • Posts

      283


  4. شكيب عمار

    شكيب عمار

    03 عضو مميز


    • نقاط

      1

    • Posts

      114


Popular Content

Showing content with the highest reputation on 05/06/26 in all areas

  1. عزيزي لا بد تفهم ما الذي يحدث عند الاختيار والادخال .. وهو كالتالي : يوجد جدول وسيط بين الفورم الفرعي وبين جدول التفاصيل .. طبعا بمجرد اختيار الصنف من الجدول الفرعي يتم ادراجه في الجدول الوسيط .. كما هو معروف في اكسس تم وضع الجدول الوسيط هذا من اجل عدم الحفظ الآلي مباشرة في جدول التفاصيل قبل التعديل الاخير لما تغير المخزن يطالبك البرنامج بالحذف من اجل يحذف البيانات التي تم حفظها في الجدول الوسيط والسبب هو ان كل مخزن له اصتافه الخاصة والاصناف هذه مرتبطة بارقام المخازن يعني الافضل تبقى على التصميم الاول .. ولما تريد تغير المخزن يتم حذف الاصناف التابعة له والتي تم تسجيله ___________________________________________ اتركنا من طبيعة عمل البرنامج واخبرني لماذا تريد تغيير المخزن؟ وهل المخازن عندك مختلطة يعني غير مخصصة لاصناف معينة تصور انك لو تريد كل صنف تسجله بمخزن معين وفي المرة الاخرى نفس الصنف تسجله في مخزن آخرر... امكنك ذلك المهم هو طبيعة العمل على ارض الواقع
    2 points
  2. تفضل استاذ المرفق بعد التعديل بطلبك . طريقة للبحث-فهد الدوسري.mdb
    1 point
  3. اخي الكريم لو طبقت ماجاء ردي السابق كنت حصلت على النتيجة المطلوبة عموما هذا مثلك بعد التعديل DB.accdb
    1 point
  4. السادة الزملاء : مرفق دالة التفقيط بدون اكواد كل ما عليك ان تدرج الشيت المرفق فى اى ملف اكسيل تريد تفعيل دالة التفقيط بدون اكواد ولو نسخة الاكسيل 2021 فيما فوق يتم استخدام دالة مخصصة اسمها tafkeet Tafqeet_Dynamic_System (1).xlsx
    1 point
  5. عليكم السلام يمتنع هذا منطقي لأن كل مخزن له اصنافه الخاصة على كل حال تفضل يمكنك تغيير المخزن .. وسيتبع ذلك طبعا تغير في قائمة الاصناف ولكن ستبقى الاصناف المختارة الاولى في الجدول حتى لو اختفت امامك في الفورم ,, وهذه مشكلة stock26.rar
    1 point
  6. تفضل الملف بعد التعديل . كان فيه أخطاء كثيرة جدا في ارتباط الخلايا في اليوزرفورم مكتب_المحامي للتعديل2.xlsm
    1 point
  7. و عليكم السلام ورحمة الله وبركاته تفضل الملف حسب نسخة الأوفيس عندك لو قديم الملف الأول و لكن اذا أضفت كلمات جديدة يجب أن تضيفها في الصيغة ولو عندك . أوفيس حديث يمكن استخدام الملف الثاني فهو يتعرف على الكلمات تلقائيا الملف الثالث يعمل بالأكواد الحضور والغياب (2).xlsx الحضور والغياب حديث.xlsx الحضور والغياب أكواد.xlsm
    1 point
  8. السلام عليكم ورحمة الله وبركاته 🙂🖐 يقول المثل : أن تأتي متأخرا خير من أن لا تأتي 😅✌ بعد جهد جهيد إنتهيت من تصميم نظام تسجيل دخول + نظام صلاحيات متطور كلما أخطو فيه خطوة أجد أنه ناقص وتطلع أفكار جديدة .. 😅👊 لذلك قلت سأنزلها كما هي الآن .. حاولت تبسيطه للمستخدم والمستفيدين منه لاحقا قدر المستطاع .. وسأبدأ بواجهة تسجيل الدخول المتواضعة : المزايا : حفظ بيانات دخول المستخدم (اختياري) الدخول مباشرة بمجرد كتابة كلمة المرور بشكل صحيح (تسريع عملية الدخول) ملاحظة : جميع كلمات المرور في البرنامج : 123 ثانيا الواجهة الرئيسية : يتم تطبيق الصلاحيات للمستخدم بمجرد تسجيل الدخول .. ثالثا : إدارة المستخدمين هنا يتم إدارة جميع ما يتعلق بمستخدمي البرنامج ( إضافة ، تعديل ، حذف ، تعيين الصلاحيات ) رابعا : إدارة مجموعات العمل والصلاحيات لكل مجموعة هنا يتم ضبط الصفحات المسموح لكل مجموعة دخولها والصلاحيات الخاصة بكل صفحة .. ومثل ماهو واضح يمكن إضافة النماذج أو إزالتها كما يحلو لك وبعد ضبط مجموعات العمل يتم تعيين كل مستخدم للمجموعة الخاصة به ، ويمكن عمل مجموعة خاصة لشخص واحد فالخيارات غير محدودة .. 🙂 الآن يمكنك الخروج من البرنامج ثم تجربة تسجيل الدخول باسم المستخدمين المسجيلين في البرنامج للاستمتاع بتجربة الصلاحيات الممنوحة لكل مستخدم 😊 وبعد الدخول للصفحات يتم تطبيق الصلحيات الخاصة بالنموذج أيضا .. وبقية الصلاحيات ستظهر حسب الزر الذي يتم الضغط عليه مزايا إضافية موجودة في البرنامج .. ولها علاقة بالأمان أيضا .. نظام النسخ الاحتياطي وله إعدادات خاصة به (نسخ احتياطي يدوي أو تلقائي ) وهو موجود في صفحة إعدادات البرنامج : ولكل مستخدم مجموعة خيارات يمكنه التحكم بها مثل ( تغيير كلمة المرور ، التشغيل عند إقلاع الجهاز ، إنشاء اختصار في سطح المكتب ، حفظ بيانات التسجيل لتسريع الدخول للبرنامج) هذه هي أهم الميزات التي يحتويها البرنامج 🙂 ولفتح البرنامج في وضع التصميم ، حتى هذي سهلة للمبرمج 😅🖐 في صفحة تسجيل الدخول وكذلك الصفحة الرئيسية يوجد هذا الزر الخاص بالمبرمج >> بعد الضغط عليه >> أدخل كلمة المرور : 123 ويمكنك تغييرها من الكود الخاص بالزر .. بتظهر لك هذي النافذة الخاصة بالمبرمج فقط : وأهم ما فيها : (1) عرض الشريط العلوي ونافذة الأكسس >> بعد تفعيله تحفظ وتشغل الماكرو وبتنفتح عندك واجهة الأكسس >> أعد تشغيل البرنامج من جديد للحصول على جميع الميزات. (2) اسم نموذج البداية >> وهو أو نموذج بيشتغل معاك في البرنامج >> وهذا يسهل على المبرمج تطبيق النظام على أي برنامج آخر 🙂 (3) اسم البرنامج (واللي ييظهر في الشريط العلوي للأكسس) : (4) رقم الإصدار (نسخة البرنامج) وتاريخها >> ويمكن الاعتماد عليها لتحديث البرنامج لاحقا .. (5) إدارة نماذج الصلاحيات >> وهي النماذج اللي ستسمح بإعطاء صلاحيات لدخولها للبرنامج .. وكذلك تعطي كل نموذج اسم صديق للمستخدم وسيتم استخدام المسمى الحقيقي للنموذج داخليا .. وهكذا أكون شرحت لكم أهم المميزات ويتبقى نقطة مهمة وهي : يمكن للمبرمج الآن الاستفادة من هذا الملف فهو قاعدة جاهزة لإنطلاق في تصميم برنامجك الخاص .. جميع الأكواد الخاصة بالصلاحيات ستجدها في الموديول التالي : وأهم ما ستحتاج معرفته في كيفية تطبيق الصلاحيات ذكرته في الملاحظات المكتوبة أول الموديول : ' (1) : لتطبيق صلاحية فتح النماذج وصلاحيات الإضافة والتعديل والحذف تضع الأسطر التالية أول الأكواد في حدث فتح النموذج '------------------------------------------------------------------------------- 'Private Sub Form_Open(Cancel As Integer) ' ' فحص صلاحة دخول النموذج ' Cancel = Not Permission_OpenForm(Me.Name, True) ' ' تطبيق صلاحيات : الإضافة / التعديل / الحذف ' Apply_Addition_Edits_Delete_Permissions (Me.Name) 'End Sub '------------------------------------------------------------------------------- ' (2) : لتطبيق صلاحيات الطباعة والاستيراد والتصدير داخل نموذج معين تكتب هذه الأسطر لمعرفة وجود الصلاحة من عدمها ' : وكل سطر من هذه الصلاحيات يرجع لك النتيجة كما يلي ' True : مسموح ' False : ممنوع '------------------------------------------------------------------------------- ' 1- فحص صلاحية الطباعة (True/False) ' Permission_Print(Me.Name , True) ' |_>> (True/False) : هذه الجزئية اختيارية لعرض رسالة تنبيه عند عدم وجود صلاحية من عدمها ' 2- فحص صلاحية الاستيراد (True/False) ' Permission_Import(Me.Name , True) ' |_>> (True/False) : هذه الجزئية اختيارية لعرض رسالة تنبيه عند عدم وجود صلاحية من عدمها ' 3- فحص صلاحية التصدير (True/False) ' Permission_Export(Me.Name , True) ' |_>> (True/False) : هذه الجزئية اختيارية لعرض رسالة تنبيه عند عدم وجود صلاحية من عدمها '------------------------------------------------------------------------------- والنماذج الموجودة في البرنامج مع أزرارها تم تطبيق الأكواد عليها بشكل عملي << راجعها وأدرسها لمعرفة كيفية عملها .. وهي سهلة يسيرة بفضل الله 🙂 وهذا مثال عملي لتطبيق الصلاحية على زر الطباعة (فتح التقرير) مثلا : وهكذا بقية الصلاحيات (اطلع على بقية الموديول) تم تحويلها لأسطر قليلة بسيطة للاستفادة منها بكل يسر .. 🙂 وأخيرا تحميل البرنامج :: Moosak ‏‏Login System with permissions 1.0.zip :: وآخر دعوانا أن الحمد لله رب العالمين ::
    1 point
  9. أحسنت أستاذ مجدى وبارك الله فى جهودكم وجزاك الله خير الثواب
    1 point
  10. جزاك الله خير الثواب وأكرمك الله فى الدارين
    1 point
  11. وعليكم السلام ورحمة الله تعالى وبركاته تفضل اخي Sub Extract_The_differences() '================02/07/2024 by:MOHAMEED HICHAM www.officena.net "منتدى الاكسيل" ' '=========================================================================================== Dim a(1), b, i&, arr&, n&, x&, lr&, dic As Object Set dic = CreateObject("Scripting.Dictionary") Dim srcWS As Worksheet: Set srcWS = Sheets("النتائج") rCrit = [{1,2,12,13,14,18}] ''<======= ' تحديد اعمدة المقارنة With Sheets("2023") With .Range("a10", .Range("a" & Rows.Count).End(xlUp)).Resize(, 18) a(0) = Application.Index(.Value, _ Evaluate("row(2:" & .Rows.Count & ")"), rCrit) End With End With For i = 1 To UBound(a(0), 1) dic(a(0)(i, 1)) = Array(i, Join(Application.Index(a(0), i, 0), Chr(2))) Next With Sheets("2022") With .Range("a10", .Range("a" & Rows.Count).End(xlUp)).Resize(, 18) a(1) = Application.Index(.Value, _ Evaluate("row(2:" & .Rows.Count & ")"), rCrit) End With End With ReDim b(1 To UBound(a(1), 1), 1 To UBound(a(1), 2) * 2 + 2) For i = 1 To UBound(a(1), 1) If dic.exists(a(1)(i, 1)) Then If dic(a(1)(i, 1))(1) <> Join(Application.Index(a(1), i, 0), Chr(2)) Then n = n + 1 For arr = 1 To UBound(a(1), 2) b(n, arr) = a(1)(i, arr) b(n, arr + UBound(b, 2) / 2) = a(0)(dic(a(1)(i, 1))(0), arr) If b(n, arr) <> b(n, arr + UBound(b, 2) / 2) Then b(n, UBound(b, 2)) = b(n, UBound(b, 2)) + 1 End If Next End If End If Next With srcWS Application.ScreenUpdating = False With .Rows("5:" & .Cells.SpecialCells(11).Row) .ClearContents: .Interior.ColorIndex = xlNone End With If n Then .[A5].Resize(n, UBound(b, 2)) = b '[تنسيق الاختلافات] On Error Resume Next With .Rows(4).SpecialCells(2).Areas(2) With .CurrentRegion.Resize(, .Columns.Count - 1) .FormatConditions.Delete .FormatConditions.Add 2, Formula1:="=" & .Cells(1).Address(0, 0) & "<>A4" .FormatConditions(1).Interior.Color = RGB(255, 204, 0): Set Rng = srcWS.[N5:N1000] On Error GoTo 0 End With End With End If End With Application.ScreenUpdating = True MsgBox Application.WorksheetFunction.Sum(Rng) & _ " " & ": عدد الاختلافات", vbInformation, " مقارنة 2022 / 2023 " End Sub مقارنة اعمدة معينة على ورقتين.xlsm
    1 point
  12. أستاذى الكريم AbuuAhmed لما كل هذا القلق والغضب ؟!! طالما ان الغرض الأساسى هو افادة الأعضاء حتى اثناء غلق الموضوعات والمشاركات تظل الإستفادة قائمة وكما أوضح لك أستاذنا الكريم محمد طاهر اننا قد اتفقنا سلفاً على غلق الموضوعات والمشاركات حتى لا تكثر الحوارات والمشاركات الجانبية بها .. طالما بالفعل تم الإستفادة والرد الكافى بالموضوع وشكراً .. وكما تعلم يقيناً استاذنا الكريم ويعلم الله أنا دائماً وأبداً أكون من أكثر الناس تشجعياً ووقوفاً أمام وخلف جميع الأعضاء فى أى شيء ..وشكراً
    1 point
  13. بارك الله فيك استاذنا الكريم وفى جميع مشاركاتك وموضوعاتك القيمة التى نشتاق اليها دائماً .. ونتمنى لكم العودة فى أقرب وقت الى بيتك وبالطبع سنكون جميعاً سعداء بعودتكم ومرحب بكم فى أى وقت وشكراً لكم على جهودكم المفيدة بالمنتدى ونتمنى لكم النجاح والتفوق دائماً فى حياتكم وبارك الله فيكم وأحسن الله اليكم وأكرمك الله
    1 point
  14. وعليكم السلام-يمكنك استخدام هذه المعادلة اذا كانت القيمة المراد البحث عنها بالخلية N4 مثلاً =IFERROR(IF($N$4=VLOOKUP(N4,$A$5:$A$95,1,0),"موجود"),"غير موجود") ثوابت الميزان الجانب الغربي .xlsx
    1 point
  15. 1 point
  16. تفضل لك ما طلبت .. تـــم تنظيم الملف وعمل قائمة منسدلة بأسماء جميع صفحات الملف.. وهذه هى المعادلة المستخدمة لجلب البيانات من كل صفحة بمعلومية اسم الصفحة =INDIRECT("'"&$A$1&"'!"&CHAR(64+COLUMNS($A$1:A1))&""&ROWS($A$1:A3)) testttt1.xlsx
    1 point
  17. كل عام وانتم بخير وعيد سعيد عليكم
    1 point
  18. احسنت استاذ ماجد بارك الله فيك وجزاك الله خير الثواب
    1 point
  19. شكراً لك يمكنك استخدام هذه المعادلة =IFERROR(1/(1/LOOKUP(9^9,$A$4:$A$10150/($C$4:$C$10150=$K7))),VLOOKUP($K7,$A$4:$C$10150,3,0)) calcul irg 2022 OFISNA1.xlsx
    1 point
  20. بارك الله فيك استاذنا ابراهيم لك منا كل المحبة والإحترام المعادلة تعمل بكل كفاءة وتم وضعها بالملف IRG OFISNA 21.xlsx
    1 point
  21. وعليكم السلام-ويتم ذلك بإستخدام هذه المعادلة =VLOOKUP($C8,INDIRECT("'"&$C$3&"'!"&"I9:U700"),13,0) 1العمال.rar
    1 point
  22. أحسنت أستاذ مجدى , عمل رائع .. اللهم تقبل منكم سائر الأعمال .. وكل عام وانتم بخير
    1 point
  23. اتفضل الملف لعله يفى بالفرض بعد فك تشفير الباسورد نسخة من property_investment_return-1.xls
    1 point
  24. حقا، زادك الله فضلا وعلما أنت وباقي الإخوة لأنكم تساعدوننا جميعاً، ولكم صدقة جارية في كلمة خطوة تعلموها لنا بارك الله فيكم
    1 point
  25. بالنسبة للتواريخ فهي عبارة عن أرقام تسلسلية ، بالتالي يجب أن تغير في المعادلة بهذا الشكل لتنسق التاريخ كما تريد : =TEXT(D2,"yyyy/mm/dd")&CHAR(10)&TEXT(D3,"yyyy/mm/dd") yyyy هو اختصار للعام أو السنة mm هو اختصار للشهر ، مع العلم إذا كتبت mmm أي ثلاثة مرات فإن الشهر يظهر بالحروف (يناير ، فبراير ، وهكذا ..) dd هو اختصار لليوم يمكنك ترتيب التاريخ بالشكل الذي يحلو لك
    1 point
×
×
  • اضف...

Important Information