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

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

  1. kanory

    kanory

    الخبراء


    • نقاط

      17

    • Posts

      2350


  2. أبوبسمله

    أبوبسمله

    الخبراء


    • نقاط

      12

    • Posts

      3463


  3. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      12

    • Posts

      10000


  4. kha9009lid

    kha9009lid

    الخبراء


    • نقاط

      9

    • Posts

      1347


Popular Content

Showing content with the highest reputation on 05/19/21 in all areas

  1. Dim x As Integer x = DCount("*", "tbl_2") If x > 30 Then MsgBox "عدد السجلات اكبر من 30", , "تحذير" End If او If Me.RecordsetClone.recordcount > 30 Then MsgBox "عدد السجلات اكبر من 30", , "تحذير" Else End If اختر اي من الطريقتين سبقتي استاذ احمد 🌹
    3 points
  2. وعليكم السلام اخى ازهر اتفضل جرب الكود التالى Private Sub Form_Current() If Me.RecordsetClone.RecordCount >= 30 Then MsgBox "ضع رسالتك كما تريد " End Sub بالتوفيق
    3 points
  3. ان شاء الله ما تحتاج مو عشان تغلبني ... لا .لا .... لان احتياجك يعني وقعت في مشكلة ..... والله يكفينا شر المشاكل ......
    3 points
  4. هذا البرنامج جيد في اصلاح بعض البرامج واسترجاع مايمكن استرجاعه
    3 points
  5. السلام عليكم ورحمة الله اليك الملف بعد اضافة بعض البيانات لعام 2022 للتجربة Sub GteData() Dim ws As Worksheet, Sh As Worksheet Dim Arr(), Temp() Dim y As Integer, m As Integer Dim yy As Integer, mm As Integer Dim i As Long, j As Long, p As Long Set ws = Sheets("تقرير السنين") Set Sh = Sheets("محمود") ws.Range("A9:E" & ws.Range("B" & Rows.Count).End(3).Row).ClearContents m = Month("01/" & ws.Range("A3").Value) y = ws.Range("B3").Value Arr = Sh.Range("A9:E" & Sh.Range("B" & Rows.Count).End(3).Row).Value ReDim Temp(1 To UBound(Arr, 1), 1 To UBound(Arr, 2)) For i = 1 To UBound(Arr, 1) yy = Year(Arr(i, 2)) mm = Month(Arr(i, 2)) If yy = y And mm = m Then p = p + 1 For j = 1 To UBound(Arr, 2) Temp(p, j) = Arr(i, j) Next End If Next If p > 0 Then ws.Range("A9").Resize(p, UBound(Temp, 2)).Value = Temp End Sub Naser.xlsm
    3 points
  6. هذه صورة من برنامجي ، اكسس 2010 ، والمكتبة اصبحت Miscrosoft Access xx Object Library : . وانا لا احب ان استعمل المكتبة ، لأنها لها علاقة بنسخة الاكسس ، واختيار المكتبة تسمى بـالربط المسبق Early Binding (مع ان هذه الطريقة اسرع ، ويساعدك الاكسس في اعطائك المتغيرات المتوفرة للأمر عند عمل: مسافة او نقطة او فتح قوس)، فإذا تمت البرمجة على النسخة الاقدم ، وتم استعمال البرنامج على النسخة الاحدث ، فيقوم البرنامج تلقائيا بتغيير المكتبة للأحدث ، واما اذا تمت البرمجة على النسخة الاحدث ، وتم استعمال البرنامج على النسخة الاقدم ، فلن يعمل البرنامج ، وسيعطيك خطأ !! ولتفادي هذه المشكلة ، فيمكننا عمل ربط متأخر Late Binding بتعريف المتغير بـ Object ، هكذا : Dim FileDialog As Object With Application.FileDialog(3) .Title = "Choose File" .Filters.Clear .Filters.Add "Pic Files", "*.jpg ; *.bmp" .AllowMultiSelect = False .InitialFileName = "" If .Show = -1 Then Open_a_File = .SelectedItems(1) End If End With جعفر
    3 points
  7. وعليكم السلام ورحمة الله وبركاته للاسف اخي ملفك ضارب ...... حاول العودة لنسخة احتياطية لديك .... معوض خير ..... انظر نتيجة فحص ملفك ... واضح من الصورة أن اللون الاصفر يدل على فقدانها
    3 points
  8. اللهم آمين والشكر لله ثم لاخوانى واساتذتى جزاهم الله عنا كل خير بالتوفيق اخى ازهر اعذرونى رصيد الاعجاب عندى خلصان مش عارف اعمل اعجابات خالص
    2 points
  9. Dim x As Integer x = DCount("*", "tbl_img") If x > 30 Then If MsgBox("عدد السجلات اكثر من 30", vbYesNo, "تنبيه") = vbYes Then DoCmd.OpenForm "frm_1" Else DoCmd.CancelEvent End If End If
    2 points
  10. أحسنت استاذ سليم عمل ممتاز الكود يعمل بكل كفاءة ولا يوجد به اى مشكلة بالفعل وتم تجربته علي الهتاري كما أخبرك استاذنا الكبير سليم حاصبيا فالملف يعمل بكل كفاءة فإن كان هناك مشكلة لديك فمن عندك فربما تكون بالفعل نسخة الأوفيس عندك أقدم من 2010 كما اخبرك استاذنا الكريم فعليك بتحديث الأوفيس لديك وشكرا ... عليك وضع هذه المعادلة بداية من الخلية C2 سحباً للأسفل =LEN(B2)-LEN(SUBSTITUTE(B2,",",""))+1 Hitari.xlsm
    2 points
  11. طريقتك هذه تنفع في حال عدد السجلات قليل وفي حال زيادة العدد ممكن يهنق البرنامج بالاضافة للوقت ... عموما كل الدروب تؤدي الى عكا ...
    2 points
  12. في شيء في الحياة اسمه تجربة/تجارب ، في كثير من الاوقات تكون باهضة الثمن ، مو مبالغ فقط جعفر
    2 points
  13. اللهم آمين أجمعين ان شاء الله تسلم اخى و استاذى العزيز 💐
    2 points
  14. امين يارب ..... دائما وابداااااااااااااااا احفظ نسخ لبرامجك واياك استاذي الغالي احمد .... للاسف ليس مجاني .....
    2 points
  15. اذا كان ما فهمته صحيحاً هذا الكود (فقط اضغط الزر Run) Option Explicit Sub Creezy_sort() Dim CoL As Object Dim Lr%, i%, x% Dim arr Dim Ws As Worksheet Set Ws = Sheets("EN") With Ws .Range("E1").CurrentRegion.Offset(1).ClearContents Set CoL = CreateObject("System.Collections.sortedlist") Lr = .Cells(Rows.Count, 1).End(3).Row For i = 2 To Lr CoL.Add Len(.Cells(i, 1)) + i / 1000, .Cells(i, 1) & _ "*" & .Cells(i, 2) Next i x = 2 For i = 0 To CoL.Count - 1 .Cells(x, "E") = Split(CoL.GetByIndex(i), "*")(0) .Cells(x, "F") = Split(CoL.GetByIndex(i), "*")(1) arr = Split(Split(CoL.GetByIndex(i), "*")(1), ",") .Cells(x, "G") = UBound(arr) + 1 x = x + 1 Next End With Set Ws = Nothing: Set CoL = Nothing End Sub الملف مرفق Hitari.xlsm
    2 points
  16. اتفضل جرب New Microsoft Access Database (1).zip
    2 points
  17. استاذي الفاضل والعزيز / @ابا جودى استاذى الفاضل / شوف كده Test.accdb
    2 points
  18. السلام عليكم ورحمة الله استخدم هذه المعادلة =IF($J$3="";"";SUMIF('كشف حساب العملاء'!$C$4:$C$344;$J$3;'كشف حساب العملاء'!$E$4:$E$344)-SUMIF('كشف حساب العملاء'!$C$4:$C$344; $J$3;'كشف حساب العملاء'!G4:G344))
    2 points
  19. شكرا جزيلا على الشرح 🙂 في الواقع هذه من الاخطاء الشائعة في المنتدى ، حيث يرفق العضو جزئية معينه وفيها المشكله ، ويحصل على حل من الاعضاء ، ولما يجرب الحل على برنامجه الاصل ، تحصل له مشاكل مثل تفضلت انت وشرحت 🙂 جعفر
    2 points
  20. أحسنت استاذ محمد بارك الله فيك عمل رائع جعله الله فى ميزان حسناتك ولكن من الأفضل طبعاً جعل البرنامج يعمل على النواتين سواء 32 أو 64 بت معاً فالبرنامج يعمل فقط على النواة 32 بت ... ولكم جزيل الشكر
    2 points
  21. ممكن مرفق يمكن افهم معلش فهمى على اد حالى ومش قادر افهمك
    2 points
  22. نتاج التعلم والاستفادة من اساتذة المنتدى الافاضل ( جامعة أوفيسنا ) والذين يستحقون مقاعد التدريس بأكبر الجامعات يسعدني إصدار تحديث لبرنامج مكافأة امتحانات النقل طبقا لآخر تعليمات صدرت من الوزارة للمديريات ويتميز هذا الإصدار إمكانية ادخال البيانات يدويا باللصق والقوائم المنسدلة أو عن طريق شاشة ادخال البرنامج بإمكانية التعديل في المستقطعات ونسب خصمها وذلك في صفحة نسب المستقطع أو ايقاف خصمها بوضع رقم (0) في خانة النسبة وكذلك يقوم البرنامج بحساب عدد الايام المستحقة للمحالين للمعاشات أو الوفاة بادخال تاريخ انتهاء الخدمة بعد تحديد ذلك من خلال قائمة منسدلة تحوى (قانون 155 ـ قانون 81 ـ معاشات ) حساب المكافاة لحظة ادخال بيانات الموظف ويمكن الاستعلام عن اى اسم من خلال صفحة الاستعلام مخرجات البرنامج كشوف مكافأة الموظفين ـ كشف اجمالى ـ مرايا التجمي ـ مسيرات المستقطع بالنسبة لخصم مستشفى المعلمين المطبق بمحافظة المنيا فقط يمكن ايقاف خصمه في باقى المحافظات عن طريق اختيار (لا تخصم ) من القائمة المنسدلة سواء كان الادخال يدويا أو بشاشة الادخال وكذلك يمكن عن طريق وضع (0) في صفحة نسب المستقطع أمام خصم المستشفى أسم المستخدم محمد فتحى كلمة المرور 1970 وكلمة محرر الاكواد 6101970 أرجو مراجعة البرنامج من اساتذتى الافاضل والعاملين بالتربية والتعليم بمصر 1578014707_2021.xlsb
    1 point
  23. تسلم اخى ومعلمى العزيز تنويه بسيط :- ان شاء الله تكتب ان شاء الله وليس انشاء الله والله اعلى واعلم ولعلها من سرعه الكتابه احبكم فالله
    1 point
  24. جعلكم الله واياي من الذين يسارعون في الخيرات جزيل الشكر
    1 point
  25. والاجمل منه اخي جعفر قوله سبحانه و تعالي : " قُلْ لا أَمْلِكُ لِنَفْسِي نَفْعًا وَلا ضَرًّا إِلا مَا شَاءَ اللَّهُ وَلَوْ كُنْتُ أَعْلَمُ الْغَيْبَ لاسْتَكْثَرْتُ مِنَ الْخَيْرِ وَمَا مَسَّنِيَ السُّوءُ ِ " صدق الله العظيم
    1 point
  26. رحم الله الجواهري تَجري على رَسْلِها الدنيا ويَتْبَعُها رأْيٌ بتعليـلِ مَجْراهـا ومُعْتَقَـدُ أَعْيَا الفلاسفةَ الأحرارَ جَهْلُهمُ ماذا يُخَبِّـي لهم في دَفَّتَيْـهِ غَـدُ طالَ التَّمَحُّلُ واعتاصتْ حُلولُهمُ ولا تَزالُ على ما كانتِ العُقَـدُ
    1 point
  27. جزاك الله خيرا اخى ومعلمنا العزيز جعفر بارك الله لنا فيكم وجزاكم الله عنا كل خير 💐 اخوكم الصغير احمد
    1 point
  28. السلام عليكم 🙂 اما انا فاستخدم البرنامج المجاني: وهذا ما تم اصلاحه: جعفر
    1 point
  29. جزاك الله خيرا 💐 استاذى العزيز هل هو مجانى ام لا ولو امكن وصله لتحميله
    1 point
  30. الاستاذ ومعلمى الفاضل ومروض اكسس @ابا جودى تلميذك النجيب الى ان اموت تلميذك
    1 point
  31. أهلين أخي هناك بعض التعديلات في طريقة الإعلان عن الفانكش بين 64 و 32 ابحث في المنتدى سوف تجد هذه الطريقة
    1 point
  32. Ali Mohamed Ali أستاذنا الفاضل كلمات حضرتك وسام لى وسوف أقوم بالتعديل الذى لفت نظرى إليه بارك الله فى حضرتك وشكرا لملاحظتك المهمة
    1 point
  33. شكرا استاذي علي هذا المجهود الرائع تم عمل اللازم بالظبط شكرا جدا
    1 point
  34. السلام عليكم ورحمة الله وبركاته بسم الله الرحمن الرحيم جزاكم الله خيرا وزادكم الله علما وجعل كل ايامكم رضا وكل عام وحضرتك وكل احبابك والمسلمين فى خير ورضا والسلام عليكم ورحمة الله وبركاته
    1 point
  35. ' Requires reference to Microsoft Office xx Object Library xx=Version No OF Access وهذا مثال على التنفيذ FileDialog.accdb
    1 point
  36. الحمدلله 🙂 بس يا ريت تخبرنا وين كانت المشكلة ، او كيف تم حلها ؟ احنا كذلك نريد ان نستفيد من اخطائنا 🙂 جعفر
    1 point
  37. 1 point
  38. بسم الله ما شاء الله فكرة الكود ولا اروع استاذى الجليل ومعلمى القدير دكتور @د.كاف يار ولكن للاسف مع عدد السجلات المهول داخل الجدول لا يستطيع التعامل باجراءات العمليات داخل الكود ويتوقف التطبيق وهنا خصيصا أتذكر قولة والدى الحبيب ومعلمى القدير واستاذى الجليل الاستاذ @jjafferr الاستعلامات داخل الاكسس قوية جدا ويجب ان نهتم فى القاعدة على بناء الاستعلامات الصحيحة ونحاول قدر الإمكان التعامل معها وبها بدلا من الاكواد فهى أقوى او هى بناء قوى تسطيع معالجة البيانات من خلالها ان امكن
    1 point
  39. بعد اذن اساتذتى العظماء ومشاركة للحصول على نتيجة الطباعة pdf 1372.حفظpdf.accdb
    1 point
  40. اخي قم بتغيير اللغة للإعدادات الاقليمية كما في الصورة ادناه و النتجية
    1 point
  41. ابحث عن هذا With imsg With imsg .to = StudentEmaile .from = DLookup("settingsUsername", "settings", "settingNO=1") .Subject = "ÔåÇÏÉ" .HTMLBody = Mymsg .AddAttachment (MyAttachment) Set .Configuration = iconf .Send End With واستبدله بهذا ..... With imsg .BodyPart.Charset = "UTF-8" .to = StudentEmaile .from = DLookup("settingsUsername", "settings", "settingNO=1") .Subject = "ÔåÇÏÉ" .HTMLBody = Mymsg .AddAttachment (MyAttachment) Set .Configuration = iconf .Send End With تم اضافة هذا السطر .BodyPart.Charset = "UTF-8"
    1 point
  42. ادخل على حسابك من خلال الرابط التالي وفعل التطبيقات الاقل امانا ويعمل معك https://www.google.com/settings/security/lesssecureapps
    1 point
  43. جرب هذا الملف 1-تسمية اوراق العمل دائماً باللغة الاجنبية وأرفض من الآن وصاعداً اي ملف اسماء صفحاته باللغة العربية لما يسبب هذا الشيء من اضطراب في الكود اضافة الى صعوبة نسخة ولصقة لظهور احرف غريبة فية (عند البعض طبعاً) مع احترامي الشديد للغتنا العربية (لغة القرآن الكريم) لكنها لا تصلح لوضع اكواد الـــ VBA (نسبة الأحطاء 70% حسب الدّراسات) 2- من المفروض اضافة القليل من البيانات في الأوراق العمل ولا تتكل على من يريد المساعدة للقيام بذلك 3- تم وضع بعض المعادلات التي تساعد في ادراج النتائج (دون ظهور الأصفار) 4- الصف رقم 6 في الاوراق Bay و Inport يجب ان يبقى فارغاً الكود Option Explicit Sub From_Sheets_To_MaG() Dim Inp As Worksheet, Bay As Worksheet Dim Mag As Worksheet Dim Sh As Worksheet Dim L_Mag%, Max_ro%, col%, k%, ro% Dim Fnd As Range, Wat As Range Dim Old_val Set Inp = Sheets("Inport") Set Bay = Sheets("Bay") Set Mag = Sheets("Magazine") L_Mag = Mag.Cells(Rows.Count, 1).End(3).Row Set Fnd = Mag.Range("A1:A" & L_Mag) If Not (ActiveSheet.Name = "Inport" Or _ ActiveSheet.Name = "Bay") Then Exit Sub Set Sh = ActiveSheet Select Case Sh.Name Case "Bay": col = 6 Case "Inport": col = 5 Case Else: Exit Sub End Select Max_ro = Application.Max(Sh.Range("B6:B68")) + 6 For k = 7 To Max_ro Set Wat = Fnd.Find(Sh.Range("E" & k), lookat:=1) If Not Wat Is Nothing Then ro = Wat.Row Old_val = Val(Mag.Cells(ro, 3)) Mag.Cells(ro, 7) = Old_val Mag.Cells(ro, col) = Val(Sh.Range("H" & k)) Mag.Cells(ro, 3) = _ Old_val + Val(Mag.Cells(ro, 5)) - Val(Mag.Cells(ro, 6)) End If Next End Sub الملف مرفق Hasan_B.xlsm
    1 point
  44. عليكم السلام. Sub sendOutlookEmail() Dim oApp As Outlook.Application Dim oMail As MailItem Set oApp = CreateObject("Outlook.application") Set oMail = oApp.CreateItem(olMailItem) oMail.Body = "Body of the email" oMail.Subject = "Test Subject" oMail.To = "Someone@somewhere.com" oMail.Send Set oMail = Nothing Set oApp = Nothing End Sub
    1 point
×
×
  • اضف...

Important Information