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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      11

    • Posts

      9,814


  2. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      9

    • Posts

      12,218


  3. ياسر خليل أبو البراء

    ياسر خليل أبو البراء

    المشرفين السابقين


    • نقاط

      8

    • Posts

      13,165


  4. الصـقر

    الصـقر

    الخبراء


    • نقاط

      4

    • Posts

      1,836


Popular Content

Showing content with the highest reputation on 27 فبر, 2016 in all areas

  1. استاذى الفاضل / عبدالله تفضل المرفق هل هو طلبك تقبل تحياتى example.zip
    3 points
  2. وعليكم السلام ايش رايك بواحده من هذه الطرق / الحركات : البرنامج على الرابط التالي: http://hitechcoach.com/index.php?option=com_docman&task=doc_details&gid=44&Itemid=19 جعفر
    3 points
  3. تصدق كنت خايف من السؤال ده .. إنت عملت اللي عليك .. وربنا يجازيك كل خير .. ولكن يبدو أن هذا فخ .. لم يكن الملف إلا ملف إكسيل عبارة عن فهرس للموضوعات الموجودة على الموقع مع بعض الأكواد الموجودة في محرر الأكواد ليس إلا اعتقدت أنه برنامج منفصل يمكن أن يكون نواة لمكتبة كبيرة عموماً حصل خير وقدر الله وما شاء فعل .. لازم الواحد يتعلم ويسمع كلام إخوانه لما قالوا بلاااااااااااااااااش موضوع الشرا ده (بس نعمل ايه في حب الفضول) جزاكم الله خيراً أخي الغالي أسامة ولا حرمنا الله منك .. وجعل عملك في ميزان حسناتك يوم القيامة وها هو الملف لمن أراد أن يطلع عليه (هنتقم منهم شر انتقام ) VBA Time Saver Kit.rar
    3 points
  4. Option Compare Database Dim DBOld As String Dim DBNew As String Private Sub Form_Close() On Error Resume Next Dim OldFile As String, DBwithEXT, DBwithoutEXT, NewFile As String, CopyMyDB OldFile = DBOld DBwithEXT = Dir(OldFile) DBwithoutEXT = left(DBwithEXT, Len(DBwithEXT) - 4) Application.SetOption "Use Hijri Calendar", False NewFile = DBNew & "\" & Format(Now, "yyyymmddhhnnss") & ".mdb" CopyMyDB = "cmd.exe /C copy " & """" & OldFile & """" & " " & """" & NewFile & """" Shell CopyMyDB, 0 Exit Sub End Sub Private Sub Form_Load() DBOld = CurrentProject.Path & "\db2.mdb" DBNew = CurrentProject.Path & "\tst\" Call zerNc End Sub Sub delfiles() Dim strFldr As String Dim strFile As String Dim FileToGet As String strFldr = CurrentProject.Path & "\tst" ' modify folder to your own strFile = Dir(strFldr & "\*.*") ' get list of files in folder Do While Len(strFile) > 0 FileToGet = left(strFile, Len(strFile) - 4) If FileToGet <= CStr(Format(Date - 3, "yyyymmdd")) Then Kill strFldr & "\" & strFile Else End If strFile = Dir Loop End Sub Sub zerNc() On Error Resume Next Dim OldFile As String, DBwithEXT, DBwithoutEXT, NewFile As String, CopyMyDB OldFile = DBOld DBwithEXT = Dir(OldFile) DBwithoutEXT = left(DBwithEXT, Len(DBwithEXT) - 4) Application.SetOption "Use Hijri Calendar", False NewFile = DBNew & "\" & Format(Now, "yyyymmddhhnnss") & ".mdb" CopyMyDB = "cmd.exe /C copy " & """" & OldFile & """" & " " & """" & NewFile & """" Shell CopyMyDB, 0 Exit Sub Me.Requery Call delfiles End Sub db.rar
    3 points
  5. السلام عليكم ورحمة الله وبركاته .. وجدت هذا المثال في احد المواقع رفعته لكم للفائدة تقبلوا تحياتي .. Picture Lookup in Excel.rar
    2 points
  6. وعليكم السلام DoCmd.RunCommand acCmdAppMinimize dbx.rar
    2 points
  7. وعليكم السلام ورحمة الله وبركاته رحم الله والديك على هالفكرة ، وبالفعل ، يجب تنظيف الملفات القديمة والآن يجي دور اخونا محمد سلامة ، علشان يطلع لنا بعدّة خيارات للحذف (مثل ما عمل عدة خيارات للحفظ) جعفر
    2 points
  8. السلام عليكم ورحمة الله وبركاته الصلاة والسلام علي رسول الله سيدنا محمد النبي الامي أما بعد اسطوانة موسوعة الخطوط العربية الحديثة 2013 للتحميل AIO Arabic Fonts Pack 2013 برابط مباشر صاروخى اسطوانة تجميعية هامة جدا لكل مصمم أو مستخدم للبرامج المكتبية أو حتى أى نوع من أنواع التصميم والكتابات والطباعات اسطوانة بها أجمل وأحدث الخطوط العربية بجميع أنواعها الاسطوانة بواجهة واحدة فقط لسهولة الاستخدام مقسمة إلى عدة أقسام لتتمكن من إضافة ما تفضل من الخطوط دون إجبارك على تحميل كل الخطوط على الويندوز وأنت فى الغالب لا تستخدم إلا ما يعد على أصابع اليد الواحدة فقط فى الغالب الاسطوانة من تصميم أخى أمين ( هيرو سوفت ) ـ الخط الفارسي (19 خط) ـ الخط المغربي (10 خط) ـ خطوط الإعلان (198 خط) ـ الخط المطور (50 خط) ـ الخط البسيط (96 خط) ـ خطوط الديوان (31 خط) ـ خطوط الرقعة (28 خط) ـ خطوط النسخ (66 خط) ـ خطوط الحر (82 خط) ـ خطوط مربعية (46 خط) ـ الخط الكوفي (163 خط) ـ خطوط (54 خط) -------------------------- الاسطوانة مرفوعة على رابط واحد فقط بمساحة 50 ميجا تقريبا الارشيف ميديافاير منقول للفائده بارك الله في كل من له بصمه في هذا العمل
    1 point
  9. ترقيم تلقائي يتجدد مع بداية كل سنة على النحو التالي 1300001 1300002 1300003 1400001 1400002 وهكذا ................. باعتبار الرقم 13 ، 14 هو السنة والترقيم لاشك سيكون تبعا للسنة الحالية Private Sub Form_BeforeInsert(Cancel As Integer) On Error Resume Next Dim xLast, xNext As Integer Dim prtyr, prtTxt As Integer prtyr = Right(DatePart("yyyy", Date), 2) prtTxt = Left(DMax("ID", "tbl1"), 2) xLast = DMax("ID", "tbl1", prtTxt = prtyr) If IsNull(xLast) Then xNext = 1 Else xNext = Val(Mid(xLast, 3, 5)) + 1 End If Me!ID = prtyr & Format(xNext, "00000") End Sub ترقيم تلقائي جديد كل سنة.rar
    1 point
  10. بسم الله الرحمن الرحيم وبه نستعين إخوانى الاعزاء السلام عليكم ورحمته الله وبركاته بناءا على طلب أحد الزملاء الافاضل بهذا الصرح المبارك عبرالخاص وحتى تعم الفائده للجميع أقدم لسيادته وللساده الاعضاء هذا البرنامج وهو يصلح للسادة العاملين بمصانع القطاع الخاص حيث تم ربط الاجر بالحضور والانصراف ويتم التسجيل هنا بصفة يومية وعلى مدار شهرالاستحقاق لكل عامل وهو مقسم على ثلاثة مراحل حسب وضع كل عامل بهذا المصنع المرحلة الاولى مرتبطة بالاجر الاساسى الشهرى المتفق عليه وهو محدد بعدد الساعات الاصلية للعمل المرحلة الثانية مرتبطة بالاجرالاضافى وهناك إحتمالية لحدوث ذلك حسب ظروف كل عامل المرحلة الثالثة مرتبطة بالاجرالاضافى للسهرات الليلية وهناك إحتمالية لحدوث ذلك حسب ظروف كل عامل يشمل البرنامج أيضا الجزاءات التى تقع على العامل ويمكن تعديلة حسب نظام كل شركة يشمل البرنامج أيضا اأيام الغياب لكل عامل بالشركة ففى حالة سماح أيا من رصيد العامل لآجازنه الاعتيادية أو أجازنه العارضة فلايتم خصم أية مبالغ من هذا العامل إلا فى حالة نفاذ تلك الارصدة فتقع عليه أيام الغياب بالخصم يشمل أيضا السلف الذى يتقاضاها العامل على مدارالشهرعلى أن يتم خصمها من اجمالى راتبه اليومى وهناك المزيد نسألكم الدعاء.... تقبوا وافر احترامى .... وجزاكم الله خيرا
    1 point
  11. السلام عليكم ورحمة الله تعالى وبركاته عندي في فورم الفاتورة فورم فرعي الفاتورة_الشركة أريد عند تساوي القيمتين رقم الفاتورة في النموذجين يتحول اللون للسجل الفرعي خاصة عند الرجوع للخلف أو التقدم للأمام المشكلة عندي أنه يقوم بتلوين تكست بوكس واحد فقط وأنا أريد تلوين كامل السجل المعني بارك الله فيكم وفي علمكم الفاتورة 9.rar
    1 point
  12. السلام عليكم إخواني الكرام أثناء تجوالي في مواقع الانترنت وجدت برنامج اسمه VBA Time Saver Kit فكرة البرنامج أنه يقوم بتخزين أكواد الـ VBA .. ويمكن البحث من خلاله بسهولة عن الكود المطلوب .. أعتقد أنه يمكن أن يكون نواة لمكتبة كبيرة نساهم جميعاً في إثراء تلك المكتبة .. لمن لديه خبرة في التعامل مع مواقع الانترنت والشراء من خلالها ويستطيع أن يقوم بشراء البرنامج حوالي 15 دولار فليتقدم ويتبرع إذا كان بإمكانه وبعد الشراء طبعاً عارفين ..كل الوطن العربي هيستخدم البرنامج اللي هيتم شرائه ..بس خلاص تقبلوا وافر تقديري واحترامي
    1 point
  13. السلام عليكم ورحمة الله اريد كود يقوم بأظهار الفورم فقط دون اطار الاكسس كما في الاكسل وجزاكم الله خيرا
    1 point
  14. 1 point
  15. أخي الكريم يرجى تغيير اسم الظهور للغة العربية بارك الله فيك وجزيت خيراً على الملف الجميل والرائع .. ولكن لي رأي .. الأروع من الملف هو أن تقوم بدراسة الملف بشكل جيد ، ثم تقوم بعمل ملف مماثل للملف مع تغيير في الأعمدة أو البيانات أو الصفوف وتطبق ما فهمته ... ثم تطرحه كموضوع يستفيد منه إخوانك بالمنتدى ... هكذا يجب أن يكون العمل .. الملفات الجاهزة عادةً لا يستفيد منها إلا ذوي الخبرة في المجال ..لكن المبتدئين يكون بالنسبة إليهم مجرد ملف وطلاسم غير مفهومة ولا يستطيع تطبيق الملف .. أرجو أن تتقبل نصيحتي بصدر رحب تقبل تحياتي
    1 point
  16. طريقتي لا تصلح للنموذج الجدولي اعمل نسخة من المعادلة التي عملتها في التنسيق المشروط ، ثم الصقها (وبدون تعديل) في التنسيق المشروط لكل حقل في السجل جعفر
    1 point
  17. و عليكم السلام و رحمة الله و بركاته ... اخي يمكنك البحث في المنتدى و ستجد الكثير ...
    1 point
  18. السلام عليكم ياستاذ ياسر تم تنفيز طلبك وتم تغيير الاسم وبرجاء محدش يتضايق من اسالتى لان فى حديث عن أنس بْنِ مَالِكٍ قَالَ : قَالَ رَسُولُ اللَّهِ صَلَّى اللَّهُ عَلَيْهِ وَسَلَّمَ ( طَلَبُ الْعِلْمِ فَرِيضَةٌ عَلَى كُلِّ مُسْلِمٍ ) وانا بشكر حضرتكم لحسن تعاونكم معى .
    1 point
  19. لم افهم المطلوب وخاصة الميلتباج اذا كنت مبتدأ جدا في اكسس فانا ضعيف جدا في اكسل هل فتحت المثال ؟ وهل اختفى اطار اكسس ؟ قد لا يختفي في الاصدارات الحديثة ، واحب التنويه الى اني اعمل على اصدار 2003
    1 point
  20. شكرا استاذنا ابوخليل اخي الكريم اجعل نموذج الادخال للادخال فقط واجعل نموذج اخر للتعديل والحذف واغلق كل حقوله ولا تسمح بالتعديل فيها الا لمستخدم مختص واحد ويمكنك مثلا فتح التعديل بكلمة مرور او من خلال صلاحيات المستخدمين المهم هو ان لا تجعل نموذج واحد لادخال والتعديل والحذف
    1 point
  21. Private Sub Form_Current() If Me.fldate < Date Then Me.AllowEdits = False Else Me.AllowEdits = True End If End Sub باعتبار flddate هو حقل التاريخ في النموذج db2.rar
    1 point
  22. تسلم ياغالى بارك الله فيك كله تمام ياباشا وربنا يصلح مابين يديك دائماً Xl0000126.rar
    1 point
  23. ههههههه والله قبل طرح هذا الموضوع لاستاذنا العزيز ابو خليل ..كنت اؤمن بمقوله لك يا استاذ جعفر قرائتها في احدي مشاركاتك وهي " ان الان مساحة الهارديسك اصبحت الان بالتيرة بايت وهنا اصبحت المساحة كبيرة جدا فلا حاجه لحذف النسخ الزائدة وكل فترة اقوم بمراجعتها واحذفها يدويا" تحياتي لك استاذي ومعلمي استاذ جعفر واستاذي ابو خليل وسوف ارجع المرفق والكود. وارد بعدها
    1 point
  24. أخي الكريم محمد ماهر ضع التاريخ الذي سيتم احتساب تاريخ الميلاد على أساسه في أي خلية وليكن E1 وروح لصندوق الاسم اللي على شمال شريط المعادلات .. وسمي الخلية دي Start_Date واضغط إنتر من لوحة المفاتيح لتأكيد اسم الخلية ضع تاريخ ميلاد الطالب في الخلية A1 مثلاً ثم ضع المعادلة التالية في الخلية B1 لحساب الأيام =IF(A1="","",IF(DAY(Start_Date)<DAY(A1),DAY(Start_Date)+30-DAY(A1),DAY(Start_Date)-DAY(A1))) ثم ضع المعادلة التالية في الخلية C1 لحساب الشهور =IF(A1="","",IF(A1>1,DATEDIF(A1,Start_Date,"ym"),"")) ثم ضع المعادلة التالية في الخلية D1 لحساب السنوات =IF(A1="","",IF(A1>1,DATEDIF(A1,Start_Date,"y"),"")) إذا لم تعمل معك المعادلات استبدل الفاصلة العادية بفاصلة منقوطة تقبل تحياتي
    1 point
  25. شكرك آخى العزيز كريم الفلسطيني فعلا هودا المطلوب وألف شكر ليك آخى الكريم وأنت فعلا كريم واعتذر عن تأخري في الرد
    1 point
  26. الحمد لله وبارك الله فيك الله يسعدك يابوعبدالله ما يفوت عليك شي
    1 point
  27. اساتذتنا الكرام اشكركم جدا على مساعدتكم وكان الكود الذي قدمه السيد خالد الرشيدي رائعا ووافيا ادامكم الرحمن اخوة اعزاء الاستاذ العزيز ياسر مع قناعتي بأن المعادلات هي الافضل كحلول لكن الضروره تتطلب بعض الاحيان اكوادا تخفى عن الآخرين لاسباب يعرفها جميع المحاسبين ولا بستطيع حل طلاسمها الا من له خبرة في مجالها شاكرا كل جهد طيب من جميع الاخوة الاعزاء
    1 point
  28. . وهنا بداية جديدة للمرحلة التالية ، ونريد افكارك كذلك : http://www.officena.net/ib/topic/67564-علاج-تراكم-عدد-النسخ-الاحتياطي/ جعفر
    1 point
  29. ياخسارة الجرشينات اللى راحو قلتلك بلاش ماشي يابو البراء حيث كدا بقي انا المكتبات بتااعتي عاوز فيها مش اقل من خمناشر بوند ياريس نتكلم بجد شوية ياريت متوهناش معاك حط مواصفات العروسة بالظبط يعني واجهه البرنامج شكلها ايه محتوياته امكايناته كل حاجه ارسم حتى الشكل كدا وعايز تكست للكود مثلا وواحد للشرح مثلا يعني اي تفاصيل توضح معالم البرنامج اللي في دماغك عشان اللي عندو حاجه زي كدا يقدر يفيد واللي بيدور يلاقي طلبك واللي هيعمل يجرب يعملك
    1 point
  30. تقريبا علي حسب فهمي انه دالة اخي ابو البراء هي المطلوبة تفضل المرفق كما وضح اخي ابو ا لبراء YasserKh.rar
    1 point
  31. السلام عليكم بالفعل استاذى / ابو البراء مثل هذا الملف حلة بالمعادلات اسهل وايسر ..وما قدمت الكود الا بناء على طلبة .. مشاركة 5 .. وبالتاكيد معادلات اساتذتى الكرام تفى بالمطلوب تماما تقبلوا خالص احترامى وتقديرى
    1 point
  32. لاثراء الموضوع هذه فكرة أخرى لعرض أيام الشهر مع فكرة أخرى لعرض أيام الشهر بدون أيام الجمع تحقيقا لطلب الأستاذ أيمن ابراهيم عرض أيام الشهر ما عدا أيام الجمع.rar
    1 point
  33. هذا هو الحل الذى توصلت اليه ان شاء الله تستفادوا منه وجزاكم الله خيرا داله اليوم بالتاريخ- للتعديل.rar
    1 point
  34. حمل البرنامج وادعيلى اضغط هنا اتفضل اخى ياسر ان شاء الله يعجبكم ومحدش يتكلم فى السياسه انا مش للبيع ههههههههههههههههههههههههههههه
    1 point
  35. ما النت فريم وورك اصدارات ممكن بيعتمد على اصدار معين هتأكد من المكتبة واشوفلك مشكلتها باذن الله وعلى ما اشوفها شوف المكتبة دي بالمرة انا بلاقيهم على الجهاز مش بنزلهم كلها كنت منزلها ايام شغل الفيجوال ببيسك 6 والدوت نت المهم كله بيقوم بنفس الغرض وهو حفظ الاكواد Code Library.rar
    1 point
  36. ايه ياحبيبي ياغالي الموضوع مش مستاهل شراء وانت عارف كويس المصريين بيسلكوا دايما جرب المرفق دا وقولي رايك في منه كتير بس اللي يدور المكتبات دي موجودة من زمن BankCode.rar
    1 point
  37. الرابط التالي فيه وحدة نمطية تصلح المشكلة : http://allenbrowne.com/ser-40.html جعفر
    1 point
  38. أهلا بك أخ تامر انظر مرفقك بعد التعديل وإجراء بعض التعديلات على الجداول (موضح بداخلها).. وتم تغيير مسمى حقلي مربع التحرير والسرد إلى ComboList1 و ComboList2 حيث ComboList2 الذي يعتمد على ComboList1 بداخل مصدره الاستعلامي الآتي: [Forms]![نوع]![ComboList1] على أن يجلب النتائج حسب [النماذج]![نوع] وهو اسم النموذج لديك والذي به![ComboList1 ] وهو مربع التحرير والسرد الذي يعتمد عليه ووضعنا كود للحقل ComboList1 بعد التحديث على أن يجلب النتائج حسب الاستعلام السابق الموجود في ComboList2 وبالبحث ستجد أمثلة كثيرة عن طلبك والأفضل أن تبعتد عن المسميات العربية والمسافات بين الكلمات تحياتي قائمه_منسدله.rar
    1 point
  39. السلام عليك الخاصية كانت موجودة سابقا ، و لكن قامت الشركة المنتجة لتطبيق المنتدى بتحديدها ببعض الامور التي جعلت من غير المتاح تطبيقها اليا و هناك بالفعل من الاخوة من يقوم بتعديل بعض المواضيع يدويا ليشير اليها انها قد حلت و بصورة افتراضية الحالة المثلى هي أن يتم نقل كل ما تم حله بعد فترة الي قسم الارشيف و سنبحث الامر مرة أخرى بإذن الله
    1 point
  40. وعليكم السلام هناك 3 طرق للتعرف على الحقل الذي قيمته Null (لا قيمة ، او قيمة غير معروفة) ، سنعمل على هذا جدول ، ولاحظ السجلات الفاضية: . في الطريقة الاولى (IsNull) قلنا اذا الحقل Null ، فاعطنا النتيجة 0 ، في الطريقة الثانية (Len) قلنا اذا عدد حروف الحقل تساوي صفر ، فاعطنا النتيجة 1 ، . والنتيجة: . لكن الامر الاكثر إتباعا هو Nz ، ومعناه Null to Zero ، والامر هو NZ([Field_Name], Value to Replace)Q ، واليك 4 امثلة عليه: 1. الطريقة الخطأ في استعمال الامر ، حيث لم نخبر الامر النتيجة التي نريدها في حال اكتشف ان الحقل فاضي ، 2. اذا كان الحقل Null ، فحول نتيجة الحقل الى 0 (وهذه الطريقة الاكثر اتباعا) ، 3. وممكن ان ، اذا كان الحقل Null ، فحول نتيجة الحقل الى 1 (او اي قيمة ثابته) ، 4. والقليل يعرف ، اذا كان الحقل Null ، فتستطيع ان تعطي اي قيمة/معادلة شئت للحقل (لاحظ انا ضرب قيمة الحقل Field1 في 100 وفي 200 ، حسب قيمة Field1) ، وحتى يمكننا ان نستدعي دالة Function : . والنتيجة: . جعفر 292.Nulls.mdb.zip
    1 point
  41. رجاءا إطلع على المواضيع التالية ... لازم تحل هذه المشكلة , و بعدين ارجع الى موضوع الباسورد ...
    1 point
  42. استبدل السطر البرمجى السابق بالسطر التالى ( الدالة NZ ) تقوم بتجاهل الفرغات وتحويلها الى اى متغير تكتبه وفى هذه الحالة المتغير صفر Me.totalN = Val(Nz(number1, 0)) + Val(Nz(number2, 0))
    1 point
  43. وعليكم السلام وبعد إذن أخي ابوخليل هنا اجمع جميع الطرق اللي تخطر على بالي ، وهي 4 طرق 1. طريقة أخي ابوخليل: Private Sub Text0_Click() Me.Text0 = Me.Text0.Name End Sub . الطرق الثلاث الباقية تعتمد على الوحدة النمطية: Option Compare Database Function Who_Am_I() Dim frm As Access.Form Dim ctl As Access.Control Set frm = Screen.ActiveForm 'get the active Form Name Set ctl = Screen.ActiveControl 'get the active Control (in our case it was a field) name 'The way we address a Field in another Form, 'like this: Forms!FormName!FieldName 'so we have to do it here similarly, 'this will send the field name to the active Field in the active Form Forms(frm.Name)(ctl.Name) = ctl.Name 'this will return the Funtion Who_Am_I value to the variable that called it Who_Am_I = ctl.Name End Function 2. ننادي الوحدة النمطية مباشرة (لاحظ علامة = ) ، ولا يوجد كود محلي في VBA : . 3. نعمل كود محلي ، والذي ينادي الوحدة النمطية: Private Sub Text4_Click() 'this way will get the field name from the Function Who_Am_I 'and it will place the value in the Field in the Form Call Who_Am_I 'this way will get the field name from the Function Who_Am_I 'and it will place the value in the Field in the Form 'and it WILL place the Field name in the variable A, so that we can use it A = Who_Am_I MsgBox A End Sub . وبما اننا نادينا الوحدة النمطية Who_Am_I عن طريق المتغير A ، فاصبح المتغير A لديه نتيجة/قيمة الوحدة النمطية ، وعليه نستطيع ان نستخدم هذه القيمة كيف نشاء في الكود ، فمثلا استخدمناها لإعطاءنا رسالة بإسم الحقل ، والنتيجة: . 4. نعمل ماكرو ، ونجعل الماكرو ينادي الوحدة النمطية: . (لاحظ مافي علامة = ) ، ولا يوجد كود محلي في VBA: . جعفر 280.db2016.accdb.zip
    1 point
  44. الفاضل محمد طاهر أتفق معك بالكامل في عدم اللجوء إلى إضافات و تحسينات في برمجيات الموقع و التمسك قدر الامكان بالبرمجيات كما تصدرها شركة ال invision board و ذلك بناء على تجربة طولها خمسة عشر عاما في موقع محاورات المصريين. EgyptianTalks.org كنا نعاني بشدة مع كل إصدار جديد في مسألة الحفاظ على ما أضفناه من تعديلات غير نمطية و الحقيقة كان هناك إضافات تعتبر نمطية أو آمنة hooks حتى هذه اذا تم تغيير من قبل مؤلف التعديل يمكن أن يكون التعديل الآمن غير آمن. بالنسبة للشريط المتحرك للمشاركات الجديدة عامة يمكن أن يعرض تقريبا عشرة مشاركات من عدد معين من الأقسام و يؤدي إلى بطء التصفح و في محاورات المصريين استغنينا عن هذا الشريط و إستبدلناه ب hook المشاركات الحديثة و هذا أيضا له نفس القيود ، و بعد قرائتي لهذا الموضوع هنا ... سألجأ الى التخلص من hook المشاركات الحديثة. في نهاية مداخلتي هذه. أتمنى من موقعكم المميز هذا أن يعرض المساعدة و الدعم لبرمجيات ال invision board. أسجل إعجابي الشديد بهذا الموقع
    1 point
  45. سادساً :- التعامل مع العناصر الموجوده داخل الــ Frame بطرق احترافيه فى البدايه يبدو ان العنوان غريب وغير مفهوم خليك معايا خطوه خطوه هتفم يعنى ايه الكلام ده شاهد الصوره التاليه دا فورم فى مرحلة التصميم وزى ما انتم شايفين يوجد زر اخضر اسمه Test وهو عباره عن Label ويوجد ايضا عدد 2 تكست بوكس وعدد 2 كمبو بوكس المطلوب انا عايز اعمل كود عند الضغط على الزر الاخضر اثناء عمل الفورم يقوم الكود بعمل اختبار للعناصراللى من النوع تكست بوكس هل هى فارغه ام بها بيانات اذا كانت فارغه يعطينى رساله باسم التكست وكمان يجعل لون التكست احمر ازاى ننفذ الكلام ده اولا هو عايز الكود يتم تنفيذه عند الضغط على الزر الاخضر حلو اوى طيب الزر الاخضر ده عباره عن ايه ؟ شوف الصوره هتلاقى ان الخاصيه Name هى Label1 اذن الكود هيكون كالتالى Private Sub Label1_Click() 'مكان وضع الكود المراد تنفيذه End Sub ما هو الكود المراد تنفيذه ؟ هو اختبار العناصر هل هى من النوع تكست بوكس أم لا واذا كانت من النوع تكست بوكس هل هى بها بيانات ام لا واذا تبين ان العنصر من نوع التكست بوكس ولا يوجد به بيانات اظهرلى رساله باسم العنصر وكمان اجعل العنصر لونه احمر أول شئ علشان اختبر كل العناصر اللى على الفورم واشوف نوعها اذن لازم اعرف متغير من نوع Control لان انا هتعامل مع العناصر Dim a As Control هنا سميت المتغير اسم a ( وطبعا يمكن تسمية اى اسم كيفا شئت ) وقلت اى المتغير a ده عباره عن عنصر تحكم ( قد يكون لليبل او تكست بوكس او كمبوبوكس او ليست بوكس او فريم او تشيك بوكس وغيرها من العناصر ) فعلشان الف على كل العناصر اللى موجوده على الفورم يبقى لازم الحلقه التكراريه For Each Private Sub Label1_Click() Dim a As Control For Each a In Me.Controls ' مكان اختبار العنصر اذا كان من النوع تكست بوكس وايضا هل هو فارغ من البيانات Next a End Sub عملت حلقه For Each للمتغير a وقلت ان a ده هو عباره عن عنصر تحكم موجود على الفورم Me.Controls Me هنا عايده على عناصر الفورم ازاى بقى اعمل اختبار للعناصر هل هى من النوع تكست بوكس و هل هى بها بيانات ام لا اذن هستخدم if Then If TypeOf a Is msForms.TextBox And a = "" Then End If if تعنى لو الاختبار الاول هل العنصر من نوع التكست بوكس TypeOf a Is msForms.TextBox TypeOf تعنى نوع الــ a هو عنصر التحكم اللى بيتغير كل مره مع الحلقه For Each is يكون msForms.TextBox تكست بوكس الاختبار الثانى a = "" and تعنى ( و ) لعمل شرط ثانى a = "" عنصر التحكم فارغ Then تعنى نفذ التالى ( وطبعا قفلنا if بــ End if ) طيب لما الكود يختبر نوع العنصر ويلاقيه تكست بوكس وكمان يلاقيه فارغ ماذا ينفذ يجعل التكست بوكس لون الخلفيه احمر ويظهر لى رساله باسم العنصر If TypeOf a Is msForms.TextBox And a = "" Then a.BackColor = 10200 MsgBox "فارغ يرجى تعبئة التكست" & a.Name End If شاهد الكود بشكله النهائى Private Sub Label1_Click() Dim a As Control For Each a In Me.Controls If TypeOf a Is msForms.TextBox And a = "" Then a.BackColor = 10200 MsgBox "فارغ يرجى تعبئة التكست" & a.Name End If Next a End Sub هعملك مشهد تمثيلى لعمل الكود جوا دراما يعنى جايز الاقى فيكم مخرج يكتشفنى عند عمل الكود فى اول سطر هيخزن فى ذاكرته ان المتغير a هو عنصر تحكم ثم ياتى للسطر الثانى وهو For Each a In Me.Controls الحلقه هتجعل ان a هى Label1 هيروح للسطر اللى بعده يعمل اختبار بالــ if فهيلاقى ان a اللى هى دلوقتى ( Label1) مش من النوع تكست بوكس اذن متحققش الشرط الاول فهينتقل الى End if بدون ما ينفذ اى شئ ثم ينتقل الى Next وتعنى ارجع الى الحلقه For Each مره تانية لما يرجع للحلقه سيكون a فى هذه المره هى TextBox1 ثم ينتقل الى السطر التالى اختبار if طبعا هيختبر نوع TextBox1 هيلاقيه بالفعل من النوع TextBox تحقق اول شرط طيب هيشوف الشرط التانى هل التكست فارغ ام به بيانات اذا كان فارغ هيجعل لون خلفيته حمراء ويعطنى رساله باسمه ثم ينتقل الى Next وتعنى ارجع الى الحلقه For Each مره تانية لما يرجع للحلقه سيكون a فى هذه المره هى ComboBox1 ثم ينتقل الى السطر التالى اختبار if طبعا هيختبر نوع ComboBox1 هيلاقيه مش من النوع ComboBox فلم يتحقق الشرط الاول فهينتقل الى End if بدون ما ينفذ اى شئ ثم ينتقل الى Next وتعنى ارجع الى الحلقه For Each مره تانية وهكذا الى ان تنتهى الحلقه بعد ما تجعل a بكل العناصر اللى على الفورم وينتهى الكود شاهد هذه الصوره عند عمل الفورم والضغط على الزر الاخضر دى كانت مقدمه للمثال التالى وهو الاهم واللى اكيد هيقابلك لو انت هتصمم برامج اكيد هيقابلك المثال التالى مثال 2 :- شاهد الصوره التالية طبعا علشان اعمل كود فى حدث الليبل " الحفظ " هيكون الاعلان عن الكود كالتالى Private Sub Label1_Click() 'اولا اختبار صحة الادخالات 'ثانيا ترحيل البيانات التى تم تعبئتها من قبل المستخدم الى الشيت End Sub انا موضوعى اليوم هو اولا اختبار صحة البيانات المدخله أما الجزء الخاص بترحيل البيانات الى الشيت مش موضوعى اليوم سنتناوله لاحقا باذن الله اولا اختبار صحة البيانات المدخله لو رجعت للصوره السابقه هتلاقى ان المطلوب اختبار كل عناصر التكست بوكس هل تم ملئ الدرجات بها ام لا وزى ما عرفنا قبل كدا ممكن تكون كالتالى Private Sub Label1_Click() If TextBox1 = "" Then TextBox1 .BackColor = 10200 End If If TextBox2 = "" Then TextBox2 .BackColor = 10200 End If End Sub يعنى هختبر كل عنصر بالشكل ده طبعا مستحيل طيب هتعمل ايه لو كان عندك مثلا 100 تكست بوكس او اكتر ؟؟؟؟؟؟ طبعا لو عملت كدا محتاج 100 صفحه علشان تكتب الكود مش منطق طبعا اذن لازم من حل احترافى شاهد الكود بشكل احترافى فى بضعه اسطر وبعدين نشرحه Private Sub Label1_Click() Dim a As Control For Each a In Frame1.Controls If TypeOf a Is msForms.TextBox And a = "" Then a.BackColor = 10200 End If If TypeOf a Is msForms.ComboBox Then If a.MatchFound = False Then a.BackColor = 10200 End If End If Next a 'ثانيا كود ترحيل البيانات التى تم تعبئتها من قبل المستخدم الى الشيت End Sub الكود فى المثال السابق كانت حلقة For Each عباره عن For Each a In Me.Controls ( هنا كان المتغير a يمثل كل العناصر على الفورم لذالك استخدمت Me.Controls وقلت ان Me عائده على الفورم النشط لكن فى الكود الحالى انا عايز اتعامل مع العناصر اللى داخل الــ Frame1 فقط فتم كتابة الحلقه كالتالى عباره عن For Each a In Frame1.Controls فهنا a هتكون كل عنصر من العناصر اللى داخل الفريم فقط واحد صاحى معايا هيلاحظ ان لما استخدمت If لاختبار ان العنصر من النوع تكست بوكس تم استخدام شرط التحقق من نوع العنصر انه تكست بوكس وشرط ان العنصر فارغ فى سطر واحد من خلال And شاهد الكود If TypeOf a Is msForms.TextBox And a = "" Then a.BackColor = 10200 End If ولكن عند استخدام if لاختبار ان العنصر من النوع كمبوبوكس وان الاختيار تم من القائمه تم استخدام if لاختبار شرط التحقق من نوع العنصر اذا كان كمبوبوكس يتم تنفيذ if اخرى وكتابة الشرط الثانى ان الاختيار تم من القائمه شاهد الكود If TypeOf a Is msForms.ComboBox Then If a.MatchFound = False Then a.BackColor = 10200 End If End If فى حد عنده تفسير لذالك ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ليه مكتبناش اختبار ان نوع العنصر كمبوبوكس وان الاختيار تم من القائمة فى سطر واحد من خلال And مثل التكست بوكس يعنى يكون كدا If TypeOf a Is msForms.ComboBox And a.MatchFound = False Then a.BackColor = 10200 End If هقولك انا ما هو السبب الحلقه For Each لما تشتغل هيكون اول مره a كل مره تمثل عنصر من عناصر التحكم داخل الفريم فهيكون أما ليبل أو تكست بوكس أو كمبوبوكس كما هو بمثالنا فى الصوره السابقه موضوع الشرح لما تشتغل If الاولى If TypeOf a Is msForms.TextBox And a = "" Then a.BackColor = 10200 End If فعندما يكون a عباره عن Label " " = a " " =Label1 فلا يوجد مشكله لان Label ممكن = فارغ -------------------------------------- فعندما يكون a عباره عن TextBox " " = a " " =TextBox1 فلا يوجد مشكله لان TextBoxممكن = فارغ -------------------------------------- فعندما يكون a عباره عن ComboBox " " = a " " =ComboBox1 فلا يوجد مشكله لان ComboBox ممكن = فارغ -------------------------------------- لما تشتغل If الثانيه If TypeOf a Is msForms.ComboBox And a.MatchFound = False Then a.BackColor = 10200 End If فعندما يكون a عباره عن Label a.MatchFound = False Label.MatchFound = False فهنا يوجد مشكله لان Label ليس من خواصه MatchFound وكذالك TextBox لان MatchFound هى من خواص ComboBox فقط وهى لعمل اختبار هل الاختيار تم من القائمه ام لا لذالك مينفعش نعمل الكود بالشكل ده هيحدث Error ولتجنب Error لازم يكون الكود بالشكل التالى If TypeOf a Is msForms.ComboBox Then If a.MatchFound = False Then a.BackColor = 10200 End If End If يعنى اختبر العنصر هل هو ComboBox أولا أم لا اذا كان من النوع ComboBox اعمل اختبار عليه وهو هل تم الاختيار من القائمه أم لا واذا كان العنصر من النوع Label أو TextBox متعملش اختبار MatchFound ارجوا ان يكون الشرح واضح هو بس محتاج تركيز شويه شاهد الكود مره تانية بشكله النهائى كالتالى Private Sub Label1_Click() Dim a As Control For Each a In Frame1.Controls If TypeOf a Is msForms.TextBox And a = "" Then a.BackColor = 10200 End If If TypeOf a Is msForms.ComboBox Then If a.MatchFound = False Then a.BackColor = 10200 End If End If Next a 'ثانيا كود ترحيل البيانات التى تم تعبئتها من قبل المستخدم الى الشيت End Sub شاهد الصوره التاليه عند تشغل الفورم والضغط على زر الحفظ طبعا انت ممكن تغير فى الكود بدل ما ينفذ بجعل الخلفيه لونها احمر a.BackColor = 10200 ممكن تغير اى شئ تريد تنفيذه يعنى مثلا يعطى للمستخدم رساله باسم العنصر اللى فيه خطأ زى كدا Private Sub Label1_Click() Dim a As Control For Each a In Frame1.Controls If TypeOf a Is msForms.TextBox And a = "" Then MsgBox a.Name & " برجاء تعبئة بيانات" End If If TypeOf a Is msForms.ComboBox Then If a.MatchFound = False Then MsgBox a.Name & " برجاء تعبئة بيانات" End If End If Next a 'ثانيا كود ترحيل البيانات التى تم تعبئتها من قبل المستخدم الى الشيت End Sub شاهد الصوره التاليه عند تشغل الفورم والضغط على زر الحفظ ------------------------------------------------------------------------------------------------------------------------------------ الى لقاء اخر من حلقات سلسلة علمنى كيف اصطاد انتظرونا تقبلوا تحياتى
    1 point
  46. وعليكم السلام الطريقة التي انا عملتها هي كالتالي: التقرير ، عملت الوجهين على نفس الورقة ، الواجهة على الجهة اليسار ، والخلفية على الجهه اليمنى: . والصورة النهائية هكذا: . وعند الانتهاء من طباعة جميع البطاقات ، وتقطيع كل بطاقة على حدة (كما في الصورة اعلاه) ، ثم تقوم بثني البطاقة ، بحيث تصبح البطاقة لها واجهة وخلفية ، ثم تقوم بوضعها في الكيس البلاستيك ، وتغلفها حراريا جعفر
    1 point
  47. أ.احمد الفلاحجى ......... جزاك الله خيراً اسمح لى ان اضع هذه المشاركة لتغيير التاريخ تلقائى بمجرد وضع رقم الشهر فى الخلية D1 داله اليوم بالتاريخ_3.rar
    1 point
  48. الســــلام عليكم يمكن استدعاء تقريبا كافة معادلات الاكسيل فى ال VBA باستخدام الامر Application.Worksheetfunction وهو ما فعلتة حضرتك واستدعيت الدالة SUMIF ولكن MAXIF و MINIF ليست ضمن معادلات الاكسيل وانما تم مزج IF مع MAX فى معادلة صفيف CTRL+SHIFT + ENTER لايجاد اكبر قيمة بشرط ... وكذلك الحال فى MINIF لهذا لاحظ ما يلى يلاحظ عند استخدام Evaluate تم قراءة المحتوى ما بين ال " " اى ال 1+1 كمعادلة وتم ارجاع الناتج على خلاف FORMULA التى نسخت المعادلة الى الخلية وسنستخدم Evaluate فى تنفيذ MAXIF و MINIF Range("D7").Value = Evaluate("=MAX(IF(D10:D13=B11,$E10:$E13))") Range("D15").Value = Evaluate("=Min(if(D10:D13=B11,E10:E13))") لاحظ كيف تم كتابة المعادلة بدون استخدام وسائط الاشارةالى النطاقات فى ال VBA ك RANGE او ... فقط تم كتابة المعادلة وكانها تكتب على ورقة العمل ما بين (" ") ولكن كيف سيعرف الاكسيل صفحة العمل التى تحوى تلك النطاقات فقط لاحظ ما يلى Range("D7").Value = Worksheets(" ورقة1 ").Evaluate("=MAX(IF(D10:D13=B11,$E10:$E13))") Range("D15").Value = Worksheets(" ورقة 1 ").Evaluate("=Min(if(D10:D13=B11,E10:E13))") اليك المرفق دالة MAXIF -MINIF.rar
    1 point
  49. إخواني الكرام إليكم الإصدار الأخير من مكتبة الصرح ، تم إضافة مجموعة جديدة من الأكواد .. أرجو المشاركة في المشروع (ايد لوحدها متصقفش) بالنسبة للموضوع هناك ميزة غير موجودة بأي موضوع آخر أن آخر مشاركة فيها حصيلة المشاركات جميعها ..يعني حضرتك لما تتأخر لأي سبب وترجع تبص على آخر مشاركة هتلم اللي فاتك كله ، بس رجاء بلاش كسل ويا ريت تشارك ولو بكود .. كودك مش هيكلفك كتير لكن هيكون لبنة في المشروع ..أرجو الاهتمام .. لا أريد أن يموت المشروع وتموت الفكرة كما ماتت من قبل .. لاحظت أن الكثيرين فكروا بما فكرت فيه ، وربما أقدموا على خطوات كبيرة ، ولكن المشكلة أنهم في مرحلة ما يتوقفوا ، ولكن بعون الله لن لن لن نتوقف ، حتى لو توفاني الله أنا واثق أن غيري سيكمل ما بدأناه هنا .. من هنا شرارة الإنطلاق ، وما زالت الأكواد مستمرة .. تابعوا معنا !!! Codes Library v1.1.rar
    1 point
  50. بعد اذن الاخ العزيز ابو خليل تفضل اخي الكريم مثالك بعد التعديل عليه قم بفتح التقرير Print Preview طبع لا يوجد داعي لتكرار السجلات حيث انه يثقل قاعده البيانات وليس من اصول تصميم قواعد البيانات طبعا يوجد جدول اسم counttbl لا تقم بحذفه الملف.zip
    1 point
×
×
  • اضف...

Important Information