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

Foksh

الخبراء
  • Posts

    3092
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    122

كل منشورات العضو Foksh

  1. تأييداً لكلام الأستاذ @kkhalifa1960 ، أرجو تجربة التعديل بهذا الكود ، Private Sub Calc_Click() نص3 = DateAdd("d", DateDiff("d", [بداية العمل], [نهاية العمل]) / 2, [بداية العمل]) Dim startDate As Date Dim endDate As Date Dim years As Integer Dim months As Integer Dim days As Integer startDate = [بداية العمل] endDate = [نهاية العمل] years = DateDiff("yyyy", startDate, endDate) months = DateDiff("m", DateAdd("yyyy", years, startDate), endDate) days = DateDiff("d", DateAdd("m", months, DateAdd("yyyy", years, startDate)), endDate) If Day(endDate) < Day(startDate) Then months = months - 1 days = DateDiff("d", DateAdd("m", months, DateAdd("yyyy", years, startDate)), endDate) End If If Month(endDate) < Month(startDate) Then months = 12 + Month(endDate) - Month(startDate) End If If Day(startDate) = Day(endDate) + 1 Then days = 0 End If Dim result As String result = years & " سنة " & months & " شهر " & days & " يوم" نص5 = result نص10 = days نص12 = months نص14 = years End Sub
  2. ابشر ، بتم التعديل وبرفق الملف
  3. أرجو المعذرة أخي الكريم ،، تفضل هذا المرفق Diff.accdb
  4. تفضل التعديل Function CalcAge(StartDate As Date, EndDate As Date) As String Dim years As Integer Dim months As Integer Dim days As Integer Dim totalMonths As Integer totalMonths = Int(DateDiff("m", StartDate, EndDate)) + _ (EndDate < DateSerial(Year(EndDate), Month(EndDate), Day(StartDate))) years = Int(totalMonths / 12) months = totalMonths Mod 12 ' تحويل 30 يومًا إلى 01 شهر If days = 30 Then months = months + 1 days = 0 End If CalcAge = years & " سنة و " & months & " شهر و " & days & " يوم" End Function
  5. 100% استاذنا ومعلمنا الفاضل @ابوخليل بارك الله فيك وجزاك الله كل الخير 🤗
  6. لها حل اخي الكريم ، ولكن اعذرني ليوم الغد إن شاء الله 😊
  7. جرب هذا الكود ، مع تعديل مربع النص الذي به الرقم المتسلسل Dim W As Object Set W = CreateObject("Word.Application") W.Documents.Open "C:\Users\MH\Desktop\test.docx" W.Visible = True W.ActiveDocument.bookmarks("txtname").Select W.Selection.InsertAfter Me.nname.Value W.ActiveDocument.bookmarks("txtarea").Select W.Selection.InsertAfter Me.area.Value W.ActiveDocument.bookmarks("txttele").Select W.Selection.InsertAfter Me.tele.Value ' تم إضافة السطر التالي لحفظ ملف الورد برقم المسلسل W.ActiveDocument.SaveAs "C:\Users\MH\Desktop\" & Me.SerialNumber.Value & ".docx"
  8. أستاذنا الكبير @Moosak هو لم يكن تحديث بالمعنى الحرفي . أنا فقط اختلطت علي الأمور في التعبير أثناء كتابة الرد . وقمت بشرح نقطة كانت موجودة أساساً ولكني تطرقت إليها وفي حال وجود تحديثات جديدة ، لن أتأخر في طرحها وتحديث الروابط
  9. تم تعديل العبارة بشكل تعبيري أفضل أستاذي الكبير @Moosak شكراً لك تنبيهي لإعادة صياغة العبارة السابقة
  10. أخي @iyad mohamad هذه تجربتي المتواضعة 😅 قمت باعتماد فكرة الرسالة للمستلم لقراءة الرسالة أم لا ، وعند اختيار نعم يتم فتح النموذج لقرائتها ، وإذا لا فلا يتم فتح صندوق الرسائل وتبقى الرسالة معلقة ، وعند قرائتها سيضطر للخروج من صندوق الرسائل بالضغط على زر × ، وهنا سيتم الإشارة ✓ في Check Box لتأكيد الاستلام ، وسيأتي الرد للمرسل برسالة تم قراءة الرسالة . هذا اقتراح بسيط قمت بتطبيقه على نموذج الرسالة المستلمة ، ولك حرية التعديل طبعاً ، فهو برنامجك 🤪 قم بتجربة الملف على شبكة ، وأعطني رداً بأي نتيجة كانت ،، test.accdb
  11. تفضل أخي الكريم @sm44ms ، اجعل مصدر مربع النص ASQ هذا السطر :- =DCount("*";"Table1";"[Status] = 'استقالة'") وسيعطيك عدد السجلات التي الحالة للموظف = استقالة . طبعاً قمت بتغيير تسمية حقل ( حالة البطاقة ) إلى Status ؛ لتلافي الأخطاء في الكود مع وجود مسميات باللغة العربية . يا أخي أنا اليوم حظي وافر وجميل لمصادفتي لك مرتين متتاليتين
  12. أخي الكريم ، كنوع من ضبط الحل ، هل لك بإرسال ملف يحتوي على جدول وفيه جزء من البيانات ونموذج حتى نحقق لك مرادك
  13. السلام عليكم ورحمة الله وبركاته في ملاحظة جانبية سأتطرق إليها للتوضيح في نقطة قد يتساءل البعض عنها في هذا الجزء For i = 0 To UBound(arLabels) UpdateLabel frm, "Label" & CStr(i + 1), arLabels(i), enLabels(i) UpdateLabel frm, "Command" & CStr(i + 1), arLabels(i), enLabels(i) Next i End Sub تمت إضافة هذا الجزء من الكود ليشمل الـ Lable كما في الجزء الأول ، والـ Command في الجزء الثاني. حيث أن المسميات ستكون متبوعة برقم وهو الذي سيحدد رقم السطر في ملفات اللغة ( Arabic , English ) ، فهنا نستطيع التوحيد في مسميات البرنامج ( كتوحيد المقامات في الرياضيات 😅 ) طبعاً هنا سنحتاج جزء واحد من السطر ، ولنفترض أن الكود سيصبح بهذا الشكل:- For i = 0 To UBound(arLabels) UpdateLabel frm, "Officna" & CStr(i + 1), arLabels(i), enLabels(i) Next i End Sub هنا قمت بتوحيد جميع العناصر والكائنات في المشروع ( مربعات نص ، ليبلات ، ازرار ..... إلخ ) تحت اسم Officna وهنا يسهل علينا - وكما ذكر معلمنا الفاضل @ابوخليل - حفظ المسميات وسهولة الوصول إليها وتحديدها .. ودمتم بخير 🤗
  14. اعتذر أخي الكريم وأستاذنا @kanory على المداخلة ، قمت بالرد وتفاجأت بردك ومتابعتك بعد التحديث 😬
  15. أخي الكريم قم بتجربة إضافة هذا الجزء قبل الجزء المسؤول عن الحفظ والتصدير .. ' تحديد نطاق الورقة بأكملها Dim rngSheet As Object Set rngSheet = objWorksheet.UsedRange ' يمكن تغيير هذا حسب احتياجاتك ' قم بتحديد خاصية NumberFormat لتنسيق الخانات التي تحتوي على الأرقام rngSheet.NumberFormat = "0"
  16. أختي الكريمة ، لتجدي الإجابة المناسبة لطلبك ، ارفقي ملف يتم التطبيق العملي عليه ، وذلك لعدم معرفة تفاصيل الجدول وحقوله ، والحقول التي في النموذج .... إلخ من تفاصيل مجهولة. دمتي بخير 🤗
  17. لا يوجد عندي فكرة محددة في الوقت الحالي اذا كانت الطريقة ممكن تكون برمجياً ، ولكن ان وجدت شيئاً ستجده هنا إن شاء الله .
  18. ولا يهمك أخي الكريم ، قد يكون الأمر غاب عن بالي ولم التفت لهذه النقطة
  19. أخي الكريم ، اتبع ما يلي لتحقيق هدفك . ثم بالعودة إلى إكسل قم بتطبيق ما يلي لتبديل تنسيق الأرقام والتاريخ . وهذه النتيجة
  20. جرب فكرة إنشاء قاعدة بيانات جديدة ، و قم بإستيراد المكونات والعناصر بشكل عام من القاعدة القديمة ، وإذا لم يتم إنجاز الحل ، فحاول ارسال قاعدة البيانات لإطلاع على السبب وتحديد المشكلة فيها.
  21. تفضل اخي الكريم @gamal gamal ، هل هذا طلبك ؟ القضايا.accdb
  22. تفضل يا صديقي ، هذا طلبك ؟ basept.accdb
  23. في اي تقرير سيكون عرض آخر جلسة للقضايا ؟؟
×
×
  • اضف...

Important Information