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

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

  1. محمد حسن المحمد

    • نقاط

      9

    • Posts

      2220


  2. مختار حسين محمود

    • نقاط

      8

    • Posts

      944


  3. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      5

    • Posts

      12867


  4. عبد العزيز البسكري

    • نقاط

      3

    • Posts

      1352


Popular Content

Showing content with the highest reputation on 09/20/15 in مشاركات

  1. أمس جه فى بالى ازاى أعرض على المستخدم رسالة على فترات زمنية متفطعة وكمان من غير ما يضغط المستخدم على زر زى ok cancel Retry ..... طبعا الرسائل العادية المعروفه لا تمكنا من ذلك خاصة وأن فيها على الأقل زر ok فكتبت هذا الكود مستخدما اليوزر فورم لعرض رسالة على فترات زمنية متفطعة على المستخدم Option Explicit Sub showUF() Dim i As Integer For i = 1 To 3 'عدد مرات العرض Application.OnTime Now + TimeValue("00:00:01"), "UnloadUF" ' مدة عرض الفورم UserForm1.Show Next i End Sub Sub UnloadUF() UserForm1.Hide Application.Wait Now + TimeValue("00:00:01") ' مدة اختفاء الفورم End Sub كيفية عرض عدة رسائل على المستخدم على فترات زمنية متقطعة لتنفيذ هذا يلزم عدد معين من اليوزر فورم كل فورم به رسالة مختلفة فاستخدمت أسلوب المصفوفات فى عرض هذه الرسائل على المستخدم فكان هذا الكود الذى يعرض عددا من اليوزر فورم زاحد تلو الآخر Option Explicit Dim X As Integer Dim iuserform As Variant Sub showUF() ' by mokhtatr 19/9/2015 iuserform = Array(UserForm1, UserForm2, UserForm3, UserForm4) For X = LBound(iuserform) To UBound(iuserform) Application.OnTime Now + TimeValue("00:00:01"), "UnloadUF" ' مدة العرض iuserform(X).Show Next X End Sub Sub UnloadUF() iuserform = Array(UserForm1, UserForm2, UserForm3, UserForm4) iuserform(X).Hide Application.Wait Now + TimeValue("00:00:01") End Sub تفضلوا المرفقات كل عام وأنتم بخير displays a timed messages on the UserForm by mokhtar.rar displays a timed message on the UserForm by mokhtar.rar
    3 points
  2. السلام عليكم إخوتي الأكارم أقدم لكم اليوم سلسلة علمني كيف أصطاد (الفورم) في الإكسيل الجزء الأول في الإكسيل لأخي الحبيب صقر المنتدى "حسام عيسى" أرجو من الله أن يتقبل عملي هذا ويجعله خالصاً في سبيله وابتغاء مرضاته...كما أرجو أن أفتح باباً لتسهيل الوصول إلى أعمال رواد الإكسيل الكرام والسلام عليكم. علمني كيف أصطاد فورم ج 1
    3 points
  3. السلام عليكم إخوتي الأكارم أقدم لكم اليوم المصفوفات في الإكسيل الجزء الأول للأستاذ الكريم الأخ الحبيب والولد النجيب ياسر خليل أبو البراء المحترم أرجو الله العلي الكريم أن تحظى بإعجابكم ...أستفيد من النقد البناء ....والله من وراء القصد والسلام عليكم ورحمة الله وبركاته. المصفوفات الجزء الأول
    3 points
  4. الله الله الله رووووعه يا زيزو يا بسكرى ملف تحفة جميلة بجد تسلم ايدك . هنأتنى برمضان الماضى ولم أعرف والله الا الآن وها أنا أهنئك بعيد الأضحى القادم ان شاء الله يكون عيد خير وسعادة ومحبة عليك وعلى أهلك وعلينا وعلى كل المسلمين فى شتى أرجاء المعمورة
    2 points
  5. جميل جدا يا أستاذ محمد عبد السلام بارك الله فيكم هذا الرابط مفيد و له علاقه بموضوعك http://www.officena.net/ib/topic/63770-transparent-userform-فورم-شفاف/ أطلب من الادارة تعديل لعنوان الموضوع الى كود للتحكم فى درجة شفافية الفورم ليصبح العنوان أكثر تعبيرا عن محتواه تحياتى
    2 points
  6. السلام عليكم إخوتي الكرام...ما أقوم به من باب الوفاء بالجميل لكل من ساهم بعلم ونشره بدءاً من الوالدين اللذين غرسا في كيانك أولى القيم ، التحلي بالفضائل والتخلي عن الرذائل ثم المعلم الذي سكب كل ما في جعبته ..وأضاء شموعه لينير لك طريق النجاح والفوز والفلاح وكم كان معبراً ذاك الشاعر الذي ترنو العيون لوصفه لدور الأبوين الطيبين والمعلم النجيب إذ يقول: التاركان على جبينك ميسمـــــــا هل تجهلنهنا و تجهل من همـــــا ؟ أم غذتك لبانها و حنانهــــــــــا من قبل أن تلج الحياة و بعدمـــــا ومعلم وكفى بكل معلم شرفـــــا وقد بعث النبي معلمـــــــــــــــــا الموقدان على دروبك شعمــــة حذرا عليك من الضلالة والعمـى لو لم يعيراك الخيال مجنحــــا ما طرت تزحم في السماء الأنجما لولا أغاريد السرير وبعض ما سكباه في شفتيك كنت الأبكمـــــا من أشعل الحب المقدس فــــي دمي لهبا وألهمني فكنت الملهما والمرء ليس المرء غير فؤاده متبصراً ولسانه متكلمـــــــــــا وأنا هنا من هذا الباب أقدم هذه الفكرة التي أرجو المساهمة معي بها...لنتعاون على أرشفة أعمال المبدعين في مجال هذا دون استثناء لأحد منهم.قد يتطلب ذلك وقتاً . جزاكم الله خيراً.. والسلام عليكم.
    2 points
  7. تفضل الملف في الرابط التالي نمودج بسيط يبين كيف يستعمل ال التاب ستريب كونترول بدل ال ميلتيبيج https://app.box.com/s/6iin0p6x29uzfmtxqlcriyeoa5sdfna1
    2 points
  8. الكود في الملف يحتاج الى كونترول أو dll .. فهو لا يشتغل عندي لكن في الحقيقة جعل الفورم شفاف مع التحكم في درجة الشفافية لا يحتاج الى أي كونترولات أو Com Dlls ثم هنالك فرق بين شفافية الفورم في االرابط http://www.officena.net/ib/topic/63770-transparent-userform-فورم-شفاف/ و الدي يعمل الشفافية على وسط الفورم فقط Client Area و يبقي على الكونترولات و شريط العنوان TitleBar و بين الكود في الرابط Userform_.zip و اللدي يخفي الشريط و الكونترولات و كل شيئ
    1 point
  9. انشاء الله بعد ما تشوف كده القاعده بعد التعديل لو هو ده المطلوب ان شاء الله هأشرح لحضرتك انا عملت ايه انا عملت ده على قدر فهمى الضئيل college_up.rar اتمنى حضرتك تفهمنى انت عاوز تعمل ايه من مربع التحرير والسرد فكرة حضرتك لان والله انا باعرف اقرأء وزى ما هو واضح لى بقدر المستطاع انا جاوبت لكن مش فاهم من اللى انت كاتبه اى حاجه انا باتعامل مع شئ مبهم لازم حضرتك تتعاون معايا وتفهمنى افكارك الاول عن النماذج والجداول والحقول اللى حضرتك عاوز تعالج فيها البيانات علشان نقدر نحلل ونشوف المطلوب ازاى يتم تنفيذه تقدر تقول لى السطر ده معناه ايه ومن واقع كلامك لماذا لا يوجد توافق ما تم اختياره في مربع التحرير ( combo box) وباقي السجلات في النموذج هو حضرتك عاوز لما اختار اى شئ من الكومبوبكس ده بعمل حاجه يعنى ايه التوافق اللى انت منتظره انا مش فاهم والله ارجوك بلاش تخلى الاجابه مختصره لان انا مش صممت القاعده ولا فاهم هى هتعمل ايه ولا اهداف معالجة بياناتها ايه ارجوك انا لا هزهق منك ولا هأمل من كتر كلامك اشرح باستفاضة وضوح المطلوب تفصيلا ولام تفهم انا فهمى على اد حالى وبأفهم بصعوبة شوية اتعب معايا وفهمنى علشان اقدر اساعدك ان شاء الله
    1 point
  10. يؤسفني عدم تمكني من فتح المرفق لاني اعمل الآن على جهاز يحتوي على اصدار 2003 ولكن تكفي الصورة الظاهرة لتحكي عن جمال التصميم لدي ملاحظة : وهي يفضل ادراج كلمة في ( نسخة كل ) لتصبح (نسخة جديدة كل ) لان النسخة الاحتياطية حاصلة بالفعل عند كل ضغطة زر
    1 point
  11. السلام عليكم ورحمة الله أخي الكريم، للإجابة على طلبك تم تغيير الدالة VLOOKUP بالدوال INDEX و SMALL (مع دوال أخرى) بمعادلة صفيف (التي يجب تأكيدها بالضغط على CTRL+SHIFT+ENTER) وهي صالحة مهما كانت التكرارات... أرجو أن تفي المعادلات الغرض المطلوب... بن علية New Worksheet_3.rar
    1 point
  12. السلام عليكم أخي عبد العزيز أعزك الله... كما تشاؤون...لا توجد ثوابت في هذا الكون من الأشياء بشكل حقيقي بل متحرك ومتغير ومنقول...فما قولك؟. وترى الجبال تحسبها جامدة وهي تمر مر السحاب.. والشمس تجري لمستقر لها.. ومن نعمره ننكسه في الخلق.. إلا شيئا واحدا" نرجو أن يكون ثابتا"...يا مقلب القلوب واﻷبصار ثبت قلبي على دينك... شكرا جزيلا على دعمك لأعمالي المتواضعة ...تقبل تحياتي. السلام عليكم.
    1 point
  13. السلام عليكم و رحمة الله و بركاته جزاك الله خيرًا أستاذنا القدير محمد حسن المحمد على عملك الجبّار .. واصل وفّقك الله لما يحبّه و يرضاه .. سيّدي الكريم هل نعتبر أنّ هذا الموضوع لسرد مواضيع أساتذتنا الكرام و عباقرة منتدانا بارك الله فيهم جميعًا .. أم يمكننا فتح باب المناقشة من حين لآخر .. فقط لتوضيح الرؤية لدى السادة القرّاء لهذه المواضيع الشيّقة و المميّزة و المفيدة و أنا أحدهم فائق احتراماتي
    1 point
  14. السلام عليكم و رحمة الله و بركاته ألف شكر أستاذي الغالي مختار حسين محمود على الملف الجميل و الفكرة الرائعة .. بارك الله فيك و زادك من علمه و فضله .. أردت فقط من باب " زيادة الخير خيرين " الاشارة إلى الملف الذي طرحته بمناسبة شهر رمضان .. طبعًا كان بعفوية لم أكن أقصد به عرض العديد من اليوزر فورمات المتتالية.. قصدت به تهنئة أساتذتي الأعزّاء الناشطين آنذاك بذلك الشّهر .. و قد كنتَ أنتَ سيّدي الكريم مختار حسين محمود من الأوائل الذين هنّأتهم .. فالملف بدون تعديل .. تفضّل الرابط : http://www.officena.net/ib/topic/62222-هديّة-الشهر-الفضيل/ رابط الملف من جديد : رمضان كريم.rar
    1 point
  15. اثراء المنتدى بعناوين جديدة افضل لاشك بارك الله فيك
    1 point
  16. أستاذ عمار الكود التالى يمنع التعامل مع الأعمدة والصفوف Sub DisableRowsColumns() Application.CommandBars("Column").Enabled = False Application.CommandBars("ROW").Enabled = False End Sub للعودة غير False الى True
    1 point
  17. تمت التجربة بنجاح انظر الصورة المحملة والمشكلة السابقة في مشاركتي السابقة
    1 point
  18. بسم الله الرحمن الرحيم الاخوه الكرام اليوم بمشيئة الله سنتكلم عن المحور الخامس والاخير كيفية عمل تنسيقات للقيم المدخله فى TextBox عرفنا قبل كدا فى الشروحات السابقه ما هى اوقات تنفيذ الكود هنعمل مراجعه بسيطه لربط شرح اليوم بالشروحات السابقه قبل أن نتحدث عن وقت تنفيذ الكود لازم نعرف أولا أزاى بيكون كتابة ألاعلان عن الكود للـ TextBox Private Sub TextBox1_AfterUpdate() هنا يتم كتابة الكود المراد تنفيذه End Sub السطر الاول هو بداية الاعلان عن الكود فنقوم بكتابة Private Sub ستجد لونها بالكود أزرق ( وهو بداية لاى كود خاص لأى عنصر تحكم داخل الفورم ) ثم نقوم بكتابة اسم العنصر المراد عمل الكود له وهو بمثالنا TextBox1 ثم نقوم بكتابة _ ( تكتب من خلال الضغط على Shift+زر الطرح الموجود بالاعلى بجوار زر + ) ثم نقوم بكتابة وقت تنفيذ الكود (هو هنا على سبيل المثال AfterUpdate ) ثم كتابة () قوسين بهذا الشكل وبمجرد الضغط انتر ستجد الكود عمل سطر تانى فيه End sub يوجد طريقه اخرى وهى اتبع الصوره التالية توضح لك قم بالضغط على اى مكان فاضى بالفورم وادخل لمحرر الاكواد الخاص بالفورم هنبدأ بالامثله العمليه لان بالمثال يتضح لنا المقال وانا راجل عملى مش بحب النظرى 1-التحكم فى تنسيق القيم المدخله فى التكست بوكس بعدد صحيح شاهد الكود Private Sub TextBox1_AfterUpdate() TextBox1.Text = Format(TextBox1.Text, "0") End Sub السطر الاول عرفنا انه الاعلان عن الكود وسوف يتم تنفيذه فى وقت تحديث التكست بوكس أى بعد الانتهاء من الادخال والانتقال او الخروج من التكست الى اى عنصر اخر على الفورم والسطر التانى هو الكود اللى هيتم تنفيذه شرح الكود ( السطر التانى ) شاهد الصوره هنا نوع التنسيق "0" تم وضعه بين علامتين تنصيص وبداخله 0 يعنى تنسيق التكست بوكس بعد الادخال يكون رقم صحيح فلو فرضنا حضرتك كتبت 20.60 وخرجت من التكست بوكس ستجد القيمة اصبحت 20 فقط ولا يوجد علامه عشريه -------------------------------------------------------------------------------------------------------------------------------------------------------- 2-التحكم فى تنسيق القيم المدخله فى التكست بوكس بوضع علامه عشريه Private Sub TextBox1_AfterUpdate() TextBox1.Text = Format(TextBox1.Text, "0.0") End Sub هنا نوع التنسيق "0.0" يكون رقم واحد بعد العلامه العشريه مثال لو حضرتك ادخلت 20 فقط ستجد التكست بوكس اصبح 20.0 ولو حضرتك دخلت 20.2 ستجد التكست بوكس اصبح 20.2 ولو حضرتك دخلت 20.50 ستجد التكست بوكس اصبح 20.5 فقط يعنى سوا دخلت رقم عشري واحد او ادخلت رقمين عشريين او لم تدخل ارقام عشريه ستجد النتيجة بعد رقم عشرى واحد طيب لو احنا عايزين رقمين بعد العلامه العشريه الموضوع بسيط جدا هنخلى التنسيق كالتالى "0.00" شاهد الكود Private Sub TextBox1_AfterUpdate() TextBox1.Text = Format(TextBox1.Text, "0.00") End Sub لاحظتم الفرق طيب لو 3 أرقام عشريه Private Sub TextBox1_AfterUpdate() TextBox1.Text = Format(TextBox1.Text, "0.000") End Sub ------------------------------------------------------------------------------------------------------------------------------------ 3-التحكم فى تنسيق القيم المدخله بوضع علامه العمله $ Private Sub TextBox1_AfterUpdate() TextBox1.Text = Format(TextBox1.Text, "0" & "$") End Sub هنا تم "0" ( وهو تنسيق رقم صحيح) ثم علامه & ( تكتب من خلال الضغط على Shift+رقم 7 فوق الحروف ) ثم ثم وضع علامه العمله "$" بين اقواس تنصيص فلو حضرتك كتبت 20 ستجد $20 واحد هيقولى هو مش ممكن يكون العلامه يسار الرقم وليس يمين الرقم هقوله ممكن وليه لا هنعكس الموضوع بدل "$"&"0" هنخليها "0"&"$" Private Sub TextBox1_AfterUpdate() TextBox1.Text = Format(TextBox1.Text, "$" & "0") End Sub فلو حضرتك كتبت 20 ستجد النتيجة 20$ طيب ممكن نخلى علامه العمله وكمان وجود ارقام عشريه طبعا ممكن Private Sub TextBox1_AfterUpdate() TextBox1.Text = Format(TextBox1.Text, "$" & "0.00") End Sub فلو حضرتك كتبت 20.1 ستجد النتيجة 20.10$ ---------------------------------------------------------------------------------------------------------- 4-التحكم فى تنسيق القيم المدخله بوضع نص بجوار الرقم Private Sub TextBox1_AfterUpdate() TextBox1.Text = Format(TextBox1.Text, "0" & "ريال") End Sub هنا تم كتابه النص بين علامتى تنصيص " ريال" فلو حضرتك كتبت 20 ستجد النتجية 20 ريال -------------------------------------------------------------------------------------------------------------------- 5-التحكم فى تنسيق القيم المدخله بوضع علامه % Private Sub TextBox1_AfterUpdate() TextBox1.Text = Format(TextBox1.Text, "%0") End Sub فلو حضرتك كتبت 20 ستجد النتيجة %20 ( اذا كانت لغة الكتابه بالكيبورد عربى ) أما اذا كانت لغة الكتابة انجليزى وكتبت رقم 20 ستجد النتيجة 20% فمن خلال لغة الكتابه بالكيبورد تقدر تتحكم فى مكان العلامه % هل تكون قبل الرقم أم بعده واحد هيقولى هو ممكن نجعل الرقم بعلامات عشريه مع وجود علامه % هقوله ليه بس الاحراج يا عبدالتواب شوف يا سيدى الكود التالى Private Sub TextBox1_AfterUpdate() TextBox1.Text = Format(TextBox1.Text, "%0.00") End Sub فلو حضرتك كتب 20.1 ستجد النتيجة 20.10% ---------------------------------------------------------------------------------------------------------------------------------------- 6-التحكم فى القيم المدخله اذا كانت سالبه توضع بين اقواس Private Sub TextBox1_AfterUpdate() TextBox1.Text = Format(TextBox1.Text, "0;(0)") End Sub فلو حضرتك كتبت -50 ستجد النتجية (50) يعنى تحول اى رقم سالب الى بين اقواس طيب لو كان الرقم السالب فيه علامات عشريه شاهد الكود ولاحظ الفرق البسيط Private Sub TextBox1_AfterUpdate() TextBox1.Text = Format(TextBox1.Text, "0;(0.00)") End Sub مثال لو حضرتك كتبت-20.1 ستجد النتيجة (20.10) -------------------------------------------------------------------------------------------------------------------- 7-التحكم فى القيم المدخله اذا كانت تاريخ لو حضرتك عايز تكتب تاريخ وليكن 2015/8/6 وعايز بعد الادخال يظهر فقط اليوم Private Sub TextBox1_AfterUpdate() TextBox1.Text = Format(TextBox1.Text, "dd") End Sub ستجد ان النتيجه 6 dd تشير الى Day يعنى اليوم **************************************************************************** لو انا عايز النتيجة 6 اللى هى اليوم تظهر فى التكست بوكس 2 ( TextBox2) Private Sub TextBox1_AfterUpdate() TextBox2.Text = Format(TextBox1.Text, "dd") End Sub فلو حضرتك كتبت التاريخ 2015/8/6 فى التكست بوكس 1 ستجد التكست بوكس 2 مكتوب فيه 6 ************************************************************************************************ لو عايزين نظهر الشهر فقط هنستبدل dd بـ mm وهى اختصار لكلمة (Month) Private Sub TextBox1_AfterUpdate() TextBox2.Text = Format(TextBox1.Text, "mm") End Sub ستجد النتجية ظاهره فى التكست بوكس 2 وهى 8 ************************************************************************************** لو عايزين نظهر السنه. هنستبدل mm بـ yyyy وهى اختصار Year Private Sub TextBox1_AfterUpdate() TextBox2.Text = Format(TextBox1.Text, "yyyy") End Sub ستجد النتيجة فى التكست بوكس 2 هى 2015 ***************************************************************************************** لو عايزين نظهر اليوم كتابه 06-08-2015 يطلع فقط الخميس Private Sub TextBox1_AfterUpdate() TextBox2.Text = Format(TextBox1.Text, "dddd") End Sub ستجد النتيجة فى التكست بوكس 2 هى الخميس ********************************************************************************** لو عايزين نظهر الشهر 06-08-2015 يظهر فقط اغسطس Private Sub TextBox1_AfterUpdate() TextBox2.Text = Format(TextBox1.Text, "mmmm") End Sub ستجد النتيجة هى اغسطس ********************************************************************** لو عايزين ننسق التاريخ المدخل يكون كالتالى 06/08/2015 Private Sub TextBox1_AfterUpdate() TextBox1.Text = Format(TextBox1.Text, "dd/mm/yyyy") End Sub ****************************************** لو عايزين ننسق التاريخ المدخل يكون كالتالى2015/08/06 شوف الكود Private Sub TextBox1_AfterUpdate() TextBox1.Text = Format(TextBox1.Text, "yyyy/mm/dd") End Sub ****************************************** لو عايزين ننسق التاريخ المدخل يكون كالتالى06-08-2015 يعنى يكون العلامه بدل من / تكون - Private Sub TextBox1_AfterUpdate() TextBox1.Text = Format(TextBox1.Text, "yyyy-mm-dd") End Sub ****************************************** لو عايزين نجعل التاريخ كالتالى 06-08-15 ( يعنى أظهار السنه رقمين فقط Private Sub TextBox1_AfterUpdate() TextBox1.Text = Format(TextBox1.Text, "yy-mm-dd") End Sub هنا خلينا السنه بدل من yyyy الى yy فقط ****************************************** لو عايزين ننسق التاريخ كدا 06 أغسطس2015 Private Sub TextBox1_AfterUpdate() TextBox1.Text = Format(TextBox1.Text, "dd mmmm yyyy") End Sub ****************************************** لو عايزين نخلى التاريخ يظهر كالتالى الخميس أغسطس 2015 Private Sub TextBox1_AfterUpdate() TextBox1.Text = Format(TextBox1.Text, "dddd mmmm yyyy") End Sub ****************************************** لوعايزين نظهر تاريخ اليوم بمجرد وضع مؤشر الماوس فى التكست بوكس Private Sub TextBox1_Enter() TextBox1.Text = Format(Now, "yyyy/mm/dd") End Sub هنا استخدمنا وقت التنفيذ الحدث Enter ****************************************** 8-التحكم فى أجبار المستخدم على ادخال ارقام فقط فى التكست بوكس Private Sub TextBox1_Change() If Not IsNumeric(Me.TextBox1.Value) Then: MsgBox " الرجاء ادخال أرقام فقط ", vbCritical, "خطأ": Me.TextBox1.Value = "": Exit Sub End Sub هنا عملنا كود فى حدث التغيير للتكست بوكس بمجرد كتابة اى حرف وليس رقم ستجد التكست بوكس يرفض الادخال ويقوم بمسح المحتوى اللى تم ادخاله وكمان يظهر رساله استخدمنا فى الكود IF Not IsNumeric ثم التكست المراد ادخال ارقام فقط ووضعه بين قوسين ثم اقفال IF بـ then ****************************************** 9-التحكم فى أجبار المستخدم على ادخال حروف فقط فى التكست بوكس نفس الكود السابق ولكن بدون Not Private Sub TextBox1_Change() If IsNumeric(Me.TextBox1.Value) Then: MsgBox " الرجاء ادخال حروف فقط ", vbCritical, "خطأ": Me.TextBox1.Value = "": Exit Sub End Sub ****************************************** **************************************************************************** ******************************************************** ************************************** الى هنا بحمد الله انتهيت من شرح الخمس محاور المتعلقه بالتكست بوكس والى لقاء اخر من حلقات علمنى كيف اصطاد وسيكون بأذن الله الكمبوبوكس
    1 point
  19. السلام عليكم يمكن اني قد اشرت سابقا عندبداية عملك لهذا المشروع انه يمكن عمل المشروع كاملا بدون ربط اي علاقة بين الجداول فالعلاقات بين الجداول ليست بهذه الضرورة خاصة اذا صمم البرنامج لمستخدم واحد فحين نحتاج هذه العلاقة يمكن ايجادها من خلال الاستعلامات بشرط ... واكررر بشرط ضبط عملية الادخال وفي عملك الحالي ما دمت ستستخدم مربع التحرير فهو بحد ذاته علاقة لاننا يمكن ضبطه بعدم الخروج عن النص اما عن العلاقة التي عملتها بين الجدولين فغير ممكنة لان احد الحقول رقمي والاخر نصي فلا بد من اتحاد النوع وايضا يكون احدها او كليهما غير قابل للتكرار
    1 point
  20. اخي العزيز انا بخدمتك قرات الموضوع والطرريقة الي اخبرتك بها ان شاء الله راح تنفع في المشروع اما فيما يخص الرواتب فلا تحتاج ال انشاء جداول اخرى لانه انت قد وضعت حقل اسم الشهر في جدول الرواتب وهذا كافي لانه تستطيع استدعاء راتب اي موظف لشهر ما ثم مجرد ان نغير الشهر ونحفظ بسجل جديد سوف يظهر لنا مرتبين لشهرين مختلفين عندها نستطيع فرز البيانات حسب الشهر او السنه كما تحب ملاحطة قد تساعدك في مشروعك الافضل ان تضع جميع الحقول التي تحتوي على قيم مفردة في جدول واحد ولا تهتم لعدد الحقول التي ستتكون في الجدول فمثلا حقل بيانات الموظفين جيد جدا كل حقوله هي قيم مفردة اما في حقل الاجازات فرصيد الاجازات قيمه مفردة لذا يوضع في جدول بيانات الموظفين اقصد بالقيمة المفردة هي قيمة ليس لها تفاصيل يعني مثلا الذي احتاجه من رصيد الاجازات هو رقم واحد ولا احتاج ال تفاصيله اما مثلا تاريخ الاجازه او نوعها او تاريخ انتهائها فهي قيم متعددة يعني تخيل انه يوجد موظف وعلى يمينه وشماله جميع البيانات الثابته من اسم وتاريخ تعيين وتاريخ المبلاد وغيره واسفلهم جداول بقيم متغيرة جدول اجازات جدول رواتب وغيره واهم ملاحظة ممكن افيدك فيها هي تسمية الحقول والجداول والاستعلامات والنماذج باللغة الانجليزية اسف جدا جدا جدا على الاطالة
    1 point
  21. السلام عليكم ورحمة الله وبركاته استاذ محمد حسن المحمدهذا كلام جميل ورائع وخاصة في المواضيع التي تتكون من عدة دروس او حلقات فالمرء يحتاج إلى وقت طويل لإيجاد الدرس التالي مروراً بكل التبريكات والتعليقات ولمساهمات ... بارك الله بك وبجهودك وأتمنى المضي قدماً في هذا المشروع الجميل
    1 point
  22. ليس حذف mm بل الابقاء على mm مع yy وان اردت السنة كاملة مع الشهر : yyyymm وتحذف ما عداها .. كذا يتم الكتابة فوق النسخة الموجودة عند كل ضغطة زر حتى نهاية الشهر وفي بداية الشهر الجديد يتم وضع نسخة جديدة بجانب القديمة والسبب ؟؟ لان اسم القاعدة تغير ارجوا يكون الشرح واضح
    1 point
  23. أخي الحبيب أبو يوسف بارك الله فيك وجزاك الله كل خير على أفكارك الجميلة والمميزة والمفيدة للجميع إن شاء الله وإنه لشرف كبير لي أن تقوم بالبدء في مشروعك بأحد موضوعاتي وأنا في البداية والنهاية مجرد متعلم بسيط ولست علامة أو أي شيء من هذا القبيل ، إنما أنا مجرد متعلم مجتهد يريد أن يستفيد ويفيد الجميع ... تقبل وافر تقديري وتحياتي
    1 point
  24. السلام عليكم و رحمة الله و بركاته أخي و أستاذي العزيز .. أراك دومًا سبّاق للخيرات .. اللّهم أرزق محمد حسن المحمد كل الخيرات و البركات .. كيف لا و أنت تحاول جاهدًا لم شمل الملفات التائهة .. وهي خلاصة الخلاصة للأفكار النيّرة لأساتذتنا الكبار وعباقرة منتدانا .. كيف لا و أنت تحاول ابتكار مكتبة مرجعية نلجأ لها في السرّاء و الضرّاء .. بارك الله فيك على المبادرة الطيّبة التي تستحق التّشجيع .. جزاك الله خيرًا و زادها بميزان حسناتك .. أمّا المقدّمة لشمعة منتدانا وسراجه : ياسر خليل أبو البراء مجرّد رؤيتها يبعث على التفاؤل بمستقبل مشروعك إن شاء الله .. أستاذنا ياسر خليل هو في الحقيقة .. بدايتنا في كل شيء .. و بحول الله سيكون مسك الختام وافر احتراماتي سيدّي الكريم
    1 point
  25. اللهمّ أبدله داراً خيراً من داره، وأهلاً خيراً من أهله، وأدخله الجنّة، وأعذه من عذاب القبر ومن عذاب النّار اللهمّ عامله بما أنت أهله، ولا تعامله بما هو أهله اللهمّ اجزه عن الإحسان إحساناً وعن الإساءة عفواً وغفراناً اللهمّ إن كان محسناً فزد من حسناته، وإن كان مسيئاً فتجاوز عن سيّئاته اللهمّ أدخله الجنّة من غير مناقشة حساب ولا سابقة عذاب اللهمّ اّنسه في وحدته وفي وحشته وفي غربته اللهمّ أنزله منزلاً مباركاً وأنت خير المنزلين اللهمّ أنزله منازل الصدّيقين والشّهداء والصّالحين، وحسن أولئك رفيقاً اللهمّ اجعل قبره روضةً من رياض الجنّة، ولا تجعله حفرةً من حفر النّار اللهمّ افسح له في قبره مدّ بصره، وافرش قبره من فراش الجنّة اللهمّ أعذه من عذاب القبر، وجفاف ِالأرض عن جنبيها اللهمّ املأ قبره بالرّضا والنّور والفسحة والسّرور اللهمّ إنّه في ذمّتك وحبل جوارك، فقِهِِ فتنة القبر، وعذاب النّار، وأنت أهل الوفاء والحقّ، فاغفر له وارحمه إنّك أنت الغفور الرّحيم اللهمّ إنّه عبدك وابن عبدك خرج من الدّنيا وسعتها ومحبوبها وأحبّائه فيها إلى ظلمة القبر وما هو لاقيه اللهمّ إنّه كان يشهد أنّك لا إله إلّا أنت وأنّ محمّداً عبدك ورسولك وأنت أعلم به اللهمّ إنّا نتوسّل بك إليك، ونقسم بك عليك أن ترحمه ولا تعذّبه، وأن تثبّته عند السؤال اللهمّ إنّه نَزَل بك وأنت خير منزولٍ به، وأصبح فقيراً إلى رحمتك وأنت غنيٌّ عن عذابه اللهمّ آته برحمتك ورضاك، وقهِ فتنة القبر وعذابه، وآته برحمتك الأمن من عذابك حتّى تبعثه إلى جنّتك يا أرحم الرّاحمين اللهمّ انقله من مواطن الدّود وضيق اللحود إلى جنّات الخلود اللهمّ احمه تحت الأرض، واستره يوم العرض، ولا تخزه يوم يبعثون "يوم لا ينفع مالٌ ولا بنون إلّا من أتى الله بقلبٍ سليم" اللهمّ يمّن كتابه، ويسّر حسابه، وثقّل بالحسنات ميزانه، وثبّت على الصّراط أقدامه، وأسكنه في أعلى الجنّات بجوار حبيبك ومصطفاك (صلّى الله عليه وسلّم) اللهمّ أمّنه من فزع يوم القيامة، ومن هول يوم القيامة، واجعل نفسه آمنة مطمئنّة، ولقّنه حجّته اللهمّ اجعله في بطن القبر مطمئنّاً وعند قيام الإشهاد آمن، وبجود رضوانك واثق، وإلى أعلى درجاتك سابق اللهم اجعل عن يمينه نوراً حتّى تبعثه آمناً مطمئنّاً في نورٍ من نورك اللهمّ انظر إليه نظرة رضا، فإنّ من تنظر إليه نظرة رضا لا تعذّبه أبداً اللهمّ أسكنه فسيح الجنان، واغفر له يا رحمن، وارحمه يا رحيم، وتجاوز عمّا تعلم يا عليم، اللهمّ اعف عنه فإنّك القائل "ويعفو عن كثير" اللهمّ إنّه جاء ببابك، وأناخ بجنابك، فَجد عليه بعفوك وإكرامك وجود إحسانك اللهمّ إنّ رحمتك وسعت كلّ شيء فارحمه رحمةً تطمئنّ بها نفسه، وتقرّ بها عينه اللهمّ احشره مع المتّقين إلى الرّحمن وفداً اللهمّ احشره مع أصحاب اليمين، واجعل تحيّته سلامٌ لك من أصحاب اليمين اللهمّ بشّره بقولك "كلوا واشربوا هنيئاً بما أسلفتم في الأيّام الخالية" اللهمّ اجعله من الّذين سعدوا في الجنّة خالدين فيها ما دامت السموات والأرض اللهمّ لا نزكّيه عليك، ولكنّا نحسبه أنّه أمن وعمل صالحاً، فاجعل له جنّتين ذواتي أفنان بحقّ قولك: "ولمن خاف مقام ربّه جنّتان" اللهمّ شفع فيه نبيّنا ومصطفاك، واحشره تحت لوائه، واسقه من يده الشّريفة شربةً هنيئةً لا يظمأ بعدها أبداً اللهمّ اجعله في جنّة الخلد (الّتي وُعد المتقون كانت جزاءً ومصيراُ لهم ما يشاؤون وكان على ربّك وعداُ ومسؤولاً) اللهمّ إنّه صبر على البلاء فلم يجزع، فامنحه درجة الصّابرين الّذين يوفون أجورهم بغير حساب فإنّك القائل " إنّما يوفي الصّابرون أجرهم بغير حساب " اللهمّ إنّه كان مصلّ لك، فثبّته على الصّراط يوم تزل الأقدام اللهمّ إنّه كان صائماً لك، فأدخله الجنّة
    1 point
  26. السلام عليكم اخي العزيز اولا العلاقات صحيحة لكن لنجاح العملية يجب حذف اسم الموظف من جدول الرواتب والاجازات والحضور اي يبقى فقط في جدول بيانات الموظفين ثانيا عند انشاء نموذج رواتب مثلا ناخذ جميع حقول الجدول بالاضافة الى حقل اسم الموظف من جدول بيانات الموظفين ونفس الامر بالنسبة لبقية النماذج بهذه الطريقة مجرد ان تكتب رقم الموظف سوف يظهر اسمه تلقائيا وبهذه الطريقة قد تم ربط جميع حقول الجداول بهذا الاسم هذا هو الحل الممكن لتصميم مشروعك لكن الطريقة الصحيح لانشاء مشروع مثل مشروعك هو عمل استعلام لكل جدول مع اخذ اسم الموظف من جدول بيانات الموظفين كما ذكر اعلاه ثم انشاء نماذج من هذه الاستعلامات وهذه الطريقة مفيدة لعمل قائمة سرد في نموذج الشاشة الرئيسية من خلالها نستطيع البحث عن بيانات اي موظف ارجو اني قد افدتك ولو بكلمة
    1 point
  27. إليك أخي الفاضل الملف التالي عله يكون المطلوب تم عمل ورقة تقرير ..اختار الاسم ثم انقر زر الأمر لتظهر البيانات المرتبطة بهذا الاسم Sub Report() Dim WS As Worksheet, SH As Worksheet Dim I As Long, lRow As Long, LR As Long Set WS = Sheets("نور البيان "): Set SH = Sheets("Report") lRow = 6 Application.ScreenUpdating = False With SH.Range("D6:K1000") .ClearContents: .Interior.Color = xlNone End With Call UniqueNames For I = 7 To 506 If WS.Cells(I, "C") = SH.Cells(3, "C") Then WS.Cells(I, "C").Offset(, 1).Resize(1, 8).Copy SH.Cells(lRow, "D").PasteSpecial xlPasteValues lRow = lRow + 1 End If Next I SH.Range("D7:H1000").ClearContents LR = SH.Cells(Rows.Count, "I").End(xlUp).Row + 1 With SH.Range("I" & LR) .Formula = "=SUM(I6:I" & LR - 1 & ")": .Value = .Value: .Interior.Color = 10092441 If .Value = SH.Range("H6") Then MsgBox "تم سداد المبلغ بالكامل", 64 Else MsgBox "المبلغ لم يتم سداده بالكامل ما زال هناك أقساط متبقية", vbExclamation End If End With SH.Range("C3").Select Application.CutCopyMode = False Application.ScreenUpdating = True End Sub Sub UniqueNames() Dim Rng As Range Dim Dn As Range Dim Dic As Object With Sheets("نور البيان ") Set Rng = .Range("C7:C506") End With Set Dic = CreateObject("Scripting.Dictionary") Dic.CompareMode = vbTextCompare For Each Dn In Rng If Not IsEmpty(Dn) Then Dic(Dn.Value) = Empty Next Dn Sheets("Report").Columns(15).ClearContents Sheets("Report").Range("O1").Resize(Dic.Count, 1).Value = Application.Transpose(Dic.keys) End Sub Report Summary.rar
    1 point
×
×
  • اضف...

Important Information