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

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

  1. أ / محمد صالح

    أ / محمد صالح

    أوفيسنا


    • نقاط

      10

    • Posts

      4,431


  2. Eng.Qassim

    Eng.Qassim

    الخبراء


    • نقاط

      7

    • Posts

      2,302


  3. Moosak

    Moosak

    أوفيسنا


    • نقاط

      3

    • Posts

      1,997


  4. محمد احمد لطفى

    • نقاط

      2

    • Posts

      1,912


Popular Content

Showing content with the highest reputation on 12 يون, 2022 in all areas

  1. هو انا بحكي ايه من الصبح انا وضعت كودك لفوق ...وكود الفرنجة لتحت حتى تقارن بينهم بالمناسبة استاذ محمد ..انا اعتمد عليه كثيرا في حساب مدد المشاريع (التي ليس فيها عطل او جمع )
    3 points
  2. تاكد جيدا ..الكود مضبوط 100% وقد جربته كثيرا هؤلاء الفرنجة لايخطأون ياطويل العمر😄
    2 points
  3. وهذه دالة أخرى : Function fAgeYMD(StartDate As Date, EndDate As Date) As String 'Purpose: Returns the difference between StartDate and EndDate in full years, months and days 'Coded by: raskew 'To call: ' ? fAgeYMD(#7/6/54#, #10/3/84#) 'Returns: ' 30 years 2 months 28 days Dim inthold As Integer Dim dayHold As Integer inthold = Int(DateDiff("m", StartDate, EndDate)) + _ (EndDate < DateSerial(year(EndDate), month(EndDate), Day(StartDate))) If Day(EndDate) < Day(StartDate) Then dayHold = DateDiff("d", StartDate, DateSerial(year(StartDate), month(StartDate) + 1, 0)) & Day(EndDate) Else dayHold = Day(EndDate) - Day(StartDate) End If fAgeYMD = Int(inthold / 12) & " year" & IIf(Int(inthold / 12) <> 1, "s ", " ") _ & inthold Mod 12 & " month" & IIf(inthold Mod 12 <> 1, "s ", " ") _ & LTrim(str(dayHold)) & " day" & IIf(dayHold <> 1, "s", "") End Function طريقة الاستدعاء : fAgeYMD(StartDate, EndDate)
    2 points
  4. أولا : متأكد أن إجايتك هي أفضل إجابة ؟ 😏 ثانيا هذا شرح مترجم للكود : يبدأ الكود بالتصريح عن المتغيرات التي سيتم استخدامها في البرنامج. تم التصريح عن المتغير db ككائن DAO.Database ، وتم التصريح عن rsP ككائن DAO.Recordset. يفتح الرمز بعد ذلك عبارة SQL لتحديث جميع السجلات في جدول astkbal بقيم 0 لحقول golos1 و lagna ، ولكن فقط إذا لم يتم تعيينها بالفعل على 0 (BOF). إذا لم يتم العثور على سجلات (EOF) ، فإنه يمر عبر كل سجل حتى يعثر على سجل تم فيه تحديث كل من lagna و golos1 إلى الصفر (LOF). ثم ينتقل للعثور على سجل آخر حيث تم تحديث lagna من قيمته الحالية ، والتي تم تعيينها مسبقًا بواسطة rsP! lagna = rsP! lagna؛ تستمر هذه الحلقة حتى تصل إلى x = rsP! frist_golos-rsP! end_golos أو حتى تصل إلى نهاية الملف (EOF) في rsL. بعد تحديث جميع السجلات في قاعدة البيانات ، يتم إغلاقها قبل إغلاق نفسها باستخدام Close (). يستخدم الكود لتحديث جدول الاستقبال من أجل توزيع الطلاب على الفصول الدراسية. يبدأ الكود بفتح مجموعة سجلات لـ tb_Prepare. يتم فحص BOF و EOF قبل متابعة الحلقة. إذا لم يكن هناك خطأ ، فسيستمر مع حلقة while التي ستتكرر خلال جميع السجلات في rsP حتى يتم الوصول إلى rsL. بمجرد الوصول إلى rsL ، سيتم الانتقال إلى السجل التالي وتحريره بحيث يتم تعيين lagna = 0 و golos1 = 0 لكل طالب في صف rsL. بعد تحرير صف كل طالب ، سينتقل إلى تحديث صف كل طالب مرة أخرى بعد تجاوزهم جميعًا.
    1 point
  5. شكراً للتوضيح أستاذ @Eng.Qassim الاتنين غلط مزودين فى تاريخ ميلادى أيام زيادة today: Int((Date()-[تاريخ الميلاد])/365) & " سنة - " & Int(((Date()-[تاريخ الميلاد])/365-Int((Date()-[تاريخ الميلاد])/365))*12) & " شهر - " & Int((((Date()-[تاريخ الميلاد])/365-Int((Date()-[تاريخ الميلاد])/365))*12-Int(((Date()-[تاريخ الميلاد])/365-Int((Date()-[تاريخ الميلاد])/365))*12))*30) & " يوم دى مزودة 17 يوم وملف حساب العمر مزود 8 يوم جارى تجربة كود أستاذى @Moosak
    1 point
  6. هذه الدالة لاتحسب العمر بشكل مضبوط استاذ محمد جرب المرفق وادخل تاريخ الميلاد وسترى الفرق حساب العمر.rar
    1 point
  7. كود جميل جدا ويعمل بكفاءه وشرعه لكن ارجو شرح الجزية الخاصة بعمل rsl و rsp
    1 point
  8. تفضل today: Int((Date()-[تاريخ الميلاد])/365) & " سنة - " & Int(((Date()-[تاريخ الميلاد])/365-Int((Date()-[تاريخ الميلاد])/365))*12) & " شهر - " & Int((((Date()-[تاريخ الميلاد])/365-Int((Date()-[تاريخ الميلاد])/365))*12-Int(((Date()-[تاريخ الميلاد])/365-Int((Date()-[تاريخ الميلاد])/365))*12))*30) & " يوم
    1 point
  9. مشاركة مع المهندس قاسم في النموذج الفرعي الخاص بالسداد عملت اجراء اسمه k وقيمته تساوي ⬇️ Sub k() Parent!Al_Mawad!Al_Baq = Parent!bage Parent!Al_Mawad.Requery End Sub ثم في حدث بعد التحديد للحقل Al_Wasil في النموذج نفسه تمت الاشارة للاجراء k مع التحفظ على الطريقة المستخدمة و اتفاقي مع رأي استاذي الفاضل المهندس قاسم هذا مجرد رأي وليس الهدف انتقاد العمل تحياتي
    1 point
  10. وعليكم السلام اخي مافائدة ارفاق البرنامج والشفت غير مفعل .. حسب فهمي من سؤالك وحسب فهمي ايضا لبرامج التسديد بالاجل انه لايجب وجود حقل الباقي في الجدول لانه زائد عن الحاجة وانما جدول بالتسديد لكل عميل اما حقل الباقي في النموذج يكون غير منظم يكون عبارة عن قيمة الفاتورة مطروحا منها مجموع المبالغ المسددة اما اذا كنت تقصد نفل قيمة الحقل (المبلغ الباقي) في النموذج الرئيسي لحقل اخر في النموذج الفرعي استخدم Forms!Name_Cust!sub_frm.Form!Text0 = Me!Al_Baq Name_Cust النموذج الريسي sub_frm النموذج الفرعي Text0 الحقل في النموذج الفرعي
    1 point
  11. أرجو منك أخى الفاضل ان تنتبه الى ما أشار اليه استاذنا أبو البشر بالقاعدة كل ما تبتغى أرقام الجلوس حبيبى تدخل أولا ثم الخطوة التالية تبدأ تسكن اللجان من رقم كذا الى كذا لجنه 1 مثلا وهكذا بالتوفيق
    1 point
  12. شكراً جزيلاً على مروركم الكريم .
    1 point
  13. علبكم السلام ورحمة الله زبركاته أعتقد أن الطريقة الصحيحة لبرمجة النواقص هي: في شاشة إضافة صنف يتم إضافة أقل قيمة أو كمية التنبيه أو أي تسمية وتسجل في الشيت الخاص بالأصناف وفي شاشة عمليات البيع يتم التأكد من أن العدد المطلوب أكبر من العدد المتبقي في المخزن وحساب العدد المتبقي بعد عملية البيع فإذا كان أقل من كمية التنبيه يتم إضافته للنواقص مع ضرورة تفريغ جدول النواقص بمجرد شراء هذه النواقص بالتوفيق
    1 point
  14. قمت بالفعل بجعل الاخطاء تظهر بعمود مستقل وجعلت للخطأ كود مستقل وهو 5 وما ظننت ان هذا الأمر مازال مطروحا حتي الآن - قمت ببعض التعديلات الطفيفة علي الكود بمرفقي السابق واظن ان هذا هو مطلبك نصيحة صغيرة - والتناصح حق بين المسلمين - وارجو ان لا يزعجك هذا - حاول اخي ان تعبث بالكود الذي يقدم اليك بحل موضوعاتك وتنظر ان حذفنا هذه الجملة ماذا سيحدث او غيرنا هنا بهذه الكلمة ماذا سيحدث وقم بالبحث عن الكلمة التي تظن انك لا تعرفها - او اطرح سؤالا عنها هنا مثلا - هكذا تعلمت عن نفسي بعض الأشياء - علي قلة ما لدي بتحليل الكود ومحاولة تقسيمه وفهم جزئياته سيفتح عليك الكثير من المعرفة والاستنتاجات وفهم منطقية عمل الكود الكثير والكثير بإذن الله وأخيرا - اعتذر علي الاطالة وارجو ان لا يزعجك كلامي وحتي لا يكون ردي مجرد كلام فقط اليك هذا المرفق ارجو ان يوافي طلبك جلب البيانات من الرقم القمي ابو جودي.rar
    1 point
  15. استخدم خاصية البحث في المنتدى تجد مايسرك من موضوعات التوزيع وبطرق متعددة منها هذا
    1 point
  16. بارك الله فيك جربت ولم يصلح الامر
    1 point
  17. أخطاء بسيطة جدا تدل على محاولة تطبيق الكود بدون فهم متغيراته وكائناته إن شاء الله يكون هذا هو المطلوب Sub ColllectShets() Dim ws As Worksheet, Sh As Worksheet Dim LR As Long, x As Long Dim Arr, i As Long Set ws = Sheets("مجمع الصفوف") Application.ScreenUpdating = False ws.Range("C10:p10000").Clear For Each Sh In Sheets(Array("1", "2", "كي جي1")) x = WorksheetFunction.CountA(Sh.Range("a10:a" & Sh.Range("a" & Rows.Count).End(xlUp).Row)) Sh.Range("C10:p" & Sh.Range("a" & Rows.Count).End(xlUp).Row).Copy If LR < 9 Then LR = 9 Else LR = ws.Range("D" & Rows.Count).End(xlUp).Row End If ws.Range("C" & LR + 1).PasteSpecial xlPasteFormats ws.Range("C" & LR + 1).PasteSpecial xlPasteValues ws.Range("p" & LR + 1).Resize(x).Value = Sh.Name Application.CutCopyMode = False For i = 10 To ws.Range("d" & Rows.Count).End(xlUp).Row ws.Range("C" & i) = i - 9 Next i Next Sh Application.ScreenUpdating = True End Sub لاحظ استعمالك للعمود C للحصول على آخر صف بالرغم من فراغ العمود C لذلك تم استعمال العمود D بدلا منه بالتوفيق
    1 point
  18. الحمد لله الذي وفقني في مساعدتك في مهمتين اللصق كقيم غند الضفط على زر أو باستخدام CTRL+V وعذرا لضيق وقتي فربما يتحفنا بالثالثة (اللصق كقيم عند الضغط على زر لصق العادي) أحد الإخوة بالتوفيق للجميع
    1 point
  19. تفضل اخي المثال في المرفق : ProFile1.rar
    1 point
  20. أو جرب هذا الكود ..... DoCmd.OutputTo acReport, "rpt1"
    1 point
  21. فيديوووووو جديددددد كيفية فصل الشيتات الموجودة داخل الملف إلى ملفات منفصلة في الفيديو دة هاتقدر تفصل كل الشيتات اللي موجودة داخل ملف الاكسيل اي أن كان عددهم إلى ملفات منفصلة وكمان محفوظة باسم الشيت في مساء الملف https://www.youtube.com/watch?v=Ki2mCSaUTBE
    1 point
  22. أخي الفاضل محمد يحياوي كل عام أنتم بخير أنا أستعمل أوفيس 2010 وهذا ما يحدث عندي بالصور هذه صورة الإعدادات قبل تشغيل الملف وعند فتح الملف لأول مرة تظهر رسالة تمكين المحتوى وبعد تمكين المحتوى وعمل الملف هذه صورة الإعدادات ...... ومن الطبيعي عملية تمكين المحتوى لأول مرة لأن هذا كود ولكي يعمل يجب تمكينه وإلا كيف سيعمل كيف يتم استدعاء ملف الريجيستري ليعمل قبل ملف الإكسل بطريقة لايشعر بها المستخدم؟ وطبعاً يتم ذلك في أول مرة فقط وليس في كل مرة يتم فتح الملف فيها
    1 point
  23. سبقني بها صاحب هذا الاقتراح فقد كنت أفكر فيه وفقك الله أخي محمد طاهر لما فيه الصالح العام وكل عام وجميع الإخوة بخير
    1 point
  24. لا حلوة إزاي فاتت عليّ؟ خلاص نخليها 11 يتوقيت جرينتش عندنا في مصر 1 بعد الظهر علشان نكونوا عيدنا على أهالينا وكل عام والجميع بكل خير
    1 point
  25. أشكركم أخوتي في الله جعلني الله عند حسن ظنكم وكل عام أنتم جميعا بكل الخير اللهم علمنا ما ينفعنا وانفعنا بما علمتنا
    1 point
  26. مفيش أحسن من بعد صلاة العيد مباشرة كل عام أنتم جميعاً بخير
    1 point
  27. شكرا لك أخي lording وفقك الله لكل ما يحب ويرضى وكل عام أنتم بخير
    1 point
  28. بارك الله لك ولها أخي نارت هي حقا نعم الأستاذة وفقنا الله وإياها لكل ما يحب ويرضى
    1 point
×
×
  • اضف...

Important Information