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

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

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

    أ / محمد صالح

    أوفيسنا


    • نقاط

      13

    • Posts

      4,431


  2. متقاعد

    متقاعد

    الخبراء


    • نقاط

      10

    • Posts

      583


  3. Eng.Qassim

    Eng.Qassim

    الخبراء


    • نقاط

      6

    • Posts

      2,302


  4. ابو جودي

    ابو جودي

    أوفيسنا


    • نقاط

      3

    • Posts

      6,818


Popular Content

Showing content with the highest reputation on 15 يول, 2022 in all areas

  1. بعد إذن أخي محي الدين جرب تغيير الاجراء إلى هذا الكود هذا باستعمال الاسم البرمجي للشيت ودالة cells Sub test() Dim a, col As Long a = Range(Worksheet____37.Cells(10, 8), Worksheet____37.Cells(39, 8)).Value col = Application.Match(Worksheet____37.Cells(9, 8), Worksheet____60.Range("a9:m9"), 0) Worksheet____60.Cells(10, col).Resize(30) = a MsgBox "Done by mr-mas.com" End Sub وهذا نفس الاجراء باسم الشيت والنطاق Sub mrmas() Dim a, col As Long a = Sheets("طباعة حافظة التقارير").Range("h10:h39").Value col = Application.Match(Sheets("طباعة حافظة التقارير").Range("h9"), Sheets("ارشيف التقارير").Range("a9:m9"), 0) Sheets("ارشيف التقارير").Cells(10, col).Resize(30) = a MsgBox "Done by mr-mas.com" End Sub بالتوفيق
    3 points
  2. استاذي الحبيب ابو الحسن ... انا ارى ان تجمع افكارك وتبلورها بسؤال جديد وواضح لكل ماتريد على شكل نقاط ..حتى يتفاعل معك اكبر عدد ممكن من الاساتذة والاخوة .. لاني راجعت الموضوع وقد نسيته بسبب الشيخوخة ونصيحتي استاذ ابو الحسن ..ان ترفع ملفك مبسط ..اي دون نموذج الدخول او الامور التي لاتحتاجها في السؤال ارجوا لك الموفقية يارب
    2 points
  3. الحمد لله اخي والشكر لله وحده نعم ممكن سواء من خلال مربع اختيار او من خلال قائمة متعددة او من خلال بقاء الامر على ماهو عليه وعند النقر المزود على المهارة يفتح لنا نموذج مساند يسمح باختيار متعدد ولكن نظام الموقع وقواعد المشاركة طلب واحد في الموضوع وهذا التعديل خارج نطاق الموضوع الاصلي 11. ممنوع طرح أكثر من سؤال في موضوع واحد ليسهل البحث عن المواضيع لاحقا. لذا فان كان الطلب الاصلي قد تحقق فيتم اختيار الاجابة الافضل من قبلكم ليعتبر الموضوع الحالي قد انتهى وبامكانك اخي انشاء موضوع جديد توضح فيه المطلوب وباذن الله تجد المساندة مني ان سمح لي الوقت او من احد الاساتذه الاخرين في الموقع تحياتي وتقديري
    2 points
  4. ولك بالمثل استاذي واخي يونس الان في ردي السابق تحدثت عن طرق اخرى للوصول للنتيجة (تحميل قيمة او مجموعة من القيم ونقلها الى سجل جديد ) بدون الحاجة لاستخدام دوال المجال الحقيقة هناك ثلاث طرق عن طريق معالجات الاكسس ولكنها طريقة غير عمليه لكونها تحدد كافة حقول السجل وتكررها في سجل جديد اي انها تحدد السجل كاملا ثم تنسخة وتنتقل لسجل جديد ثم تقوم بلصق القيمة في الحقول ويمكن عملها بالمايكروا وايضا بالكود . عن طريق متغيير متعدد القيمة ويتم في المتغير تحديد الحقول التي نرغب في تحميل قيمتها على شكل سطر نصي نفصل قيمة كل حقل عن الاخرى برمز نحدده عند كتابة الكود ثم ينقلنا الامر الى سجل جديد ويقوم بتقسيم القيمة بدلالة الرمز مثال x=([id]&"|"&[item]&"|"&[price]) الطريقة الثالثة من خلال مصفوفة بسيطة والفكرة ان نفتح مصدر السجلات (الجدول) ثم نضع اسماء الحقول المطلوبة داخل المصفوفة بدون الحاجة لرمز فاصل ولا داعي لاستخدام دالة Split لكون المصفوفة تحمل القيمة بالترتيب مثلا لوحملنا اربع حقول يكون الحقل الاول رقم 0 والثاني رقم 1 والثالث رقم 2 والرابع رقم 3 x = Array(rs![id], rs![jop], rs![nat], rs![city]) ولعلي اضع مثال بسيط بعون الله لكون الامر وان كان ليس بتلك الاهمية الا انه يسهل العمل على مدخل البيانات العمل مع النماذج التي تحتوي بعض حقولها على بيانات متكررة مثل برامج الموظفين وبرامج المدارس ... الخ تحياتي ولعل لنا لقاء في موضوع اخر باذن الله
    2 points
  5. او تجعل المعيار تحت الاسم في الاستعلام = [Forms]![FramAddCertifiPresce]![nomprenom]
    2 points
  6. في زر الامر تقرير استبدل الامر المكتوب بالامر التالي DoCmd.OpenReport "DemandeCertificatePresence", acViewPreview, , "[nomprenom]='" & [nomprenom] & "'"
    2 points
  7. تفضل تـــم التعديل وذلك بسبب مشكلتك انت مع الكود لأنك لغيت سطر إظهار التكست بوكس كتاريخ 1حلقات مسجد الجامع....xlsm
    2 points
  8. استكمال للرد السابق ولكن في البداية نقدم احلى تحية لاستاذنا @ابو جودي وننتهز الفرصة ونقول له كل عام وانتم بخير الان نعود للموضوع دوال تجميع المجال او مايسميها بعض المختصين دوال D تتشابه في طريقة كتابتها ولها ثلاث معلمات المعلمة الاولى الحقل * الذي نبحث فيه عن القيمة وقد يكون الحقل في جدول او استعلام المعلمة الثانية المجال وهو تعبير نصي يمثل اسم الجدول او اسم الاستعلام المعلمة الثالثة المعيار وهو اختيار وقد يكون معيار واحد او اكثر وقد يكون نصي او رقمي او منطقي بعض هذة الدوال يمكنها التعامل مع اكثر من حقل لذا في مثل هذه الحالة لدينا حقل الرقم وحقل اللون وقد يكون لدينا حقول اخرى مثلا الموديل او الجهة المصنعة ... الخ فيكون السؤال هل نقوم بتكرار كتابة الدالة بعدد الحقول المطلوبة ونحن نعلم ان تشغيل الدالة كل مره يمثل عملية استعلام ؟ الاجابة لا نحتاج الى ذلك فبعض هذه الدوال كما اشرنا تتعامل مع اكثر من حقل فيكون الامر على النحو التالي Dim x() As String a = DLast("[m]&'|'&[k]&'|'&[r]", "GTTT") x = Split(a, "|") M = x(0) + 1 k = x(1) R = x(2) M = اخر رقم تم تسجيله + 1 K = اخر قيمة مسجلة في حقل الشركة المصنعة R = اخر قيمة مسجلة في حقل اللون السؤال الاخير هل يمكن تحقيق النتيجة بدون استخدام DLast ؟ نعم ممكن توجد اكثر من طريقة منها استخدام مصفوفة من خلال مصدر السجلات وسوف اتوقف هنا فالاستطراد قد يشتت الفكرة قالت العرب : يكفيك من الزاد ما بلغك المحل تحياتي وتقديري
    2 points
  9. 2 points
  10. السلام عليكم ورحمة الله وبركاته .. اليوم جايب لكم موقع وظيفته يقرأ أو يشرح لك الكود بلغة إنجليزية مفهومة ، ويمكنك عن طريق المترجم تحويلها إلى اللغة العربية 🙂 وهذا هو الموقع : https://denigma.app الموقع بفضل الله يتعامل مع معظم اللغات البرمجية تقريبا ، ومن ضمنها الفيجوال بيسك VBA .. وهذا شرح مبسط للاستخدام .. بعد فتح الموقع ننزل تحت إلى هذي الخانة، يوضع الكود في الخانة اليسرى ويظهر التفسير في الجهة اليمنى : نجرب نلصق دالة حساب العمر بالسنة والشهر واليوم ونضغط على [Explain it!] : ولترجمته باللغة العربية ، تأخذ النص لمترجم جوجل فيعطيك النتيجة هكذا : 🙂 هذا وسلامتكم ☺️🌹
    1 point
  11. طيب خلي للسلطة عسل .. او للملوخية خلي لها عسل ابلني لو اكلتهم يا عسل 😂
    1 point
  12. حمد الله على السلامة وكل عام وانت بخير استاذنا الحبيب وملح المنتدى بشمهندس محمد @ابو جودي
    1 point
  13. الاستاذ الفاضل @A2hmedosman السلام عليكم ورحمة الله وبركاته تحية طيبة ان حللت انا ضيفا عليكم أجلس فى المكان الذى تحدده انت واتناول ما تقدمه انت ولا اتحرك فى البيت كما يحلو لى لان ذلك من اداب الزيارة حتى انه لو اقتضت الحاجة للصلاة جماعة فى بيتكم تتقدم انتم إماما الإ ان اذنتم لغيركم هذا كله حقكم لانكم أصحاب البيت ولا يصح لنا الاعتداء والتعدى على حقوقكم لذلك من حقق المنتدى و احتراما لاصحاب المنتدى جزاهم الله عنا وعن كل طلاب العلم خير الجزاء ان شاء الله وللمصلحة العامة هو معرفة الضوابط المشرعة للمشاركات وفقا للقوانين والتى يمكن الاطلاع عليها من هنا والالتزام بها والتى من ضمن بندوها 11. ممنوع طرح أكثر من سؤال في موضوع واحد ليسهل البحث عن المواضيع لاحقا. فى المرات القادمة تكرار المخالفات يعرض الموضوع للاغلاق أو للحذف واعلم كما لكم حق وهو تحصيل العلم و الحصول على اجابات لتساؤلاتكم كذلك عليكم واجب هو اتباع الضوابط المشرعة للمشاركات وفقا للقوانين من اجل الصالح العام واعتقد هذا بسيط جدا جدا جدا جدا جدا مقارنة بحقكم الذى تحصلونه من المنتدى محبكم فى الله ابو جودى
    1 point
  14. اثراء للموضوع وغير ما يلزمك بالوحدة النمطية لتحصل على الترقيم بالشكل اللى يريحك وغير ما
    1 point
  15. السلام عليكم . شكرا جزيلا لك اخي العزيز . مبرمج سابق . حتى وان كان نقد فهو احلى من السكر على قلبي كما يقال . لان الخدمه الجليله التي قدمها لي انت واخوانك العاملين في هذا المنتدى المبارك لاتقاس بثمن . واود ان اوضح التالي . اولا. اختصاصي بعيد جدا عن البرمجه ومعلوماتي لاتذكر في هذا المجال . ومن حسن حظي عثرت بالصدفه قبل سنوات على قاعدة بيانات اكسس تخدمني في مجال عملي وانا لا اعرف ماهو اكسس وماهي البرمجه وبدات اتابع المنتدى واستنسخ اوامر منه واللصقها في قاعدتي دون ان اعرف تفاصيل تلك الاوامر . المهم يحقق غايتي . حتى اصبحت عندي قاعدة بيانات مثار اعجاب للقريبين مني .الى هنا اعتقد توضحت الفكره هذا اولا وثانيا . اتعامل مع جهه تبعث لي قوائم يوميا احيانا ترد التسلسلات فيها طفره يعني بعد الرقم 50 مثلا ياتي تسلسل 56 ثم 57 و58..الخ والترقيم التلقائي لايتعامل بهذه الصيغه . واحيانا تاتي ارقام مكرره واحتار كيف اتعامل معها . فوجدت في المنتدى هذا الكود الذي حقق مبتغاي ولو كانت التسلسلات التي تردني لا تتكرر لجعلت خصائص الحقل( مفهرس /نعم التكرار غير مقبول) ثالثا. بالنسبه للقيمه الافتراضيه من خلال متابعتي لما ينشر في المنتدى لم اجد اسهل من هذا الامر يمكنني من التحكم بالقيمه الافتراضيه . قد اكون اسهبت في الشرح واخذت من وقتك الكثير . لكن صدقني دعائي لاينقطع لك ولوالديك ولكل من يساهم في هذا المنتدى . جزاكم الله عنا خير الجزاء
    1 point
  16. اولا جزاك الله خير اخي يونس الكود الذي اشرتم اليه على النحو التالي Me.M = DLast("M", "GTTT", (DCount("*", "GTTT") Mod 50)) + 1 Me.R = DLast("R", "GTTT", (DCount("*", "GTTT") Mod 50)) وتفسيره بالنسبة لي ان حقل الترقيم يساوي اخر رقم موجود في الجدول ثم استخدم دالة عد السجلات في نفس الجدول واستخدم دالة القسمة على 50 ثم +1 والحقيقة بالنسبة لي الامر غير مفهوم لان استخدام دالتي العد والقسمة لا دور لها هنا وحتى بعد استبعادهما لم يتاثر الترقيم لان الامر اخر رقم +1 مع العلم ان دالة dlast تعيد اخر رقم وليس اكبر رقم وهذا الامر سوف يسبب وجود ارقام مكررة طالما اننا تركنا الامر لمدخل البيانات الامر الثاني ايضا في السطر التالية حقل r الخاصة بالقيمة الافتراضية استخدمت dlast للحصول على اخر قيمة للحقل والسؤال ماهو دور دالتي dcount & mod الامر يمثل استفسار وليس الهدف منه النقد تحياتي
    1 point
  17. يا سلام اما صحيح الحل سهل اهو هههههههههههههههههههههه الف الف شكر
    1 point
  18. استاذى الفاضل وكل اسره المنتدى لكم منى كل تقدير
    1 point
  19. السلام عليكم ... كل عام وجميع اساتذة هذا المنتدي الجميل بخير وصحة وعافية وعيد اضحي مبارك علي الجميع ان شاء الله جرب الملف 1حلقات مسجد الجامع....xlsm
    1 point
  20. تم تصحيح خطا في تقرير الاهداف المنتهية الملف مرفق برنامج اعداد الخطط لمركز السلام(2).accdb
    1 point
  21. السلام عليكم ورحمة الله تعالى وبركاته احيانا نريد عمل معرف خاص بنا برمجيا طبعا يختلف الكود تبعا لاسم الجدول والحقل ونوع الحقل اليوم سوف اقدم لكم فكرتى المتواضعة فى تلك الوظيفة التى يمكن وضعها فى وحدة نمطية ليمكن -استدعاؤها فى زوايا التطبيق المختلفة بكل سهولة -امكانية التحكم اثناء استدعاء الوظيفة فى البادئة ان اردت اضافة بادئة ما -التحكم فى موعد اعادة التعيين ليبدأ العدد من الرقم 1 مرة أخرى سنويا او شهريا او يوميا الكوووووود '|---10/04/2022______________________________________________| '|___www.officena.net________________________________________| '| | '| _ +-----------officena-----------+ _ | '| /o) | ||||| | (o\ | '| / / | @(~O^O~)@ | \ \ | '| ( (_ | _ ----oOo--Moh--oOo----- _ | _) ) | '| ((\ \) +/o)----------3ssam---------(o\+ (/ /)) | '| (\\\ \_/ / \ \_/ ///) | '| \ / \ / | '| \____/________Mohammed Essam________\____/ | '| | '| 10/04/2022 | '| | '|_____www.officena.net______________________________________| '|_____Thank you for visiting https://www.officena.net_______| '======Control in Special increment prefix ID===============================================================================================================================' ' ____ __ ____ ____ __ ____ ____ __ ____ ______ _______ _______ __ ______ _______ .__ __. ___ .__ __. _______ .___________. ' ' \ \ / \ / / \ \ / \ / / \ \ / \ / / / __ \ | ____|| ____|| | / || ____|| \ | | / \ | \ | | | ____|| | ' ' \ \/ \/ / \ \/ \/ / \ \/ \/ / | | | | | |__ | |__ | | | ,----'| |__ | \| | / ^ \ | \| | | |__ `---| |----` ' ' \ / \ / \ / | | | | | __| | __| | | | | | __| | . ` | / /_\ \ | . ` | | __| | | ' ' \ /\ / \ /\ / \ /\ / __| `--' | | | | | | | | `----.| |____ | |\ | / _____ \ __| |\ | | |____ | | ' ' \__/ \__/ \__/ \__/ \__/ \__/ (__)\______/ |__| |__| |__| \______||_______||__| \__| /__/ \__\ (__)__| \__| |_______| |__| ' ' ' '===========================================================================================================================================================================' Function MySpid( _ ByRef strFieldName As String, _ ByRef strTableName As String, _ Optional strPrefixe As String = vbNullString, _ Optional strResetYYorMMorDD As String = "YY", _ Optional nDay As Integer = 0, _ Optional nMonth As Integer = 0, _ Optional nYear As Integer = 0) As String Dim strLinkCriteria As String Dim strOldID As String Dim strNxtID As Long Dim intLenPrefixe As Integer Const intNumberOfZeros = 6 intLenPrefixe = Len(strPrefixe) + 1 If nDay = 0 Then nDay = Format(Date, "dd") If nMonth = 0 Then nMonth = Format(Date, "mm") If nYear = 0 Then nYear = Year(Date) - 2000 Select Case strResetYYorMMorDD Case Is = "YY": strLinkCriteria = Nz(Right(Mid(Nz(DLast(strFieldName, strTableName), 0), intLenPrefixe, 6), 2), 0) = nYear ' Yearly Reset Case Is = "MM": strLinkCriteria = Nz(Right(Mid(Nz(DLast(strFieldName, strTableName), 0), intLenPrefixe, 4), 2), 0) = nMonth ' Monthly Reset Case Is = "DD": strLinkCriteria = Nz(Right(Mid(Nz(DLast(strFieldName, strTableName), 0), intLenPrefixe, 2), 2), 0) = nDay ' Daily Reset End Select strOldID = Nz(DLast("" & strFieldName & "", strTableName, strLinkCriteria), 0) strNxtID = CLng(Right(strOldID, intNumberOfZeros)) strNxtID = strNxtID + 1 MySpid = strPrefixe & Format(nDay, "00") & Format(nMonth, "00") & Format(nYear, "00") & _ String(intNumberOfZeros - Len(CStr(strNxtID)), "0") & CStr(strNxtID) End Function يتم استدعاء الوظيقة بشكل عام من خلال الكود الاتى MySpid("FldName", "TblName") فى هذه الحالة يتم اعادة تعيين الترقيم سنويا ------------ ولكن للتحكم الكامل ولتغيير الاعدادات MySpid("FldName", "TblName", "AnyPrefixe", "yy or MM OR DD","DayDate","MonthDate","YearDate") AnyPrefixe البادئة التى تريد أن تبدأ الترقيم بها غيرها كما تريد MySpid("FldName", "TblName", "AnyPrefixe") yy or MM OR DD لو اردت اعادة تعيين الترقيم سنويا سوف تكون yy وبدون استخدام هذا الجزء هذا هو الاحتيار المفضل تبعا للكود MySpid("FldName", "TblName", "AnyPrefixe", "yy") لو اردت اعادة تعيين الترقيم شهريا سوف تكون MM MySpid("FldName", "TblName", "AnyPrefixe", "MM") لو اردت اعادة تعيين الترقيم يوميا سوف تكون DD MySpid("FldName", "TblName", "AnyPrefixe", "DD") --------- DayDate لتبدأ الترقيم من خلال رقم يوم محدد يعنى مثلا لو اردنا الترقيم يبدا من يوم 23 MonthDate لتبدأ الترقيم من خلال رقم شهر محدد يعنى مثلا لو اردنا الترقيم يبدا من شهر 09 YearDate لتبدأ الترقيم من خلال رقم سنه محدد يعنى مثلا لو اردنا الترقيم يبدا من عام 21 اجمل الامنيات بالاستمتاع مع هذا الكود وهذه الافكار هذا الاصدار الاول من كتابتى للكود لم اتمكن من التجربة بشكل كبير.. فضلا وكرما موافاتنا بالنتيجة فى حالة حدوث اى خطأ Special increment prefix ID.accdb
    1 point
  22. بالفعل أخي الكريم مجدي الدالة int تجبر ما فوق النصف إلى واحد صحيح الصواب الدالة floor شاهد المرفق mas_splitnum3.rar
    1 point
  23. تفضل أخي مجدي وكنت أتمنى أن تستنتجها أنت بحكم خبرتك معنا في أوفيسنا ولكن يبدو أنك لم تحاول mas_splitnum2.rar
    1 point
  24. تفضل أخي الكريم تم إضافية عمود وتم تطبيق المطلوب على عمودين وطبعاً يمكنك التطبيق على باقي الأعمدة أتمنى أن تكون الفكرة وضحت mas_splitnum.rar
    1 point
  25. حد يجر ب يا جماعة لأن عندي مفيش حاجة بتنكتب بعد الضغط على p ويتم حذف محتويات مربع النص للكتابة من جديد والسلام عليكم ورحمة الله وبركاته
    1 point
  26. أخي الكريم من الذي وضع حقل رقم العامل واسم العامل قبل حقل عدد الساعات؟؟!! إنه أنت .... وهذا يعني الاهتمام بحقل رقم العامل أولا ثم يليه في الأهمية اسم العامل ثم يليه في الأهمية عدد الساعات وإذا كنت تريد كما تقول حالياً : كتابة عدد الساعات ثم كتابة رقم العامل .... فكان من الطبيعي أن ترتب الحقول كما تريد. على العموم هذ تعديل بسيط ممكن يؤدي الغرض Mas_Roll2.rar
    1 point
  27. تفضل أخي الكريم جرب هذا المرفق وبالنسبة لموضوع تنسيق التاريخ لا يشغلك لأن الأيام مكتوبة في الإكسل والقائمة تضع قيمتها كأرقام المهم أن هذا هو اليوم المطلوب وتم عرض قيمة الكومبوبوكس بتنسيق التاريخ في تسمية مجاورة Mas_Roll1.rar
    1 point
  28. سعيد جدا بتواصلك أهي الكريم أبوخليل إذا كانت النتيجة لديك صفر بالمائة ولم يظهر شيء فنريد نحن العرب تعديل الكود ليعرض ما يناسب نسخ 64bit هل تشترك معي فيها؟ حاول أن تعدل في الكود الخاص بالدالة وتستبدل Win32_ بما يناسبك Win64_ وجرّب هل ستنفع أو لا؟؟
    1 point
  29. بارك الله لك على حلك أخي العيدروس حل موفق ............. ولا يهمك أخي الكريم المهم أن نتعاون جميعا في الوصول للحل
    1 point
  30. تفضل أخي الكريم عدل كود الموديول إلى ما يلي: Public appTime As Date Public Sub Blink() If Sheets(1).Range("A1") <= 0 Then With Sheets(1).Range("A1").Interior If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2 End If End With appTime = Now() + TimeValue("00:00:01") Application.OnTime appTime, "Blink" Else Sheets(1).Range("A1").Interior.ColorIndex = 2 End If End Sub ثم اضغط دبل كلك على sheet1 ثم الصق هذا الكود Private Sub Worksheet_Activate() Call Blink End Sub Private Sub Worksheet_Change(ByVal Target As Range) Call Blink End Sub
    1 point
  31. السلام عليكم بالمعادلات =INDEX(المادة;MATCH($C$10;INDEX(الاحد;0;B$4);0)) تفضل المرفق table.rar
    1 point
  32. السلام عليكم ... استخدم هذا الكود عند حدث عند الخروج من حقل ( الرقم ) If IsNull(Me.الرقم) Then MsgBox "عفواً لقد ترك حقل الرقم فارغاً .." Cancel = 1 DoCmd.GoToControl "الرقم" Else End If
    1 point
  33. اولاء اقوم باختيار مجموعة الاهداف التي سوف اطبقها للطالب دفعة واحدة من خلال الاختيار بعلامة الصح من القائمة المتعددة والتاريخ غير مهم في هذه المرحلة
    0 points
  34. 0 points
  35. استاذى الحبيب ابو جودى بارك الله فيك اخي الكريم احتاج لتطبيق نفس الموضوع على الحساب كما تم التطبيق على مصدر التمويل ممكن حضرتك توضح لى فقط جملة الاستعلام التى سنستخدمها فى استعلام الحساب زادك الله من فضله اللهم امين يارب
    0 points
×
×
  • اضف...

Important Information