اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

  1. ibn_egypt

    ibn_egypt

    الخبراء


    • نقاط

      6

    • Posts

      764


  2. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      5

    • Posts

      11,720


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

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

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


    • نقاط

      3

    • Posts

      13,165


  4. الصـقر

    الصـقر

    الخبراء


    • نقاط

      2

    • Posts

      1,836


Popular Content

Showing content with the highest reputation on 24 فبر, 2015 in all areas

  1. اخى الفاضل الأدوات ليس لها علاقة بالملفات .. عامة شاهد المرفق وان شاء الله تزبط معاك تحياتي Show-Text.rar
    2 points
  2. اخى الفاضل جرب المرفق ... تم تغيير بسيط ويتم ارسال البريد الآن بالهجرى بغض النظر عن كون الخلية بها ميلادى .... لست في حاجة لكل هذا تحياتي ehab.rar
    2 points
  3. اعزائي رواد المنتدى الفاضل اقدم لكم فكرة وطريقة في تحويل التاريخ الميلادي الى تاريخ ام القرى وهو الى حد ما التاريخ الهجري . وذلك باستخدام مكتبات الاكسل ! كما انه وعد مني للاخ والأستاذ أبو خليل وفي احد المناقشات وجب على الوفاء به ! وقد كانت هذه الفكرة طرحتها في احد المنتديات الشقيقة ولكن بدون مثال او تنفيذ . اترككم مع المثال املا الاستفادة منه وطرح آراؤكم ومقترحاتكم البناءة ! لكم خالص تحياتي Private Sub أمر4_Click() ''رمهان '' اوفيسنا ''abc_2_me@hotmail.com '' هدية للاخ ابو خليل Set xl = CreateObject("Excel.Sheet") xl.Application.Range("A1").Value = CDate(t2) xl.Application.Range("A1").NumberFormat = "[$-1170000]B2yyyy-mm-dd;@" t1 = xl.Application.Range("A1").Text xl.Application.Quit Set xl = Nothing End Sub رمهان - ام القرى.rar
    1 point
  4. بسم الله الرحمن الرحيم يفهم من العنوان انه جزء من البرنامج المدرسي وهو كذلك كبداية ولكنه هو الصلب والاساسات وما يرد لا حقا انما هو تبع وهذا الدرس اجابة لطلب اختنا الكريمة هنا http://www.officena.net/ib/index.php?showtopic=55102 وحسب الانظمة التعليمية المبينة في الطلب تنويه : استخدم في جهازي الاصدار 2003 ولا يمكنني فتح المرفقات الا على صيغة mdb ايضا قد الجأ في الشرح الى عرض بعض الصور وهذا سيصعب فهمه بالسرعة المطلوبة لمن لا يملك في جهازه الاصدار المذكور . ( آمل تحميل الاصدار المذكور لمن يريد المتابعة والمشاركة ) نبدأ : الجداول : نقاط تؤخذ بالاعتبار : - تكتب اسماء الجداول واسماء الحقول بحروف انجليزية والظهور العربي سيكون من خلال التسمية التوضيحية . - لا يسمح بالمسافات الفارغة بين الكلمات في التسمية . - تبدأ اسماء الجداول بـ tbl والاستعلامات بـ Qry والنماذج بـ frm والتقارير بـ Rep للتفريق بينها ومعرفتها من اول نظرة
    1 point
  5. السلام عليكم إخواني الكرام في المنتدى الرائع أقدم لكم كود بسيط يتم وضعه في حدث Worksheet_BeforeDoubleClick يقوم الكود بوضع علامة صح عند النقر المزدوج على أي خلية في النطاق A1:A100 يمكنك تغيير النطاق إلى أي نطاق تريده .. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("A1:A100")) Is Nothing Then Cancel = True Target.Font.Name = "Marlett" If Target = vbNullString Then Target = "a" Else Target = vbNullString End If End If End Sub
    1 point
  6. اخى الغالى استاذ ياسر صاحب موضوع اداراج علامة صح فى ورقة العمل استفاد وافاد بها واسفدت ايضا بها وعلامة الخطاء اعتقد ان منا من سيستفيد اى يكتسب معلومة من الموضوع اذا رأيت كل الخلايا اعتقد ان حضرتك ممكن واو 1% تستخدم واجدة منهم واعتقد ان اهمهم بعد لفظ الجلاله هو اخفاء ما بداخل الخلية من كلمات فى العمود A للورقه عربى اسف على الاطالة ((( ليست اشكال الرموز هى حروف اللغه العربيه والانجليزية فقط ))) معلومة ممكن يستفيد منها اى شحص فى عملة تقبل تحياتى وتقديرى لك
    1 point
  7. الاخ الفاضل ابو محمد عباس الاخوة اعضاء المنتدى شكرا لكم جميعا عل مشاركاتكم زادكم الله علما ينتفع به
    1 point
  8. شكرا اخى العزيز تم حل المشكلة ولك الف تحية
    1 point
  9. الاستاذ ابن مصر انا بصراحه مش عارف اقولك ايه؟؟؟؟؟ شكرا لك جدااااااااااااااااا وفعلا المنتدي به خبراء عمالقه كبار لا يوفيهم الكلام حقهم علينا شكراااااااااااااااااااااااا جدااااااااااااااااااااااااااااا
    1 point
  10. اخى الكريم اين المرفق ؟ قم بضغط الملف اولا ببرنامج وينرار مثلا ثم من المحرر الكامل ارفع الملف تقبل تحياتى
    1 point
  11. اخى الكريم راجع الرابط التالى ربما به طلبك http://www.officena.net/ib/index.php?showtopic=58010&hl= او انك ترفق ملفك للعمل علية وتنفيذ ما تريد تقبل تحياتى
    1 point
  12. اتصل بالشخص فهو واضع اكثر من عنوان له وحاول التفاهم معه بالتوفيق
    1 point
  13. ههههه كريم ابن كرماء رحم الله والديك مشكلة ابو فؤاد هي البيانات من جهاز البصمة كلها خطأ ودخاتني بالحيط معه مشكور على هذا العمل الرائع
    1 point
  14. جرب الملف التالي: نعم - لا.rar
    1 point
  15. اخى الفاضل تكرم هنا وفي الكوفي شوب وفي اى مكان انت والغالى ابو فارس، تفضل الملف المرفق لعل به المطلوب .. برجاء بشيت البصمة ان تنتبه فقط للتواريخ حيث انها غير منسقة كتاريخ وهناك مسافة زائدة بعد السنة اى لابد ان تراعى تنسيق الخلايا كتاريخ بدون مسافات زائدة تحياتي OverTime.rar
    1 point
  16. جرب الملف التالي ..اعذرني لعدم متابعة الموضوع من البداية .. هل هذا هو المطلوب؟ ehab.rar
    1 point
  17. اخى الفاضل أ.ايهاب انت في هذا الملف لا تريد تنسيق خلايا بل تريد تحويل التاريخ من ميلادي الى هجري .. تم اضافة دالتين بداخل الملف المرفق احدهما تحول التاريخ الميلادى الى هجري والأخرى تقوم بالعكس الهجري الى ميلادي تحياتي ehab.rar
    1 point
  18. هذا ما استطعت فهمه من كلامك: http://up.top4top.net/downloadf-top4top_310d9cc01c1-rar.html
    1 point
  19. السلام عليكم ورحمة الله وبركاته الاخ العزيز حسين العربي بارك الله فيك عمل اكثر من رائع والشكر موصول للاستاذ القدير ابو خليل جزاه الله خيرا اخي العزيز نادر فتحي اليك الملف بعد التعديل { جعل التاريخ يتغير كل يوم بيوم } تقبلوا فائق احترامي وتقديري Database2007.mdb11.rar
    1 point
  20. ان شاء الله يتم المحاوله تقبل تحياتى
    1 point
  21. الحلقة الخامسة **************** السلام عليكم ورحمة الله وبركاته نستكمل حلقاتنا للي متابعين .. وللي مش متابعين بردو! هنتكلم النهاردة عن النطاقات في VBA وطرق تحديدها ... نبدأ الأول نعرف معنى كلمة نطاق : هل النطاق مجموعة خلايا متجاورة (جنب بعض) ولا مجموعة خلايا غير متجاورة (خلايا زعلانة ومتخاصمة فبعيد عن بعض) ؟ أعتقد إن فيه كتير فاهمين كلمة نطاق غلط .. أولا نطاق بالانجليزي Range والنطاق في الإكسيل بيكون مطاطي (مرن) بيشمل مجموعة كبيرة من المفاهيم :: الخلية الواحدة اسمها نطاق .. واحد يقولي يعني A1 دي نطااااااااااق .. إنت كدا خليت الخلية تاخد أكبر من حجمها هي مجرد خلية ، أرد وأقوله .. الخلية نطاق ومجموعة الخلايا المتجاورة نطاق ، ومجموعة الخلايا الغير متجاورة نطاق ، والصف الواحد نطاق ، ومجموعة صفوف نطاق ، والعمود الواحد نطاق ، ومجموعة أعمدة نطاق .. بس خلاااص (الحاجة الوحيدة اللي لا تصلح إنك تحدد نطاق في أكتر من ورقة عمل .. يعني الشغل كله في تحديد النطاقات بيكون في ورقة واحدة .. بمعنى آخر ميجيش واحد ويقول عايز أحدد مجموعة خلايا في الورقة الأولى + مجموعة خلايا في الورقة التانية دي لسه بيل جيتس معلمهاش) جميل لحد دلوقتي يبقا كدا اتعرفنا على لفظ نطاق ..طيب كلنا عارفين إننا عشان نقدر ننفذ أمر معين لازم الأول نحدد النطاق اللي هيتم التنفيذ عليه .. مينفعش أقول مثلا نسق الخلايا ولونها وخلي حجمها 14 - طبيعي إن اللي بيفكر كدا يبقا فاهم إن الكمبيوتر بيسمعه وعارف عايز ايه ، مفيش خلاف إننا لما بنتعامل مع الكمبيوتر مننساش إننا بنتعامل مع آلة ، يعني مهما كانت درجة تفوقها فهي غبية ، والغباء هنا صفة مش مذمومة ، الغباء اللي أقصده إنه لازم تمشي خطوات منطقية ومنطقية جدا عشان تقدر تحقق هدفك .. فأول خطوة دايما للتعامل غالبا بتكون تحديد النطاق اللي هشتغل عليه .. عشان كدا هافرد الشرح عن تحديد الخلايا والنطاقات بشكل تفصيلي .. ادعوا لي ربنا يوفقني في توصيل المعلومة) نبدأ على بركة الله .. واحد هيقولي : كل دي بداية دا إنت هتطلع عنينا ، على ما نعرف المعلومة (بس أحب أوضح إن الأمور لما تكون مفهومة تمام الفهم والإدراك ، دا بيسهل عملية التعلم بشكل كبير ؛ عشان كدا متستغربوش إني برغي كتير .. الهدف في النهاية توصيل المعلومة بأسلوب غير تقليدي) بصراحة أنا مش مرتب هشرح إزاي الموضوع نظرا لأن فيه معلومات كتير وخايف تتوهوا مني .. بس دلوقتي خطرت لي فكرة إننا نقسم الموضوع ، ونتعامل مع جزئية جزئية أول جزئية هنتكلم عليها الخلية المفردة (الخلية : زي ما إحنا عارفين عبارة عن التقاء الصف مع العمود ..معلومة قديمة .. والصف بيكون عبارة عن رقم ، والعمود عبارة عن اسم حرف .. بردو معلومة قديمة .. والخلية لما بنسميها بتكون عبارة عن اسم العمود وبعديها رقم الصف .. بردو معلومة قديمة!!) (شكلي كدا معنديش معلومة جديدة أديهالكم النهاردة !!) مثال : لو قلنا الصف الرابع والعمود الخامس ، هنعبر عنه إزاي ؟ نحسبها : نبدأ الأول بالعمود (نظرا لأن العمود رأسي وأنا رأسي مشغولة بالفكرة) ، العمود الخامس دا فين .. عشان نعرف يبقا لازم ناخد درس إنجليزي الأول ونركز على الحروف (أصلي معلم إنجليزي وعايز أسوق لنفسي دروس) ..نبدأ نقول مع بعض : A و B و C و D و E (بس خلاص وصلنا للحرف الخامس يبقا العمود الهدف هو العمود E .. بلغة البرمجة Target.Column=5 .. محدش يدقق أوي في الجملة دي ، بعدين هنعرفها ، دا كان حرف العمود ، والرقم مش محتاج نحسبه لأن الصف الهدف هو الرابع .. بلغة البرمجة Target.Row=4 (بكدا تكون عنوان الخلية الهدف هي الخلية E4 .. وبلغة البرمجة Target.Address=$E$4 السؤال الأول : كيف يمكن تحديد الخلية E4 في محرر الأكواد ؟ الإجابة : الإجابات متنوعة ، نشوف كل الطرق عشان نتعلم ... أول طريقة : استخدام الخاصية Range >> نطبق على الخلية E4 مثلا Range("E4").Select هنا لازم بعد الخاصية Range بنفتح قوس ) وبعد القوس قوس تنصيص " وبعدين عنوان الخلية .. وزي ما اتعودنا القفلة يا رجالة ... كدا إحنا أشرنا للخلية E4 ، ونقول لمحرر الأكواد حددها بكلمة Select تاني طريقة : استخدام الخاصية Cells ، ودي مختلفة شوية Cells(4, 5).Select هنا بنفتح قوس بعد الخاصية Cells وبنستخدم أرقام (رقم الصف الأول ، وبعدين رقم العمود) ودي شرحناها بالتفصيل وعرفنا إن رقم الصف 4 ، ورقم العمود E هيكون رقم 5 ، ونفس القصة بعد الإشارة للخلية الهدف نقول لمحرر الأكواد حددها بكلمة Select تالت طريقة زي تاني طريقة ..إننا نستخدم Cells بردو (إزاي دي ؟؟!!) Cells(4, "E").Select هنا لو موضوع رقم العمود دا مضايقك ، ولا يهمك هنشوف لك بديل ، ممكن تكتب اسم العمود بس مننساش أقواس التنصيص !! رابع طريقة : طريقة الباشمهندس طارق محمود (أنا سميتها كدا لأنها المفضلة عند الباشمهندس طارق) [E4].Select ويا ريت نعرف كل الطرق ، لأن كل طريقة وليها استخدامها في مواقف معينة .. دي بتيجي مع الخبرة .. نقطة أخيرة قبل ما ننتقل للجزئية التانية .. افتراضيا الشغل بالشكل ده على ActiveSheet يعني كل الأسطر اللي كتبناها ممكن نضيف قبل كل سطر كلمة ActiveSheet متبوعة بنقطة (عشان لما نبدأ نتعامل مع أكتر من ورقة نخلي بالنا .. بس لو شيلناها بيفهم محرر الأكواد إننا بنتعامل مع المصنف النشط الورقة النشطة) @ انتهى الجزء الأول@ السؤال التاني : كيف يمكن تحديد النطاق A1:C10 في محرر الأكواد؟ الإجابة : أجب بنفسك (ارحموني شوية كله عليا لوحدي ، أنا تعبت!!) Range("A1:C10").Select هنا استخدمنا الخاصية Range (واحد هيسأل هي Range خاصية ولا كائن .. أقولك هي كائن وخاصية ، هي من ضمن خواص ورقة العمل ، وفي نفس الوقت كائن (يعني ممكن نقول تابع ومتبوع) ...هنا عشان نحدد نطاق الموضوع في منتهى البساطة بنحدد أول خلية في النطاق وآخر خلية في النطاق (لما نجرب نحدد بالماوس الخلية A1 وبعدين نضغط Shift من لوحة المفاتيح ونحدد الخلية C10 هنلاقي النطاق اللي ما بين الخليتين تم تحديده بالكامل ، أنا قلت الحتة دي ليه ؟ ؛ عشان أوصلكم معلومة إننا كل اللي بيهمنا عشان نحدد نطاق بدايته ونهايته ..... نلاحظ إننا فصلنا بين البداية والنهاية بالعلامة دي : طريقة تانية : Range("A1", "C10").Select زيها بس الفصل بين البداية والنهاية بيكون بفاصلة .. وهنا لاحظ الاختلاف بنفسك (مش كل حاجة لازم نشرحها بالتفصيل .. فيه ناس بدأت تحس بالملل والرتابة ) طريقة تالتة : اننا نستخدم Range و Cells مع بعض Range(Cells(1, 1), Cells(10, 3)).Select واحد هيبص للسطر اللي فات ويقولي ايه الكلكعة دي إنت كنت ماشي زي الفل والأمور واضحة ..مالها بقت ضلمة ليه كدا ؟؟ يا حاج سعد ولا ضلمة ولا حاجة إنت بس ركز كد .. الخاصية Range بيكون وراها قوسين بين القوسين بداية ونهاية .. البداية Cells(1, 1) اللي هي مرادف الخلية A1 والنهاية Cells(10, 3) اللي هي الخلية C10 بكدا نكون حددنا البداية والنهاية داخل الخاصية Range ...أظن الأمور كدا بقت واضحة يا شوقي !! طريقة رابعة إننا نسمي النطاق في ورقة العمل .. وطبعا دي أمرها بسيط ..داخل ورقة العمل بحدد A1:C10 وأسميها عن طريق وضع الماوس في صندوق الاسم ونكتب اسم وليكن Officena Range("Officena").Select ومننساش إن Officena دي اسم للنطاق ، والاسم نص ، والنص يؤكل إذاً الجبن يؤكل ..أعتذر (سرحت في الفلسفة : الخوف جبن والجبن يؤكل إذاً الخوف يؤكل ..دا منطق فاسد) أما المنطق بتاعنا مش فاسد الحمد لله ... الاسم نص والنص يوضع بين أقواس تنصيص. خامس طريقة (طريقة باشمهندس المنتدى .. من أحب الناس لقلبي) [A1:C10].Select @انتهى الجزء الثاني@ الجزء الثالث عن طريقة تحديد خلايا أو نطاق في ورقة عمل أخرى داخل المصنف .. ودي بسيطة بس ركزوا لأنها مختلفة شوية أد كدا (طبعا محدش شايف ايدي والحمد لله ، لأنكم لو شفتوا ايدي هتدعوا عليا !!..) Application.Goto Sheets(3).Range("A1:C10") الخاصية Goto دي مش خاصية يا متنورين ، دي Method لأنها حدث أو فعل (نسينا ..كله يراجع تاني ، وإلا مش هكمل ) معناها( اذهب إلى ) ، وبعدين مسافة ، وبنحدد المكان اللي هيروحله محرر الأكواد .. نخلي بالنا هنا مستخدمناش Select والله يا أبطال مستخدمناها ، ولو استخدمناها محرر الأكواد هيفضحنا برسالة خطأ الـ Method هنا اللي اسمها Goto أغنت عن الـ Method اللي اسمها Select .. لأنه ببساطة مينفعش فعلين في نفس الوقت .. هو دا النظام إذا كان عاجبكم ... مينفعش حدثين مع بعض يا إما Select يا إما Goto طيب نجرب نستعمل Select ونشيل Goto اللي إحنا مش متعودين عليها كدا نجرب ، وإحنا واقفين في الشيت رقم واحد وننفذ السطر التالي Sheets(3).Range("A1:C10").Select شكلها صح ، لكن للأسف غلط ..لأننا دلوقتي بنتعامل مع ورقة عمل تانية ، بالتالي لازم عشان نعمل سطر زي ده ، وميكونش فيه رسالة خطأ ، لازم ولابد وحتما إننا ننشط ورقة العمل اللي هنشتغل عليها بـ Method اسمها Activate (نشط) Sheets(3).Activate Sheets(3).Range("A1:C10").Select كدا نتلاشى رسالة الخطأ ، والحمد لله ..خلاصة الكلام إننا لو استخدمنا Select أثناء التعامل مع ورقة عمل أخرى ، يبقا لازم ننشط ورقة العمل (نديها منشطات عشان متهنجش مننا .. ممكن نستعين بالأستاذ الغالي اللي غايب عننا رجب جاويش) وحتى النطاقات المسماة زي النطاق اللي سميناه من بدري باسم Officena لو أنا في ورقة عمل تانية ، مش هينفع أستخدم Select معاها بردو .. فالأفضل في التعامل مع أوراق العمل الأخرى استخدام Goto Application.Goto Range("Officena") @انتهى الجزء التالت@ وانتهت الحلقة .. مش عارف إذا كنت استوفيت الموضوع النهاردة بالتفصيل ولا لا .. بس عموما لو حد عنده إضافات بالنسبة لتحديد النطاقات يفيدنا بيها .. أنا قلت اللي عندي ، قولوا إنتو اللي عندكو (بارك الله فيكم على حسن المتابعة ، وإلى لقاء مع حلقة جديدة ومعلومات جديدة ..أستودعكم الله) الواجب : متروك لكم حرية عمل مصنف ، وتنوع فيه الطرق المختلفة للتحديد .. كان معكم على الهواء تحديداً في الكرسي الأخير من الصف الأخير في قاعة أوفيسنا .. قاعة أوفيسنا.الصف الأخير.الكرسي الأخير.تحديد(أبو البراء) دمتم في رعاية الله
    1 point
  22. الاستاذ الفاضل / يحيى حسين تسلم وجزاك الله كل خير على هذا الشرح والوافى والفيديو الجميل مثلك جزاك الله كل خير وزادك الله علما الاخ العزيز / ياسر خليل الف شكر ياحبيبى على قيامك بتقديم هذ الفيديو الرائع جزاك الله كل خير وجعله فى ميزان حسناتك اللهم امين انا لى طلب بسيط يااخى العزيزياسر خليل هل يمكن ارفاق ملف مكتوب فيه الكود ومنفذ فه الدوائر ولكن على نسخة 2003 وجزاك الله كل خير
    1 point
  23. يبدوا لي ان الطريقة في الشرح السابق غير ممتعة وغير مشوقة وعلى ذلك سأسلك طريقة اخرى : الخطوة الاولى : سأرفق الجزء الاول من المشروع وهو انشاء الجداول ، وقد صنعتها على عجل والنقص فيها سنتداركه لاحقا المطلوب : مطالعة المرفق وتفحصه بدقة . ثم طرح الاسئلة حول ما يشكل فهمه لن ننتقل الى الخطوة التالية حتى نتأكد من فهم واستيعاب هذه الخطوة SCH1.rar
    1 point
  24. عودة الى الجدول1 : نريد ان نربط حقلي المرحلة والشعبة في جدول الاسماء بجدولي المراحل والشعب عن طريق البحث او ما يسمى بمربع السرد والتحرير نفتح جدول الاسماء على التصميم ثم نحدد على الحقل المرحلة وفي الخصائص بالاسفل نفتح لسان التبويب بحث ثم من عرض عناصر التحكم نختار مربع تحرير وسرد فتظهر قائمة قيم : - نوع مصدر الصف = جدول/استعلام - مصدر الصف = ننقر النقاط الثلاث التي الى يسار الحقل فيظهر لنا استعلام فارغ ننقر باليمين على الفأرة ونختار جدول فيفتح لنا مربع حوار نختارمنه جدول المراحل ثم موافق ثم اغلاق الآن استقر جدول المراحل داخل الاستعلام ، ننقر على حقل معرف المرحلة ثم المرحلة فيظهران داخل الاستعلام نغلق الاستعلام حفظ = نعم - عمود منضم = 1 - عدد الاعمدة = 2 رؤوس الاعمدة = لا عرض الاعمدة = صفر عرض القائمة = تلقائي التزام بالقائمة = نعم نعمل بحقل الشعبة مثل ما عملنا بحقل المرحلة خطوة خطوة ( طبعا سيتم ربطه بجدول الشعب ) الاخت ( morestud ) يسعدنا انها تختار لها اسم عربي يسرها ان نناديها به حتى يحسن النقاش من هنا http://www.officena.net/ib/index.php?showtopic=41520
    1 point
  25. حياك الله اختنا الكريمة مطلوبك سنصل اليه بإذن الله بحيث يدخل كل مدرس مادة درجات الفصول الخاصه به ويمكن لمدير البرنامج الدخول على الجميع الجدول2 جدول المراحل tblMrahel يحتوي على حقلين معرف المرحلة mrID رقم وحجمه عدد صحيح طويل المرحلة mrhla نص وحجمه 15 الجدول3 جدول الشعب tblShoab يحتوي على حقلين : معرف الشعبة shbID رقم وحجمه عدد صحيح طويل الشعبة shoba نص وحجمه 1 لان الشعبة حرف واحد
    1 point
  26. الجدول1 جدول اسماء الطلاب وبياناتهم اسم الجدول tblAsma وحقوله كثيرة متنوعة يهمنا منها اربعة : معرف الطالب UserName نوعه نص وحجمه 10 بدون تكرار (على اساس الهوية 10ارقام) اسم الطالب studNm نوعه نص وحجمة 50 المرحلة mrhla نوعه رقم وحجمه عدد صحيح طويل الشعبة shoba رقم مثل سابقه خلطت الحابل بالنابل العربية بالانجليزية فهذا للتمثيل وكل يأخذ ما يصلح له
    1 point
  27. بسم الله الرحمن الرحيم يقول تعالى : و ما أوتيتم من العلم الا قليلا فهذا شي يسير الحال من كثير مما أفتقد اليه من هذا العلم الواسع , و على قدر المستطاع أقدم لاخواني هذه الوصايا التي أسأل الله أن تفيدهم قبل الشروع ببناء برامجهم , وفقنا الله و اياكم لما فيه الخير أولا : عمل تحليل مسبق للبرنامج الكثير منا عندما يطلب منه تصميم برنامج , يبدأ مباشرة بتصميم الجداول المطلوبه جنبا الى جنب مع بناء النماذج , ثم يعود ان اضطره الأمر لاعادة بناء الجداول أو العلاقات و هكذا الى أن يتم انجاز البرنامج مما يطيل مدة انجاز البرنامج ناهيك عن دقة التصميم . و قد يغيب عن أذهاننا , و غالبا نكون على عجلة من أمرنا , أن نجاح أتمتة المشروع يعتمد اعتمادا كليا على دقة تحليل النظام و تصميمه بالشكل الصحيح تحليل النظام يعتمد اساسا على الخطوات التالية بشكل اجمالي : - تحليل نظام العمل و كيفية سيره على أرض الواقع اي آلية العمل الفعليه للنظام المراد وضع برنامج له و يكون ذلك بوصف دقيق من قبل من هو مختص بهذا المجال و يعايشه بشكل واقعي , فكم رايت من برامج محاسبية فيها ثغرات محاسبية فادحة , و بسؤالي عن مصمميها يتبين أنهم من غير ذوي الاختصاصات المحاسبيه أصلا . - وضع منهجية العمل الآلية للبرنامج الذي سيستخدم في هذا المجال - وضع المخطط التدفقي للمشروع و تصور النماذج و التقارير المطلوبه - في ضوء المخطط التدفقي يتم وضع تصور للجداول المطلوبه - وضع تفصيل الحقول المراد استخدامها في بناء الجداول ثانيا : عند تصميم الجداول ينبغي التمييز بين البيانات المدخلة و البيانات المخرجة , اذ أن البيانات المدخلة هي فقط التي تخزن في الجداول , أما البيانات المخرجة فقد تكون عبارة عن البيانات الأساسية المدخلة كما هي . أو قد يكون جرى عليها بعد العمليات الحسابية , مثلا اذا كنا نريد حساب القيمة و التي هي عبارة عن : القيمه = الكميه * سعر الوحده يمكن أن نضع حقلا للكميه المباعه و حقلا لسعر الوحده أما القيمة و التي هي عباره عن سعر الوحده * الكميه , فلا يجب أن يكون حقلا ضمن الجدول وذلك لأنه يتأثر بقيمة كل من الكمية و السعر فاذا تغير سعر الوحده فان الجدول لايستطيع حساب القيمه من تلقاء نفسه الا من خلال تشغيل كود معين , لذلك يستعاض عن هذا باستخراج القيمة من خلال استعلام يحوي حقل محسوب يساوي الكميه * السعر ثالثا : يجب فصل البيانات الخاصه بجزئيه معينه عن بعضها , مثلا اذا كان لدينا نظام مبيعات , أي لدينا مواد و زبائن , و حيث أننا نريد أن ندخل اسم العميل في الطلبيه , و نحتاج بنفس الوقت لمعرفة بيانات كامله عن هذا العميل , فاذا كنا سنقوم بادخال بيانات العميل هذه كل مره في جدول الطلبيات فسيكون هذا عملا مرهقا , لذلك يتم انشاءجدول مستقل لبيانات العملاء تجتمع فيه بياناتهم الكامله , و نكتفي في جدول الطلبيات بوضع حقل واحد لرقم العميل , و بعملية الربط بين الجدولين نستطيع معرفة مانريد من بيانات عن هذا العميل . رابعا : استتباعا للوصية السابقة , نؤلف جدول الطلبيات و يكون فيه حقل واحد لكود العميل و يكون الرقم المعرف للعميل و ليس اسمه , و لمزيد من التفاصيل يرجى مراجعة الموضوع التالي http://www.officena.net/ib/index.php?showtopic=6209 خامسا : مع عشقي و حبي الجارف للغة العربية و استخدامها في التخاطب و الكتابة و أعتبرها بحق أرقى لغات العالم , الا أنه و للأسف فان كتابة الأكواد تعتمد على اللغة الانكليزية , لذلك يكون من الأنسب و الأيسر أن يتم استخدام الأسماء الانكليزيه لكل مكونات قاعدة البيانات و خاصة اسماء الجداول و الحقول , لأن استخدام الأسماء الانكليزية أسهل أثناء العمل بالمعادلات و أكواد الفيجوال بيسيك سادسا : تجنب وضع مسافات في التسميات , مثلا اذا كنت تريد تسمية Product List فالأفضل وصلها هكذا ProductList سابعا : كثيرا مايتم بناء استعلام من جدول و يأخذ الاستعلام بشكل تلقائي نفس اسم الجدول , و حتى نميز بين الجدول و الاستعلام يفضل ابتداء اسم الجدول برمز tbl يليه اسم الجدول , مثلا الجدول Product يصبح TblProduct أما الاستعلام فيسبقه الرمز qry و يصبح QryProduct و قد نستدرك بعض الوصايا لاحقا هذا و الله أعلم
    1 point
×
×
  • اضف...

Important Information