نجوم المشاركات
Popular Content
Showing content with the highest reputation on 04/02/26 in all areas
-
حل آخر بالكود: Private Sub Worksheet_Change(ByVal Target As Range) Dim Row As Integer, Col As Integer Dim fRow As Integer, fCol As Integer, fdd As Integer Dim yy As Integer, mm As Integer, dd As Integer Dim cellDate As Date, m m = Array("", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", _ "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر") With Target If Not (Target.Row = 1 And Target.Column = 13) Then Exit Sub yy = Year(.Value) mm = Month(.Value) For fdd = 1 To 7 If Weekday(DateSerial(yy, mm, fdd)) = vbSunday Then Exit For Next fdd End With Cells.Find(What:="الأحد", After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate fRow = ActiveCell.Row fCol = ActiveCell.Column + 1 Application.EnableEvents = False Application.ScreenUpdating = False Cells(fRow - 2, fCol + 5) = m(mm) dd = fdd - 3 For Col = fCol To fCol + 9 Step 2 dd = dd + 2 For Row = fRow To fRow + 4 dd = dd + 1 cellDate = DateSerial(yy, mm, dd) If Month(cellDate) = mm Then Cells(Row, Col + 0) = cellDate Cells(Row, Col + 1) = 1 Else Cells(Row, Col + 0) = "" Cells(Row, Col + 1) = "" End If Next Row Next Col Application.EnableEvents = True Application.ScreenUpdating = True End Sub حساب_التاريخ_05.xlsm2 points
-
تم تنقيح الكود لتسهيل التعديل عليه Private Sub Worksheet_Change(ByVal Target As Range) Dim Row As Integer, Col As Integer Dim fRow As Integer, fCol As Integer, fdd As Integer Dim yy As Integer, mm As Integer, dd As Integer Dim cellDate As Date, DateRange As String, m m = Array("", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", _ "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر") With Target DateRange = Replace(.Address, "$", "") If DateRange <> "M1" Then 'تبديل عنوان خلية التاريخ عند الحاجة' Beep 'MsgBox Exit Sub End If If Not IsDate(Range(DateRange)) Then Beep 'MsgBox Exit Sub End If Application.EnableEvents = False Application.ScreenUpdating = False yy = Year(.Value) mm = Month(.Value) For fdd = 1 To 7 If Weekday(DateSerial(yy, mm, fdd)) = vbSunday Then Exit For Next fdd End With Cells.Find(What:="الأحد", After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate fRow = ActiveCell.Row fCol = ActiveCell.Column + 1 Cells(fRow - 2, fCol + 5) = m(mm) dd = fdd - 3 For Col = fCol To fCol + 9 Step 2 dd = dd + 2 For Row = fRow To fRow + 4 dd = dd + 1 cellDate = DateSerial(yy, mm, dd) If Month(cellDate) = mm Then Cells(Row, Col + 0) = cellDate Cells(Row, Col + 1) = 1 Else Cells(Row, Col + 0) = "" Cells(Row, Col + 1) = "" End If Next Row Next Col Application.EnableEvents = True Application.ScreenUpdating = True End Sub حساب_التاريخ_06.xlsm1 point
-
اعرض الملف أداة عرض وتحرير جمل Sql داخل التطبيق {سلسلة الأدوات المساعدة المخصصة} اقدم لكم اليوم أداة ستزيد من إنتاجيتكم أثناء العمل مع الإستعلامات فبدلاً من العمل مع الإستعلامات من خلال جزء التنقل ستقوم هذه الأداة بتجميع جميع الإستعلامات داخل مربع قائمة والجميل أنه لن يتم تحميل القائمة إلا بالإستعلامات التي تم تحديد نوعها فمثلاً تريد العمل مع إستعلامات التحديث فقط أو الإلحاق فقط وهكذا بالإضافة إلى هذا يمكنك تصفية النتائج من خلال كتابة عبارة نصية تتضمنها جملة Sql فمثلاً تريد الإستعلامات التي تتضمن بيانات جدول محدد فيكفي أن تكتب إسم الجدول في مربع التصفية ليتم تصفية الإستعلامات التي تتضمن هذا الجدول فقط وكمثال رائع آخر وأعتقد أن جميعنا سيعجب به إذا قمنا مثلا بتعديل إسم عنصر تحكم في نموذج وسبق أن تم وضع عنصر التحكم هذا كمعيار لتصفية إستعلام أو أكثر فيمكن كتابة إسمه في مربع التصفية ليتبقى لدينا الإستعلامات التي ذكر فيها إسم عنصر التحكم هذا لا وأزيدكم من الشعر بيت يمكنكم بعد ذلك إستبدال إسم عنصر التحكم هذا بالإسم الجديد وإستعراض النتائج في إستعلام مؤقت وإذا نجح العمل يمكنك تحديث جملة Sql الخاصة بالإستعلام المحدد بالتعديلات الجديدة وهذا كله عن طريق الأداة وبدون حتى أن تضطر إلى فتح الإستعلام في وضع التصميم يوجد للأداة وظيفة أخرى وهي تعديل جملة Sql الخاصة بعناصر التحكم (مربعات التحرير والسرد ومربعات القائمة) وتقوم بنفس ماسبق ذكره ولكن على عبارة Sql لمصدر الصف الخاص بعنصر التحكم الأداة بسيطة ولا تحتوي إلا على ثلاثة نماذج فقط ستجدونها في المرفق بإسم القالب يمكنكم إستيرادها إلى تطبيقاتكم والعمل بها بكل سهولة ولكن الخيار المفضل لدي هو إستخدامها كوظيفة إضافية وهي ما ستجدونه داخل مجلد الوظيفة الإضافية مع مستند يشرح طريقة تثبيتها أرجو أن تجدوا في هذه الأداة الفائدة التي وجدتها أنا شخصيا وإذا كان لدى أي أحد منكم أي ملاحظات فالرجاء أن لا يبخل علينا بها تحياتي صاحب الملف منتصر الانسي تمت الاضافه 04/01/26 الاقسام قسم الأكسيس1 point
-
1 point
-
هههههههه انا قلت يمكن بعدل شي أو يضيف شي داخل الملف للتمييز بينهم 😛 إن شاء الله حال وصولي لنسبة ترضي غرور أفكاري 😁 ، لن أبخل عليكم بها1 point
-
غيرت الإسم فقط 😅 وصلت لنفس النتيجة أي أنه في الحالتين لم يتم إسترجاع الوحدات النمطية ولكن في المجمل فإن إسترجاع النماذج والتقارير شيئ ليس بالقليل وياريت تشاركنا بالطريقة1 point
-
1 point
-
شكرا جزيلا على الزياده في الحل وهذا هو الفضل وزيادة بارك الله فيكم وجزاكم خيرا1 point
-
1 point
-
1 point
-
أستاذنا الغالي أبو احمد ،، بداية أحترم رأيك بشدة ، وأنت من الأشخاص الذين لهم بصمة فعلية في تقديم المساعدة لأخوتنا في القسم متى حللتم ، رغم أننا نفتقد وجودكم بيننا والإستفادة من فيض العلم الذي علمكم الله أياه . أخونا جو طرح سؤاله النابع من مشكلة واجهها في كود جاهز حصل عليه من أداة ، لكنه لم يلبي حاجته بسبب عدم توافق الكود حرفياً وفعلياً مع طلبه عند التعامل مع رسالة MsgBox من 3 أزرار ,, وقدم له الأخوة مجموعة حلول البرمجية المنطقية ؛ إلا أنه تمسك بالحبل الذي بين يديه ولم يفضل تبديله . لذا ومن ضمن الحلول كنت قد اقترحت عليه استخدام Select Case كما تفضلتم في طرحكم - إضافة إلى ما جاد به خبرائنا الكرام - مشكورين - ، فعاد إلى أصل الموضوع الذي حصل على الكود منه للأستاذ منتصر الأنسي - مشكوراً لجهده على انتاج الأداة - ، وقد لباه بتحديث يدعم Select Case حسب رغبته .. لكم الشكر على ما تقومون به من مساعدة ومد يد العون لأخوانكم أينما حلّت أناملكم الذهبية .. وفي النهاية انت تعلم أن من يبحث عن إجابة رغم تعدد الحلول إلا أنه سيفضل الأسهل والأبسط لمشروعه وحاجته وخبرته .1 point
-
توني أنتبه لردود الزملاء الخبراء بشكل دقيق وهي لا تختلف عن ردي الأخير، فالمشكلة لم تكن في الأكواد ولا في الخبراء، بل المشكلة في السائل وعدم استيعابه للحلول. أتمنى من زملائي عدم مجاراة السائلين في مثل هذه المواضيع، فالبرمجة (كتابة الأكواد) ليست بالمزاج وليس تصميمها حسب ما يطلبه المشاهدون. بما أن الحل كان موجودا فلما تطرح سؤالا مكررا له ولما تفرض طريقة ما على الآخرين!. هنا دور المشرفين لوقف مثل هذه المواضيع غير المنطقية مع الاعتذار.0 points