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

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

  1. Ali Mohamed Ali

    Ali Mohamed Ali

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


    • نقاط

      13

    • Posts

      11,630


  2. kha9009lid

    kha9009lid

    الخبراء


    • نقاط

      9

    • Posts

      1,347


  3. أبوبسمله

    أبوبسمله

    الخبراء


    • نقاط

      6

    • Posts

      3,254


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

    سليم حاصبيا

    أوفيسنا


    • نقاط

      5

    • Posts

      8,723


Popular Content

Showing content with the highest reputation on 06 ينا, 2020 in all areas

  1. اهلا بك بالمنتدى عليك فقط بالضغط على أيقونة إظهار الفورم أنا أعمل على اكسيل 2010 ولكن عليك بعمل ما تريد من زر او ايقونة وعليك بربطها بهذا الكود وذلك من خلال فتح مديول جديد ولصق هذا الكود به Sub Show() Application.Visible = False UserForm1.Show End Sub 1رصد.xlsm
    3 points
  2. السلام عليكم 🙂 هناك الكثير من الميزات/الاوامر التي يعطينا برنامج الاكسس ، والتي يمكن ان نعمل لها بديل ، ولكن يكون هناك فرق في سرعة تنفيذ كودنا مقارنة مع الكود الاصل من الاكسس !! مثل القائمة المختصرة التي تظهر لنا بالنقر على زر الفأرة الايمن ، والتي بها يمكننا ان نستغني عن الكثير الاوامر ، مثل الفرز والتصفية بأنواعه ، ولكن وللأسف الشديد ، فأنا ارى ان 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
    2 points
  3. بسم الله الرحمان الرحيم و الصلاة و السلام على أشرف المرسلين أما بعد: سوف نقوم اليوم إن شاء الله بشرح أداة WebBrowser وأهم ما يتعلق بها من أوامر و أحداث و خصائص و إدخال و إخراج. و سوف يتم تقسيم هذا العمل إلى مجموعة حلقات نبدأ من الصفر حتى آخر نقطة نستطيع الوصول إليها إن شاء الله مع وضع مثال تطبيقي لكل حلقة. مقدمة: WebBrowser هي أداة تعمل عمل أي متصفح و هي مقترنة المتصفح الشهير Internet Explorer فهي تساعدك في تصفح المواقع من ناحية و التحكم في أكواد HTML وكل ما يرتبط بها من إدخال و استخراج بيانات من ناحية أخرى. ملاحظة: لتشغيل هذه الأداة بشكل جيد يجب تحديث المتصفح الشهير Internet Explorer إلى الإصدار 10 أو 11. مع العلم أن ونداوز 10 به الإصدار 11 الحلقة الأولى: أكواد التصفح سوف نتطرق في هذه الحلقة إلى الأكواد التي تمكننا من التصفح و التنقل داخل الأداة. 1- كود فتح صفحة موقع: WebBrowser3 هو اسم الأداة داخل النموذج Me.WebBrowser3.Navigate ("رابط الصفحة كامل") 2- كود فتح صفحة فارغة: Me.WebBrowser3.Navigate ("about:blank") 3- كود الرجوع للصفحة السابقة: Me.WebBrowser3.GoBack 4- كود الإنتقال للصفحة التالية: Me.WebBrowser3.GoForward 5- كود إعادة تحميل الصفحة: Me.WebBrowser3.Refresh 6- كود إيقاف تحميل الصفحة: Me.WebBrowser3.Stop 7- كود إستخراج رابط الصفحة الحالية: MsgBox Me.WebBrowser3.Document.url و هذا مثال لما تم ذكره في هذه الحلقة webbroser.rar
    2 points
  4. السلام عليكم كما تفضل الاخ ابو اشرف الملف شغال تمت التجربة على اوفيس 2010
    2 points
  5. السلام عليكم اخي الكريم تقضل هذا طلبك. لكن هناك طرق احسن من هذه الطريقة . البحث.rar
    2 points
  6. مع اني افضل هذا الكود لأنه لا ضرورة للضغط على OK في كل مرة تظهر رسالة التنبيه Private Sub CommandButton1_Click() Dim Final_row As Long, k% Final_row = Cells(Rows.Count, 1).End(3).row + 1 For k = 1 To 5 Cells(Final_row, 1).Offset(, k - 1) = Me.Controls("TextBox" & k) Next On Error GoTo EXIT_ME Cells(Final_row, 1) = CInt(Cells(Final_row, 1)) colorize_me For k = 1 To 5 Me.Controls("TextBox" & k) = vbNullString Next Exit Sub EXIT_ME: MsgBox "YOU MUST ENTER A NUMBER>0" Cells(Final_row, 1).Resize(, 5).ClearContents For k = 1 To 5 Me.Controls("TextBox" & k) = vbNullString Next End Sub '++++++++++++++++++++++++++++++++++++++ Sub colorize_me() Dim laste_row As Long, I As Long laste_row = Cells(Rows.Count, 1).End(3).row Range("A8").Resize(laste_row - 7, 7).Interior.ColorIndex = xlNon myvalu = "=SUMPRODUCT(--(A8" & "&" & """*""" & "&" & _ "B8=$A$8:A" & 8 & "&" & """*""" & "&" & "B$8:B" & 8 & "))" Range("MM8").Resize(laste_row - 7).Formula = myvalu Range("g8").Resize(laste_row - 7).ClearContents For I = 8 To laste_row If Range("MM" & I) > 1 Then Range("A" & I).Resize(, 5).Interior.ColorIndex = 6 Range("A" & I).Offset(, 6) = "Duplicate: " & _ Range("MM" & I) - 1 & IIf(Range("MM" & I) = 2, "Time", "Times") Range("A" & I).Offset(, 6).Interior.ColorIndex = 3 End If Next Range("MM8").Resize(laste_row - 7).Clear End Sub الملف SALIM_code_UPDATED(1).xlsm
    2 points
  7. شكرا جزيلا أخانا الأستاذ @jjafferr و النتائج صحيحة لكن الطرق مختلفة سأشرح - لمن يريد - خطوات أخرى أوصلتنى للناتج و سأرفق ملفا إن شاء الله أولا : نصمم استعلاما للحصول على أعلى تاريخ ( الأحدث) من الجدول t1 باسم مستعار ss و هو استعلام 2 و ذلك باستخدام top1 و نرتب حسب حقل التاريخ taqfrom تنازليا ليكون أحدث تاريخ بالأعلى . و نحصل على جملة sql التالية SELECT TOP 1 ss.taqFrom FROM t1 AS ss ORDER BY ss.taqFrom DESC; ثانيا نأخذ جملة ال sql السابقة و نضعها كمعيار فى حقل taqfrom للاستعلام الجديد و هو استعلام 1 و هنا نرتب جملة sql كالتالى SELECT t1.taqemp, t1.taqFrom, t1.taqTo, t1.taq_deg FROM t1 WHERE (((t1.taqFrom) In (SELECT TOP 1 ss.taqFrom FROM t1 AS ss where ss.taqemp = t1.taqemp and ss.taqfrom <> (SELECT TOP 1 ss.taqFrom FROM t1 AS ss where ss.taqemp = t1.taqemp ORDER BY ss.taqFrom DESC) ORDER BY ss.taqFrom DESC; ))); الشرح قدر الإمكان SELECT t1.taqemp, t1.taqFrom, t1.taqTo, t1.taq_deg FROM t1 أدرج الحقول السابقة فى الاستعلام بصورة عادية من جدول ف1 و من بينها طبعا حقل taqfrom الخاص بتاريخ بداية تقرير الموظف ( التقرير هو تقرير الكفاءة السنوى للموظف يؤخذ كل عام من 1 سبتمبر حتى 31 أغسطس ) WHERE (((t1.taqFrom) In بشرط أن تكون قيمة حقل التاريخ ضمن مايلى : (SELECT TOP 1 ss.taqFrom FROM t1 AS ss و هو جملة sql الخاصة باستعلام 2 و التى استخرجنا بها أعلى قيمة للتاريخ كما سبق where ss.taqemp = t1.taqemp and ss.taqfrom <> بشرطين هامين الأول تساوى حقل رقم الموظف الثانى أن يكون حقل التاريخ لا يساوى ما يلى (SELECT TOP 1 ss.taqFrom FROM t1 AS ss where ss.taqemp = t1.taqemp استعلام فرعى آخر وهنا تحتاج مثلى لقدرة عظيمة على التخيل للاستعلامات الفرعية المركبة يعنى ( حقل التاريخ يكون مثل أعلى قيمة التى بدورها لا تساوى ؟أعلى قيمة ..) و ORDER BY ss.taqFrom DESC) ORDER BY ss.taqFrom DESC; الترتيب تنازليا مرتين مرة لكل استعلام فرعى لاحظ النتيجة التاريخ الثانى لكل موظف ثم سجل واحد لكل موظف هو الثانى هذا هو الملف أرجو أن أكون وفقت فى الشرح و أن يكون فيه النفع لمن يريد و شكرا مرة أخرى لمساعدة الأخ @jjafferr sample2.accdb نسيت هذه الجزئية و هى هامة لربط الاستعلام الفرعى بالرئيسى
    2 points
  8. اذا كان المطلوب فقط للشهر الحالي ولا نحتاج للاشهر السابقة ممكن عملها بطريقة اسهل DSum(" [Total]";"Invoices";"year([Date of invoice])=" & Year(Date()) & "And Month([Date of invoice])=" & Month(Date())) انظر للمرفق Database78.accdb
    2 points
  9. وعليكم السلام فى حقل المعيار للحقل اكتب التعبير التالى <>"هذا الاسم" وان شاء الله يتم تنفيذ طلبك والله اعلى واعلم بالتوفيق اخى
    2 points
  10. عند استخدام معيار الشهر للحصول على اجمالي المبيعات او المشتريات لشهر محدد وكان لدينا سجلات تتوافق مع رقم الشهر لسنوات ماضية فانه سوف تواجهنا مشكلة جمع المبيعات لكافة الاشهر التي تتوافق مع المعيار المحدد مثلا مبيعات شهر 1/2018 و1/2019 و 1/2020 وهكذا لذالك يتطلب منا اضافة لرقم الشهر ان نستخدم معيار السنة بجانب الشهر وممكن عمل ذلك بعدة طرق ومن اسهل الطرق وايسرها ان نعمل حقلين في الاستعلام الاول لرقم الشهر من تاريخ الفاتورة والاخر للسنة وايضا من تاريخ الفاتورة Month([Date of invoice]) لرقم الشهر Year([Date of invoice]) للسنة وللحصول على مبلغ المبيعات نستخدم دالة DSum Format(Nz(DSum(" [Total]";"Invoices";"year([Date of invoice])=" & [y] & "And Month([Date of invoice])=" & [m]);0);"عملة") ومرفق مثال بسيط تم عملة على عجالة وللتسهيل على المتلقي تم عمل فصل الاشهر والسنوات في استعلام والنتيجة النهائية في استعلام ثاني Database74.accdb
    2 points
  11. 1 point
  12. مع الاحاطة انك تستخدم تسميات بشكل غير صحيح مثل تاريخ الفاتورة لديك باسم date وهذا خطأ
    1 point
  13. مرحبا توجد اكثر من طريقة للحصول على النتيجة ولسهولة ايصال المعلومة نتبع دائما الطريقة الاسهل اولا نقوم بعمل مربعي نص غير منظمة في التقرير في المربع الاول نضع التعبير التالي =DSum("[debit]";"daily";"[date]<" & DateFormat([Date])) في المربع الثاني نضع التعبير التالي DSum("[credit]";"daily";"[date]<" & DateFormat([Date])) جرب المرفق New Microsoft Access Database.accdb
    1 point
  14. السلام عليكم انا عملت نموذج اكسس لادخال بيانات في الجدول و يعمل في جهازي ممتاز جدا لكن بمجرد نقله لجهاز آخر عند اختيار المدينة يظهر لي رساله منبثقة بعنوان ادخال قيمة معلمة الملف على الرابط التالي https://drive.google.com/file/d/1OTb5LAAPhyHBNVAgfVkgSzw-jsYSCyp-/view?usp=sharing شكرا
    1 point
  15. قد يكون الكمبيوتر الآخر فيه تحديث وندوز مال الفترة الماضية : جعفر
    1 point
  16. اشكركم احبتي المشرفين ولا داعي لتعبكم معي لأنني وجدت الحل اشكركم مرة أخرى
    1 point
  17. تفضل لك اكثر مما طلبت نظاما - 1.xlsm
    1 point
  18. لا افهم المقصو د من انشاء عدة ملفات ضع في ورقة رئيسية كل الاسماء من كل الصفوف ثم قم بانشاء عدد من الشيتات حسب الصفوف في نفس الملف و يتم ترحيل كل صف الى ورقته الخاصة
    1 point
  19. في هذه المشاركة سوف نتعرف على دالة الجمع الشرطي بشرط SUMIF Function SumIF.xlsx
    1 point
  20. أحسنت وبارك الله فيك وزادك الله من فضله
    1 point
  21. جزاك الله خيرا أخى خالد الشكر لله اخى نصرالدين ثم لاخواننا واساتذتنا جزاهم الله عنا كل خير تقبلوا تحياتى وتمنياتى لكم وللجميع بالتوفيق
    1 point
  22. عندي شغال 100% ما طلع رسائل خطأ على كل اعمل ضغط واصلاح للبرنامج
    1 point
  23. الشكر لله سبحانه
    1 point
  24. شكرا اخوي عبدالفتاح على مشاركتك 🙂 وكلما ابتعدت عن استعلام المجاميع ، كلما كان استعلامك اسرع 🙂 جعفر
    1 point
  25. أ.AhmedEmam جرب المرفق عسى أن يكون المطلوب بالتوفيق Increase TextBox.accdb
    1 point
  26. تفضل استاذ خليل فللتعلم لابد من مشاهدة فيديوهات كثيرة على اليوتيوب خاصة بالماكرو وهذه الموضوعات اصل التقارير والاسماء عدد الاوجه2.xlsm اصل التقارير والاسماء عدد الآيات.xlsm
    1 point
  27. جرب هذا الكود Option Explicit Sub find_medicament() Dim Rep As Worksheet Dim sh As Worksheet Dim Med_Name$ Dim r, m%: m = 6 Set Rep = Sheets("Repport") Rep.Range("a6:H25").ClearContents If Rep.Range("H5") = vbNullString Then Exit Sub Med_Name = Rep.Range("H5") For Each sh In Sheets If sh.Name <> Rep.Name Then If sh.Range("B:B").Find(Med_Name, lookat:=1) Is Nothing Then GoTo next_sh r = sh.Range("B:B").Find(Med_Name, lookat:=1).Row With Rep .Cells(m, 1) = sh.Name .Cells(m, 2) = sh.Range("A4") .Cells(m, 3) = sh.Range("D4") .Cells(m, 4) = sh.Range("F" & r) .Cells(m, 6) = sh.Range("G" & r) m = m + 1 End With End If next_sh: Next End Sub '+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= Sub fil_dataval() Dim Rep As Worksheet Dim sh As Worksheet, my_rg As Range Dim dic As Object Dim i%: i = 6 Set Rep = Sheets("Repport") Set dic = CreateObject("Scripting.dictionary") For Each sh In Sheets i = 6 If sh.Name <> Rep.Name Then Do Until sh.Range("b" & i) = vbNullString dic(sh.Range("b" & i).Value) = "" i = i + 1 Loop End If Next With Rep.Range("H5").Validation .Delete .Add 3, Formula1:=Join(dic.keys, ",") End With End Sub الملف مرفق Hospital_sal.xlsm
    1 point
  28. شكرا على الرد اخي احمد المثال جميل لكن اريد ان اظهار مبيعات للشهر الحالي فقط هل يمكنك اضافة في معيار استعلام ادا امكن
    1 point
  29. وعليكم السلام ورحمة الله وبركاته لا يتم هذا الا عن طريق استعلام او Sql والاستعلام ابسط بالنشبة لك ملاحظة : جدول Data2 ضع حقل ID رقم وليس ترقيم تلقائي وذلك حتى يتم الحاق حقل ID من جدول Data به انظر المرفق Database1_3.rar تحياتي
    1 point
  30. استاذة @علياء يسرالدين شوفي الصورة واعملي مثلها الصورة الاولى لتلوين الزر والثاني للخط
    1 point
  31. جاري العمل على ماطلبت
    1 point
  32. اخى الفاضل اكتب Me.Refresh Private Sub barcode_AfterUpdate() DoCmd.SetWarnings False Dim x1 x1 = Nz(DLookup("barcode", "tabl1", "[barcode] = " & Me.barcode), 0) Me.Refresh If x1 = 0 Then MsgBox "åÐÇ ÇáÕäÝ ÛíÑ ãÓÌá", vbMsgBoxRight + vbCritical, "ÊäÈíå" DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdDeleteRecord Exit Sub End If DoCmd.SetWarnings True End Sub بالتوفيق
    1 point
  33. جرب هذا ربما يفي الغرض اعمال سنة بالحروف تربية اعدادى رياضية.xlsx
    1 point
  34. وعليكم السلام اتفضل اخى تم التعديل وهو جعل الكمبو غير منضم بالتوفيق اخى ان شاء الله 11.rar
    1 point
  35. هي خطوة بسيطة تعملها مرة واحدة لكل تقرير اذا كان ورق عادي بعد فتح التقرير في وضع المعاينة قبل الطباعة انقر يمين بزر الماوس وفي اعداد الصفحة ازل العلامة من طباعة البيانات فقط وسوف يتم اعتبارها الوضع الافتراضي لهذا التقرير والعكس صحيح الامر الاهم ان يكون تنسيق الورق المخصص بنفس تنسيق وحجم التقرير
    1 point
  36. فى فالخصائص لون الخلفيه test1(1).accdb
    1 point
  37. وعليكم السلام-اهلا بك فى المنتدى كيف تقول هذا فكل هذه برامج من المنتدى بدون كلمة مرور شوف بنفسك برنامج_مخازن_جديد.xlsm برنامج مخازن شامل .xlsm
    1 point
  38. لا أعلم اذا كان هذا المطلوب Leave_book.xlsx
    1 point
  39. فقط عليك للصق اى كود بملف معين عليك بالضغط عل Alt +F11 ثم فتح مديول جديد ولصق هذا الكود به او عليك برفع الملف الأصلى لك لمشاهدة المشكلة التى تحدث معك عن قرب
    1 point
  40. بارك الله فيك استاذ صالح وزادك الله من فضله ,مجهود موفق وشرح وافى جزاك الله خير الثواب
    1 point
  41. أحسنت استاذ مجدى بارك الله فيك وزادك الله من فضله
    1 point
  42. وعليكم السلام تم عمل المطلوب برقم السيارة عباد الرحمن 12020.xlsm
    1 point
  43. اهلا بك فى المنتدى-تفضل تم عمل المطلوب بهذا الكود Sub ØÈÇÚÉ1() Sheets("استمارة متابعة").Activate Range("H2").Activate [H2] = 1 ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Do ActiveCell = ActiveCell + 1 ActiveWindow.SelectedSheets.PrintOut Loop While ActiveCell.Value <= Range("x2").Value Range("H2").Activate [H2] = 1 End Sub طباعة كل الأسماء.xlsm
    1 point
  44. السلام عليكم أستاذ جعفر موضوع في قمة الروعة ملاحظة صغيرة في الكود الموضوع بالأعلى : هناك بعض المتغيرات غير مصرح بها مع أنها موجودة في المرفق لكن من يريد تطبيق الكود بشكل مباشر من المشاركة سوف يظهر له خطأ. Public Const msoBarPopup = 5 Public Const msoControlButton = 1 Public Const msoControlEdit = 2 Public Const msoControlComboBox = 4 Public Const msoButtonUp = 0 Public Const msoButtonDown = -1 أخيرا لي الشرف العظيم أن أقوم بتثبيت هذا الموضوع
    1 point
  45. السلام عليكم اخي العزيز الحسن لم اجد سوى هذه الطريقة حول اخفاء واظهار حقل تجميع قيمة الدفع وهي تعمل 100 % تحياتي DBdb.rar
    1 point
  46. السبب الذي قلت ان جدولك ليس صحيحا لقاعدة البيانات ، هو انك يجب ان تضيف حقل جديد كل شهر ، فالطريقة الصحيحة لعمل الجداول هو اضافة سجلات وليس اضافة حقول وهناك مثل مشهور في قواعد البيانات يقول : الحقول غالية والسجلات رخيصة اما اذا تريد تمشي حالك الان بالجدول الموجود ، ومجرد تريد ان تجمع قيم جميع الحقول ، اعمل استعلام فيه جميع الاسماء ، وننادي منه الدالة Add_Salaries والتي عملناها في الوحدة النمطية ، ونرسل معها اسم الشخص: . وهذا كود الدالة Add_Salaries: Function Add_Salaries(F As String) As Double 'F = Full Name Dim rst As DAO.Recordset Dim fld As Field 'get this Name Record from the table Set rst = CurrentDb.OpenRecordset("Select * From [salary2015+2014] Where Full_Name='" & F & "'") T = 0 'initial Total 'loop through the fields For Each fld In rst.Fields 'Debug.Print fld.Name & vbTab & fld.Value 'skip the Full_Name field name If fld.Name <> "Full_Name" Then 'add the field values T = T + fld.Value End If Next fld 'now send this Total to the query Add_Salaries = T End Function . حيث اننا في الدالة نطلب سجل الشخص من الجدول salary2015+2014 ، ثم نقول بقراءة الحقول وجمعها ، زنرسل النتيجة الى الاستعلام ، فتصبح نتيجة الاستعلام: . جعفر 262.salary2015+2014.accdb.zip
    1 point
  47. نفس الشيء ضع فى المعيار الخاص بحقل التاريخ فى مصدر بيانات التقرير Between [Forms]![FormName]![DateFrom] And [Forms]![FormName]![DateTo] حيث DateFrom و DateTo هي أسماء مربعات النص التي تحوي التاريخ مرفق مثال أعتقد أنه للاخ ابن مسقط Date_from_to.rar
    1 point
×
×
  • اضف...

Important Information