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

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

  1. Moosak

    Moosak

    أوفيسنا


    • نقاط

      6

    • Posts

      1,997


  2. Eng.Qassim

    Eng.Qassim

    الخبراء


    • نقاط

      4

    • Posts

      2,302


  3. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      3

    • Posts

      12,177


  4. ابو جودي

    ابو جودي

    أوفيسنا


    • نقاط

      2

    • Posts

      6,818


Popular Content

Showing content with the highest reputation on 14 مار, 2023 in all areas

  1. السلام عليكم ورحمة الله وبركاته يسرني اليوم أن أقدم لكم هذه الهدية المتميزة والمتواضعة ( زاد المثابر للحصول على أسماء العناصر) هذه الأداة صممتها بفضل الله في أكسس تقوم بإحضار وسرد أسماء العناصر لك لكي تستطيع نسخها ولصقها في أي مكان تريد بكل سهولة ويسر 🙂 شخصيا أستفدت كثيرا منها وسهلت علي الكثير من الجهد وقلصت من وقت العمل بحمد الله وفضله. وهنا اختصرت على نفسي الكتابة وقمت بشرح الأداة مرئيا 🙂 متابعة ممتعة 😊👌🏼 ولا أستغني عن آراءكم وملاحظاتكم .. 🙂 لتحميل الملف المستخدم في الشرح وبه النموذج : التحديث 2.0 : تم إضافة خاصية جلب عناصر النماذج الفرعية .. والتقارير الفرعية .. شكرا للأخ @عمر ضاحى على الفكرة 🙂
    6 points
  2. Try Sub Test() Dim x, w, ws As Worksheet, lr As Long Application.ScreenUpdating = False Set ws = ThisWorkbook.Worksheets(1) With ws lr = .Cells(Rows.Count, "B").End(xlUp).Row + 1 x = Application.Match(.Range("D2").Value2, .Rows(6), 0) If Not IsError(x) Then w = Application.Match(.Range("B2").Value, .Range("B7:B" & lr), 0) If Not IsError(w) Then .Cells(w + 6, x).Resize(, .Range("F2").Value).Value = .Range("C2").Value Else .Cells(lr, 1).Value = .Cells(lr, 1).Row - 6 .Cells(lr, 2).Value = .Range("B2").Value .Cells(lr, x).Resize(, .Range("F2").Value).Value = .Range("C2").Value End If End If End With Application.ScreenUpdating = True End Sub
    2 points
  3. السلام عليكم 🙂 هناك الكثير من الميزات/الاوامر التي يعطينا برنامج الاكسس ، والتي يمكن ان نعمل لها بديل ، ولكن يكون هناك فرق في سرعة تنفيذ كودنا مقارنة مع الكود الاصل من الاكسس !! مثل القائمة المختصرة التي تظهر لنا بالنقر على زر الفأرة الايمن ، والتي بها يمكننا ان نستغني عن الكثير الاوامر ، مثل الفرز والتصفية بأنواعه ، ولكن وللأسف الشديد ، فأنا ارى ان 99.99% من البرامج ، يتم حذف هذه القائمة وعدم تفعيلها ، والسبب ان المستخدم يستطيع ان يدخل في تصميم النموذج من خلال هذه الاوامر(في الدائرة الحمراء) : و . ويضطر المبرمج ان يعوض بقية الاوامر في القائمة ، بمجموعة من الازرار ، او بطرق مختلفة !! ----------------------------------------------------------------------------------------------- الاكسس يسمح لنا ان نعمل قوائم مختصرة Shortcut Menu والتابعة لمجموعة CommandBars ، حسب احتياجنا ، ونختار ما نضعه فيها 🙂 هناك 3 انواع من هذه القوائم : الثابته ، والمؤقته ، والمؤقته التي تحتاج الى كود. الثابته: وهي التي عندما نعملها ، تصبح مستقله عن الكود ، وتُحفظ وتبقى في قاعدة البيانات بعد إغلاقها ، ويمكننا ان نستوردها في قاعدة بيانات اخرى عندما نستورد احد/جميع كائنات قاعدة البيانات الآخرى ، بإستخدام : . ونختارها في النموذج : . او التقرير : . هذا مثال لعمل الكود الاساس لعمل قائمة قطع/نسخ/لصق : Option Compare Database Option Explicit Dim cmb As Object Dim cmbCtrl As Object Dim cmbName As String ' ' ' to use: ' Dim cbr As Commandbar ' Dim cbrButton as CommandbarControl ' ' we have to select in the References: ' Microsoft Office xx.x Object Library ' Public Function SCM_Copy(Optional DeleteMe As Boolean = False) On Error Resume Next 'If menu with same name exists delete cmbName = "cmb_Copy" CommandBars(cmbName).Delete If DeleteMe = True Then Exit Function If Err.Number <> 0 Then Err.Clear Set cmb = CommandBars.Add(cmbName, msoBarPopup, False, False) With cmb .Controls.Add msoControlButton, 21, , , False ' Cut .Controls.Add msoControlButton, 19, , , False ' Copy .Controls.Add msoControlButton, 22, , , False ' Paste End With Set cmb = Nothing End Function . وشرح الكود : 1. اسم القائمة المختصرة ، والتي سوف نختارها في النموذج او التقرير ، 2. هذه المجموعة الاساس منبثقة Popup ، 3. بينما هذه المجموعات عبارة عن ازرار Buttons ، وقد تكون قائمة منسدلة Combobox ، او نص Edit نُدخل فيه قيمة معينة للتصفية مثلا ، 4. هل هذه القائمة مؤقته ؟ False معناها ثابته وتُحفظ في قاعدة البيانات ، بينما True معناها انها مؤقته وتعمل لما ننادي الوحدة النمطية/الكود ، 5. هذه ارقام كل امر ، وملف الاكسل المرفق من مايكروسوفت فيه جدول يضم جميع ارقام الاوامر للاكسس 2010 () ، 6. اذا اردنا ان نحذف هذه القائمة ، فننادي الوحدة النمطية بضم True في امر المناداة المؤقته: ونستعمل True في مكان الرقم 4 اعلاه. وهي التي عندما نعملها ، لا تصبح مستقله عن الكود ، ولا تبقى في قاعدة البيانات بعد إغلاقها ، ولا يمكننا ان نستوردها في قاعدة بيانات اخرى عندما نستورد احد/جميع كائنات قاعدة البيانات الآخرى (كما هو الحال مع القائمة الثابته) ، ويجب ان نستخدم "حدث فتح" النموذج/التقرير لعملها واستخدامها في النموذج/التقرير ، و "حدث اغلاق" النموذج/التقرير لحذفها ، طيب ، خلونا نعمل هذه القائمة : Public Function SCM_Copy_Sort(Optional DeleteMe As Boolean = False) On Error Resume Next 'If menu with same name exists delete cmbName = "cmb_Copy_Sort" CommandBars(cmbName).Delete If Err.Number <> 0 Then Err.Clear Set cmb = CommandBars.Add(cmbName, msoBarPopup, False, False) With cmb Set cmbCtrl = .Controls.Add(msoControlButton, 21, , , False) ' Cut cmbCtrl.Caption = "Cut..." cmbCtrl.FaceId = 21 Set cmbCtrl = .Controls.Add(msoControlButton, 19, , , False) ' Copy cmbCtrl.Caption = "Copy..." cmbCtrl.FaceId = 19 Set cmbCtrl = .Controls.Add(msoControlButton, 22, , , False) ' Paste cmbCtrl.Caption = "Paste..." cmbCtrl.FaceId = 22 Set cmbCtrl = .Controls.Add(msoControlButton, 210, , , False) 'Sort Ascending cmbCtrl.BeginGroup = True cmbCtrl.Caption = "فرز تصاعدي..." cmbCtrl.FaceId = 210 Set cmbCtrl = .Controls.Add(msoControlButton, 211, , , False) 'Sort Decending cmbCtrl.Caption = "فرز تنازلي..." cmbCtrl.FaceId = 211 End With Set cmb = Nothing End Function . وشرح الكود: احنا توسعنا في الكود الاساسي ، واضفنا له : 1. تسمية اختيارية غير الافتراضية ، لاحظ في الصورة اعلاه اني استعملت الانجليزي والعربي ، 3. وهو لعمل خط فاصل في الصورة بين مجموعة قطع/نسخ/لصق ومجموعة فرز تصاعدي/تنازلي ، . 2. ممكن ان نبدل الصورة الافتراضية التي تيجي مع الرقم ، بتبديل هذا الرقم (لاحظ صورة الاسهم للتصاعدي/التنازلي) : . ومرفق ارقام جميع الصور الموجودة في الاكسس : . . . . . . . . . . . في قاعدة البيانات المرفقة myRight_Click.mdb ، بالاضافة الى القوائم الثابته اعلاه ، تم اضافة هذه القائمة ايضا : . والتقرير يحتوي على القائمة المؤقته التالية : . - ملف الاكسل myList.xlsx ، اخترت فيه اهم القوائم في وجهة نظري ، - ملف الاكسل AccessControls_2010.xlsx ، من مايكروسوفت ، يحتوي على جميع الاوامر 🙂 جعفر المصادر: http://dev-soln.com/access-shortcut-right-click-tool/ https://www.experts-exchange.com/articles/12904/Understanding-and-using-CommandBars-Part-II-Creating-your-own.html https://filedb.experts-exchange.com/incoming/2014/02_w06/833359/CommandBars-II.mdb https://www.experts-exchange.com/articles/18341/CommandBars-Part-III-Using-Built-in-Shortcut-Menus.html http://www.skrol29.com/us/vtools.php AccessControls_2010.xlsx myList.xlsx myRight_Click.zip
    1 point
  4. جيد، توني أنتبه أن الأصفار تابعة للرمز. أنا لما قلت 5 لأني طرحت أول رقمين من اليسار من 7 أرقام المعتمدة حاليا. سأقوم بالتعديل.
    1 point
  5. أخي (Web Browser) عارض بيانات وليس مدخل بيانات فيمكنك هنا التحايل بعمل (List Box) بجواره وبتحصل مطلبك منه . تفضل محاولتي . Photo-1.rar
    1 point
  6. هو في كثير من الافكار في موضوع التقسيط .. خلي نبدي بداية اولية ببرنامجك .... انظر للمرفق..وانا قلت انها البداية ..لان ورانا نحسب المدفوع وممكن نظهر المتبقي في نموذج الموظفين بس انا عاوز افكارك ..لان انت صاحب البرنامج Payy.rar
    1 point
  7. جزاك الله خيرا 🌹 وبارك الله فيك 🌹
    1 point
  8. وعليكم السلام ورحمه الله وبركاته تفضل هذا كتاب Excel_2016__Power_Programming_with_VBA وهذا كتاب Excel_2019_Power_Programming_with_VBA الكتب باللغه الانجليزيه
    1 point
  9. السلام عليكم استاذ سامر.. لدي رأي ..ان تفصل نموذج اجور الموظفين عن السلف ..لان هذا النموذج فيه المعلومات الاساسية اما نموذج السلف فهو متغير حسب السلف والمدفوعات جدول السلف لايحتاج اسم الموظف..كود الموظف فقط...وتعمل جدول اخر للدفوعات تربطه بجدول السلف
    1 point
  10. عفوا استاذ @Ahmed_J لكن الرسالة تظهر عند كتابة اي صنف حتي لو غير مكرر والهدف من طلبي @Eng.Qassim هو انني اقوم بكتابة فواتير من اصناف كثيرة قد تصل الي 50 صنف ووارد ان اقوم بتكرار نفس الصنف عن طريق الخطأ لذلك اريد تنبيهي برسالة
    1 point
  11. جزاك الله خيرا استاذ موسى ..فعلا شغلة مزعجة ان تذهب للجدول او الاستعلام لتعرف اسم الحقل
    1 point
  12. عمل جميل وان لم احمله فقط شاهدت الفيديو بالنسبة للجداول هل يظهر العلاقات وحقول العلاقة ايضا بالنسبة للنماذج هل يظهر حقول الربط بين النموذج الفرعي والرئيسي الحقيقة دائما تبهرني بافكار خارج الصندوق 🌹
    1 point
  13. ليس لدى مااقوله لكم سوى ادام الله عليكم نعمة العلم وعافية الابدان وحفظكم الله من شرور الدنيا والاخرة امين هذا هو المطلوب
    1 point
  14. نفس الكود معدل حسب اظروف الراهنة Sub Trhile() Dim ws As Worksheet: Set ws = Sheets("البيانات") Dim sh As Worksheet: Set sh = Sheets("تجميع الغياب") Dim lr&, r&, col& lr = ws.Cells(Rows.Count, 2).End(xlUp).Row + 1 On Error Resume Next r = Range(Cells(7, 2), Cells(7, 2).End(xlDown)).Cells.Find(ws.Range("b2").Value, , , 1).Row On Error GoTo 0 lr = IIf(r = 0, lr, r) ws.Cells(lr, 2) = ws.Range("b2").Value ws.Cells(lr, ws.Range("A6:AG6").Cells.Find(Split(ws.[d2].Value, "/")(1), , -4163, 1).Column).Resize(, ws.[F2].Value) = ws.[C2].Value r = sh.Cells.Find(ws.[b2].Value, , , 1).Row col = sh.Cells.Find(ws.[C2].Value).Column sh.Cells(r, col).Value = ws.[d2].Value sh.Cells(r, col).Offset(, 1) = ws.[e2].Value sh.Cells(r, col).Offset(, 2) = ws.[F2].Value End Sub
    1 point
  15. إذن الوزن سنحصل عليه باستخدام المعادلة التالية: NetWt = Mid(BarCode, 8, 5) / 1000 ورمز الصنف: ItemCode = Left(BarCode, 7) وهذا جدول به المقارنات:
    1 point
  16. ما شاء الله تبارك الله اداة رائعه ومجهود جبار وهدية مقبوله اشكرك عليها واسئل الله الكريم رب العرش العظيم ان يجزيك عنا كل خير هل لى بطلب( طمع ^_^ ) هل يمكن اضافة مستوي اخر (خاص للنماذج ) بحيث تظهر لى الكائنات فى النماذج الفرعيه ؟ ( بمعني اولا يتم اختيار النموذج الرئيسي ثم اختيار النماذج الفرعيه مستوي وبعدها ممكن اضافة مستوي اخر اعمق للفرعي داخل الفرعي ههههههههههههههه ) خلينا فى المستوي الاول دلوقتي ^_^ الف شكر
    1 point
  17. للأسف انا صادني هذا اللعين وضيع تعب سنين من حوالي اربع سنوات وكان الحل وقتها الفورمات (واشتريت نود انتي فيروس الروسي ) وحرمت أغلقه مهما كانت الاسباب . أما الان صار حلول ...مادري . قبل ماتسوي فورمات يجب عليك الذهاب لمتخصص في هذا الشأن....لان ممكن يرجع لك الحاسوب بتاريخ ما قبل المشكلة .
    1 point
  18. جزاك الله خيرا اخي موسى عمل جميل ومتقن ، يسهل العمل ويساعد على تجنب الاخطاء عند اعادة كتابة العناصر كنت اعاني منه عند كتابة المعايير في الاستعلام حينما كنت اعمل على اصدار 2003 ولكن اكسس 2010 يجلبها لي داخل الاستعلام
    1 point
  19. السلام عليكم تم الرفع بعد التعديل وتحديث الرابط في المشاركه الاولي للتحميل من هنا
    1 point
  20. الصورة الظاهرة للباركود عبارة عن رقم الصنف 2140001002554 من اجل لو تعطل قارىء الباباركود يمكنك كتابة الرقم الظاهر ثم تنقر انتر ليظهر لك اسم الصنف بمعنى ان قارىء الباركود وظيفته يقرأ الرقم ويلصقه في الحقل ويعمل انتر اسم الصنف المدرج ليست التعبئة من القارىء وانما من الجدول او الاصح من عمود مربع التحرير اذا تريد جميع البيانات تظهر اعمل الآتي : 1- اضف البيانات الى جدول الاصناف 2- اضفها الى مصدر مربع التحرير 3- كرر الكود المسؤول عن اظهار اسم الصنف لكل حقل تريد ظهوره علما انه تبقى فقط السعر .. اما الكمية فمن عمل الكاشير يدخلها يدويا .. ويكون الافتراضي 1 لأنه هو الغالب
    1 point
  21. تفضل اخي ابو الحسن @abouelhassan هذا مثال لطيف من احد المواقع ولايحتاج لاستدعاء دوال API لكنه يحتاج الى تدريب قليلا لان يحتاج الى التعامل مع ال Tag لكل عنصر موجود في النموذج PDTech_FormResizer_code.rar
    1 point
  22. وعليكم السلام استاذي ومعلمي القدير @محمد حسن المحمد اسمح لي بالمشاركه من باب التنوع وزياده السائل بالمعرفه استاذ @مصطفى العراقي1988 يمكن استخدام المعادله =COUNTIF(A3:F3,"*ع") مسودة.xlsx
    1 point
  23. وعليكم السلام يمكنك استخدام هذه المعادلة =COUNTA(A2:F2)-COUNTBLANK(A2:F2) واسحب نزولاً تقبل تحياتي
    1 point
  24. آسف اخي انسيت رفع المثال المعدل تفضل Database13mar.rar
    1 point
  25. السلام عليكم و رحمة الله اخى الكريم قبل نسخ المعادلات التالية يجب عليك انشاء نطاق فى اى مكان يعجبك تكتب فيه اسماء الشيتات بصورة مطابقة تماما ثم تقوم بتحديد النطاق و تسميته MonNames يرجى تحويل البيفوت تيبل الى جدول عادى فى الورقة TOTAL و فى الخلية D3 اكتب المعادلة التالية ثم اسحب نزولا =SUMPRODUCT(SUMIF(INDIRECT("'"&MonNames&"'!B2:B101");B3;INDIRECT("'"&MonNames&"'!C2:C101"))) و فى الخلية E3 اكتب المعادلة التالية =SUMPRODUCT(SUMIF(INDIRECT("'"&MonNames&"'!B2:B101");B3;INDIRECT("'"&MonNames&"'!D2:D101"))) و فى الخلية F3 اكتب العادلة الاخيرة =SUMPRODUCT(SUMIF(INDIRECT("'"&MonNames&"'!B2:B101");B3;INDIRECT("'"&$H$2:$H$13&"'!E2:E101"))) هذا و الله اعلى و اعلم
    1 point
  26. وانا كمان اؤيد كلام الاستاذ/ ابو الحسن
    1 point
  27. اويد كلام اخي أبو الحسن اخي جمال يفضل بأن ترفق الملف
    1 point
  28. الجدول EnEx1 لو لاحظت فيه مفتاحين وعادة هذه المفاتيح ترفض التكرار .... لذلك عند الالحاق يرفض لتكرار هذين الحقلين طبعا ولا يتم الالحاق فقط حذفنا المفتاحين وحولناها حقول عادية ليقبل التكرار ...
    1 point
  29. اذا اردت تشفير قاعدة البيانات بتحويلها من Accdb الى Accde لابد من عمل قاعدتان امامية واخرى خلفية طبعا قاعدة البيانات الخلفية والخاصة بالجداول لابد ان تكون غير مشفرة اى Accdb اما الامامية ان اردت تشفيرها الى Accde لابد من عمل ذلك مرتين 1- على جهاز يحتوى على اوفيس 32 بيت 2- على جهاز يحتوى على اوفيس 64 بيت وتعطى للعميل مع قاعدة الجداول الخلفية القاعدتان الاماميتان والمشفرتان الـقاعـدة الامامية ذات النواة 32x المشفرة ذات الامتداد Accde والقاعدة الامامية ذات النواة 64x المشفرة ذات الامتداد Accde حتى يستخدم القاعدة الامامية التى تتوافق مع نواة الاوفيس لديه او اذا قام العميل فى احد الايام بتغيير الاوفيس بإصدار آخر ونواة مختلفة يعمل بالقاعدة الاخرى او اذا كان العميل يملك اكثر من جهاز وقد تختلف انوية اصدارات الاوفيس من جهاز لاخر
    1 point
  30. السلام عليكم اولا اعتذر عن التأخير فى الحضور والرد عليكم بسبب ظروف قهرية ولكن الحمد لله حتى لا اطيل عليكم معلش اقرأ الموضوع الاتى بعناية ختى تكون ملم بما دار بخصوص تلك المسألة وبالفعل انا رحعت الى هذا الموضوع مرة أخرى وبفضل الله تم الوصول للنتيجة المرجوة بدون استخدام الملف التنفيذى الذى بالفعل لاحظت خذخ المشكلة به وابشر ان شاء الله اقوم بالتعديل على مرفقكم فى القريب العاجل ان كان لى فى العمر بقية 😊
    1 point
  31. حديث لرسول الله -صلى الله عليه وسلم-، يقول: عن أبي هريرة -رضي الله عنه- أن رسول الله -صلى الله عليه وسلم- قال: إذا مات ابن آدم انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له، رواه مسلم راحل عنا امس العلامه القدير الاستاذ عماد الدين الحسامى وترك لنا علم ينتفع به حبيب اذكركم ببعض ما ترك لنا من اعمال وعلم ينتفع به أسال الله تعالى ان تكون جميع اعماله فى ميزان حسناته ممكن حضرتك تدخل على مكتبه الاستاذ عماد ونشوف اعماله من صفحته الشخصيه بالمنتدى الحسامى.zip الحسامى 2.zip شرح الفورم.zip نظام الحسامي للمخازن.zip واجهه كنترول للاستاذ الحسامي.zip شجرة الحسابات-عماد الحسامي.zip
    1 point
  32. أخويّ الكريمين حسام وعبد العزيز السلام عليكم ورحمة الله وبركاته أشكركما جزيلاً على إبدائكما إعجابكما بما أقول ...هذا من كرم أخلاقكما . لكنني يا أخويّ الكريمين بعد أن اطلعت على بعض أعمال أخينا الذي افتقدناه جسداً وبقية أعماله شاهدة على نبله وكرمه عماد الدين الحسامي أدعو الله أن يتغمده برحمته...تحسرت لأنني لم أكن أعرفه رأيت هندسة بارعة في التصميم ووقوفاً في صف المظلومين ..كأنه أدخل هندسة الديكور في قوالب تصميم(نظام الحسامي للمخازن) يا ليتني كنت في زمن مشاركاته ولو لفترة محدودة...كنت تشرفت بهذا العلم الذي طالته يد المنون ولا أقول إلا ما يرضي ربنا. لا حول ولا قوة إلا بالله العلي العظيم...إنا لله وإنا إليه راجعون ...والسلام عليكم.
    1 point
×
×
  • اضف...

Important Information