• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

يوسف احمد

المشرفون
  • عدد المشاركات

    1,578
  • تاريخ الانضمام

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

كل شيء نشر بواسطة يوسف احمد

  1. السلام عليكــم ورحمـة الله وبركاتــه ،، احبائي رواد منتدانا الغالي اقدم لكم مثال على انشاء نسخ متعددة للنموذج نفسه لنتمكن من عرض بيانات الموظف على النموذج وبيانات رئيسه المباشر على نسخة من هذا النموذج مع امكانية تعدد النسخ . وهذا المثال يتكون من الآتي : 1: جدول الموظفين ( tblEmployee ) وبه الحقول التالية : أ ـ رقم الموظف ( EmployeeId ) وهو المفتاح الرئيسي للجدول. ب ـ اسم الموظف ( EmployeeName ). ج ـ عنوان الموظف ( Address ). د ـ الرئيس المباشر ( Supervisor ) ملاحظة : الحقل بالفقرة ( د ) هو ايضاً حقل رقم الموظف ولكنه خاص بالرقم الوظيفي لرئيس الموظف وسيكون من ضمن القيم الموجودة بحقل رقم الموظف وللتوضيح اكثر : لو فرضنا ان الرقم الوظيفي 2 هو لأحد الموظفين ورئيسه المباشر بنفس الجدول ( حيث انه احد الموظفين ايضاً ) ولكنه يحمل الرقم 4 فسيتم وضع الرقم 4 في حقل Supervisor للموظف رقم 2 2: نموذج الموظفين ( frmEmployee ) وهذا النموذج مبني على الجدول الوحيد لدينا مع تغيير نوع عنصر التحكم الخاص بحقل الرئيس المباشر الى مربع تحرير وسرد اسمه ComboSupervisor يعرض لنا اسم الرئيس المباشر بدلاً من رقمه وذلك بالتحكم في خصائصه. الاكواد 1: في قسم التصريحات العامة للنموذج يتم تعريف متغير يمثل النموذج ( frmEmployee ) اسم هذا المتغير هو ( frmChild ) كالتالي: Private frmChild As Form_frmEmployee 2: الكود بحدث عند النقر للزر الموجود بجانب مربع التحرير والسرد هو الخاص بعرض النسخ المتعددة للنموذج بناءً على قيمة مربع التحرير والسرد كالآتي: If Not IsNull(Me!Supervisor) Then Set frmChild = New Form_frmEmployee With frmChild .Filter = "EmployeeID = " & Me!Supervisor .FilterOn = True .Caption = "الرئيس المباشر للموظف " & Me!FullName .Visible = True End With End If شرح الكود السطر الاول : بإستخدام If الشرطية سيتم التحقق من مربع التحرير والسرد فإذا كان يحمل قيمة ... اذأ السطر الثاني : اذا سيتم تعيين قيمة للمتغير المعرف مسبقاً وستكون القيمة هي نموذج جديد او نسخة جديدة من نموذج الموظفين. السطر الثالث : With هو امر يستخدم للإختصار في بعض الاحيان عند التعامل مع كائن معين بحيث لا يتكرر اسمه بالكود وهنا تم استخدامه مع النموذج النسخة. السطر الرابع : يتم عمل تصفية للنموذج النسخة بناءً على رقم الموظف ولكن بمعيار وهو قيمة مربع التحرير والسرد .. اي ان هذه التصفية ستكون حسب رقم الموظف ولكن بحقل Supervisor السطر الخامس : تشغيل عامل التصفية السطر السادس : تغيير خاصية التسمية ( Caption ) او عنوان النموذج ليعرض جملة ( الرئيس المباشر للموظف ) اضافة الى اسم الموظف السطر السابع : هو اظهار النموذج الإبن بتعيين القيمة ( نعم ) لخاصيته ( مرئي ) السطر الثامن : انهاء الامر With السطر التاسع : انهاء الجملة الشرطية If ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ ــــــــــ طريقة عمل المثال : عند فتح النموذج سيكون هناك زر امر بجانب مربع التحرير والسرد الذي يعرض اسم الرئيس المباشر وعند الضغط عليه سيتم فتح نسخة من النموذج لعرض بيانات هذا الرئيس ... مع امكانية فتح نسخة اخرى من النموذج الآخر في حالة وجود رئيس مباشر للرئيس المعروض بالنموذج الإبن وسيتم اغلاق جميع النسخ بمجرد اغلاق النسخة الاصلية للنموذج وهو النموذج frmEmployee اعتذر على الإطالة واترككم مع المثال عسى ان يكون به الفائدة دمتم بود اخوكم / يوسف احمد Programming_Multiple_Copies_Of_The_Same_Form.rar
  2. اخواني رواد منتدانا الغالي السلام عليكم ورحمة الله وبركاته اقدم لكم اليوم مثال على توسيع نطاق الاختيار بمربع التحرير والسرد سيقوم المثال بعرض اسماء الموظفين اما حسب الاختيار ( اي موظف واحد حسب اختياره من القائمة ) او عرض الجميع بإختيار الكلمة (الكل) والتي يتم اضافتها باستعلام توحيد بمصدر مربع التحرير والسرد. شرح مبسط للمثال : كما ذكرنا سابقاًَ بأنه يتم استخدام استعلام توحيد لضم كلمة ( الكل ) الى مصدر مربع التحرير والسرد .. سيتم شرح هذه النقطة لاحقاً اثناء السياق. يحتوي هذا المثال على : 1: جدول واحد اسمه table1 ويتكون من حقلين أ: حقل الرقم Id ب: حقل الاسم EName 2: نموذج واحد اسمه form1 ويتكون من : أ: مربع تحرير وسرد اسمه combo0 ومصدر الصف له ( مصدر بياناته ) هي جملة اسكيوال الموضحة ادناه .. لا حظ كيف يتم استخدام استعلام التوحيد لضم الكلمة ( الكل ) الى مصدر الصف SELECT Table1.EName FROM Table1 UNION select "(الكل)" from table1; ب: زر امر لفتح استعلام سيتم الحديث عنه لا حقاً ضمن السياق 3) استعلام تحديد اسمه query1 هذا الاستعلام به معيار تحت حقل الاسم للتحكم وعرض القيم المختارة من مربع التحرير والسرد وذلك بإستخدام الدالة iif كالتالي IIf([forms]![form1]![combo0]="(الكل)";[ename];[forms]![form1]![combo0]) نلاحظ انه اذا كانت قيمة مربع التحرير والسرد تساوي الكلمة (الكل) فإن جميع القيم ستختار وذلك بتحديد الحقل [ename] كقيمة للمعيار اما اذا لم تكن قيمة مربع التحرير والسرد تساوي الكلمة (الكل) فإن المعيار سيكون قيمة مربع التحريروالسرد [forms]![form1]![combo0] عودة مرة اخرى الى زر الامر والموضح بالفقرة ب يستخدم هذا الزر لفتح الاستعلام ولكن اذا كان مربع التحرير والسرد لا يحمل قيمة فستظهر رسالة تفيد بعدم وجود قيمة ويتم فتح مربع التحرير والسرد للإختيار منه وذلك باستخدام المنهج DropDown طريقة عمل المثال : يتم اختيار احد الاسماء الموجودة بمربع التحرير والسرد ومن ثم الضغط على زر الامر لعرض بيانات الاسم المعروض واذا تم اختيار الكل فسيتم عرض جميع الاسماء واذا لم يتم الاختيار فسيتم عرض رسالة وينقل التركيز الى مربع التحرير والسرد ثم يتم فتحه للإختيار منه. اعتذر على الإطالة واترككم مع المثال عسى ان يكون به الفائدة دمتم بود ComboBoxAddAll.rar
  3. تحديد موقع ظهور الفورم

    لا شكر على واجب اخي Kafi لا توجد احداثيات للجهة الاخرى المقابلة. و بالنسبة للعلاقة فاعتقد بأن هناك علاقة و لكنني لا اعلمها بالتحديد و يمكن التحكم في حجم النموذج بالشكل التالي : DoCmd.MoveSize 400, 4000, 8000, 9000 القيمة 8000 او اي قيمة اخرى بدلاً منها هي للتحكم في عرض النموذج القيمة 9000 او اي قيمة اخرى بدلاً منها هي للتحكم في ارتفاع النموذج بالتوفيق للجميع و كل عام و انتم بالف خير
  4. تحديد موقع ظهور الفورم

    وعليكم السلام اخي A&A تفضل الكود والذي يمكن ان تضعه بحدث عند الفتح للنموذج DoCmd.MoveSize 400, 4000 حيث ان القيم الموجودة هي كمثال فقط و يمكنك تغييرها كالآتي اذا اردت التحكم في المسافة بين الحافة اليسرى لشاشة الكمبيوتر والنموذج قم بتغيير القيمة 400 و إذا اردت التحكم في بعد النموذج عن الشاشة من الأعلى قم بتغيير القيمة 4000 ارجو ان يكون هو المطلوب بالتوفيق للجميع
  5. تسلم اخي الحبيب ابو شادي على مرورك و على تهنئيتك لي بالشهر .. كل عام و انت و الجميع بالف خير و عافية لا شكر على واجب اخي Kafi اسهل طريقة للتحكم في محاذاة النص بمربع القائمة هي التحايل و ذلك بعمل مربعين قائمة بنفس الحجم فوق بعضهما البعض .. احدهما النص به في الوسط و الآخر على اليمين ويتم التحكم في اظهارهما و اخفائهما بناءً على الاختيار. ملاحظة : توجد طريقة اخرى و هي فتح النموذج مخفي في عرض التصميم ولكن هذه الطريقة تعتمد ايضاً على نفس المنهج و هو تحويل مربع القائمة اما الى مربع تحرير و سرد او مربع نص و من ثمّ التحكم في محاذاة النص لذا ارى بأن الطريقة الأسهل هي المذكورة اعلاه. تفضل المثال بالتوفيق للجميع db5.rar
  6. و عليكم السلام و رحمة الله و بركاته اخي Kafi تفضل الطريقة بالرابط ادناه بدون استخدام كود تفضل من هنا بالتوفيق
  7. السلام عليكم تفضل اخي فواز ملفك بعد التعديل بالتوفيق db55.rar
  8. السلام عليكم تفضل اخي الكريم لم استطع فتح ملفك لخطأ عندي .. وتم عمل ملف آخر .. انظر استعلام الحذف و لاحظ المعيار بالتوفيق Test.rar
  9. محتاج كود undo للسجلات

    بارك الله فيك اخي فرهاد اضف سطر الكود التالي بعد الكود السابق Me.TextBox="" حيث TextBox هو اسم مربع النص بالتوفيق
  10. محتاج كود undo للسجلات

    السلام عليكم اخي فرهاد لعمل ذلك ضع سطر الكود ادناه بحدث عند النقر لزر الأمر Me.FilterOn = False بالتوفيق
  11. السلام عليكم اخي الكريم المثال المرفق على اكسس 2007 و لم يفتح معي ... يرجى ارفاق مثال على اكسس 2003 او حاول وضع الكود التالي في حدث عند التنشيط لنموذج الداتاشيت Me.Refresh بالتوفيق
  12. مرحباً بك اخي الغالي أبو شادي تسلم حبيبي على كلامك الجميل و تأكد بأنني ايضاً تعلمت منكم و من هذا المنتدى بجميع مشرفيه و اعضائه فلكم مني جميعاً كل التقدير والاحترام
  13. لا شكر على و اجب اخي ابو احمد تسلم حبيبي على كلامك الرائع و شعورك النبيل تجاهي ... لا عدمناك ... على فكرة حتى انا ابو احمد ودي و احترامي للجميع ملاحظة : تم تنبيهي من قبل اخي اكسينا بخصوص منع ادخال الارقام في حقل نصي وقد تم التعديل ... ذلك للمعلومية Sample.rar
  14. وعليكم السلام مرحباً بك في كل المواضيع فهي منكم و اليكم و نحن جميعاً هنا نتبادل المعلومات للتعلم و الفائدة :rose: تم عمل تراجع في حالة كتابة احرف .. ارجو ان يفي بالغرض بالتوفيق Sample.rar
  15. السلام عليكم تفضل اخي ملفك بعد التعديل ارجو ان يكون هو المطلوب بالتوفيق Sample.rar
  16. وضع كود دون إستخدام الاستعلام

    السلام عليكم تفضل اخي الكريم بالتوفيق No Query.rar
  17. سؤال في خيارات الكوماند

    وعليكم السلام و رحمة الله و بركاته نحن بخير دامك بخير تفضلي الحل على اكسس 2003 ... لاحظي نقل التركيز الى مربع النص بالنموذج الثالث والسبب هو عدم امكانية ( عدم تفعيل ) زر الامر في حال كان التركيز عليه .. لذا تم اضافة مربع نص ونقل التركيز اليه بالتوفيق db1.rar
  18. السلام عليكم تفضل / تفضلي المرفق به مثال على تغيير عمود واحد بملف اكسل اسمه Book1 يتم حفظه على السي درايف ويمكن تغيير المسار بالكود حسب موقع الملف كما يمكن تغيير باقي الأعمدة بإضافة الجزء من الكود الخاص بذلك كالتالي : .Range("A1").Select .Selection = "هنا يكتب عنوان جديد للعمودA" .Range("B1").Select .Selection = "هنا يكتب عنوان جديد للعمودB" ارجو ان يكون هو المطلوب بالتوفيق db1.rar
  19. سؤال في الراديو بوتن

    بارك الله فيك اخي ابو يوسف و جزاك الله خيراً الاخت السائلة : الواضح من سؤالك هو عدم امكانية اختيار اكثر من خيار في نفس الوقت ولهذا الغرض تستخدم مجموعة الخيارات ... تفضلي المرفق ارجو ان يكون هو المطلوب بالتوفيق للجميع db1.rar
  20. كيف يمكن تصفير الاحاد والعشرات

    السلام عليكم تفضل اخي الكريم بالتوفيق db1.rar
  21. بارك الله فيك اخي ابوعمر75 اذا كان قصدك بأن تتم المقارنة حتى في حالة وجود فراغات .. أي يتم تجاهل الفراغات عند المقارنة هناك طريقة وهي بعمل استعلام يتم استخدام الدالة Replace به على حقل الاسم لتظهر الاسماء بدون فراغات ومن ثم نقوم بعمل مربع نص غير منضم بالنموذج ونجعله مخفي ( خاصية مرئي على القيمة لا ) ايضاً نستخدم به الدالة نفسها لإزالة الفراغات ومن ثم تتم المقارنة بين محتوى مربع النص المخفي وبين الحقل بالاستعلام وبهذا حتى لو كان هناك اختلاف في الاسم من حيث الفراغات يتم التنبيه. ارجو ان اكون فهمت قصدك اليك المرفق TaReQ.rar
  22. السلام عليكم بارك الله فيكم اخواني جميعاً اذا سمحتم لي بإضافة حل آخر للفائدة الحل هو لعدم السماح بالتكرار لأي من قيم الحقول بالسجل .. واذا كان القصد هو عدم تكرار قيم الحقول للسجل مجمتمعة فيتم وضع جميع الشروط تحت خانة المعاير في صف واحد لكل الحقول .. اي لا توضع معايير تحت خانة ( او ) ملاحظة : لوحظ استخدام اسم date لحقل التاريخ وهذا غير محبذّ لأنه اسم ( محجوز ) لدالة تعيد تاريخ اليوم وقد تتسبب في مشاكل ويفضل تغييره. بالتوفيق للجميع منع التكرار.rar
  23. السلام عليكم تفضل اخي فرهاد .. كلمة المرور هي 123 بالتوفيق Sample.rar
  24. بارك الله فيك اخي وونتد وجزاك خير الجزاء اخي السائل : تعلمنا و تعودنا على ابداء الملاحظات على برامج الأعضاء لما فيه المصلحة العامة .. والله من وراء القصد لاحظت بأن لديك جداول بنفس البنية لأشهر متعددة و كذلك جداول تحتوي على الاسماء او البيانات وهذا يعتبر خطأ في التصميم و تكرار لا فائدة منه. ما انصحك به هو عرض الفكرة من هذا البرنامج و طرح الافكار و فتح باب النقاش و ستجد بإذن الله التوجيه من الجميع لتتمكن من بناء برنامج قوي يفي بكل متطلباتك فالمشكلة الآن ليست في تحديد الكل كما طلبت فهي مسألة بسيطة ان شاء الله . بالتوفيق
  25. ممكن سوال فى نموذج

    السلام عليكم بارك الله فيك اخي طالب علم مبتدئ و جزاك خير الجزاء .... اذا سمحت لي بإضافة حل آخر بالتوفيق للجميع db1(1).rar