Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- كلية شط العرب – الجامعة
- قسم علوم الحاسبات
- مشروع بحث مقدم إلى
- كلية شط العرب - الجامعة لإكمال متطلبات نيل
- درجة البكالوريوس في علوم الحاسبات
- إعداد الطلبة
- محمد ياسين كاظم
- ميلاد رائد كامل
- عبد الله حسين طه
- هبه أمين عبد الجليل
- بإشراف الدكتورة
- لمياء عبد الوهاب دكسن
- 2017-2018
- بسم الله الرحمن الرحيم
- يا أيها النَّاسُ قَدْ جَاءَكُمْ بُرْهَانٌ مِنْ رَبِّكُمْ وَأنْزَلْنَا إِلَيْكُمْ نُوراً مُبِيناً
- صدق الله العلي العظيم
- الإهداء
- بدأنا بأكثر من يد وقاسينا أكثر من هم وعانينا الكثير من الصعوبات وها نحن اليوم والحمد لله نطوي سهر الليالي وتعب الأيام وخلاصة مشوارنا بين دفتي هذا العمل المتواضع
- إلى معلم البشرية ومنبع العلم ... إلى الأمي الذي علم المتعلمين ... إلى سيد الخلق رسولنا الكريم محمد (صلى الله عليه واله وسلم)
- إلى من أثقلت الجفون سهرا ... وحملت الفؤاد هما ... وجاهدت الأيام صبرا... وشغلت البال فكرا ... ورفعت الأيادي دعاءا ... وأيقنت بالله أملا ... أغلى الغوالي واجب الأحباب ... أمي العزيزة
- إلى من سهر الليالي ... ونسي الغوالي ... وظل سندي الموالي ... وحمل همي غير مبالي ... بدر التمام ... والدي الغالي
- إلى ورود المحبة ... وينابيع الوفاء ... إلى من رافقوني في السراء والضراء... إلى اصدق الأصحاب ... أخواتي وإخوتي
- إلى من سرنا سويا ونحن نشق الطريق معا نحو النجاح والإبداع ... إلى من تكاتفنا يدا بيد ونحن نقطف زهرة تعلمنا ... إلى أصدقائي وزملائي
- إلى من علمونا حروف من ذهب ... وكلمات من درر ... وعبارات من أسمى وأحلى عبارات في العلم ... إلى من صاغو لنا علمهم حروفا ... ومن فكرهم منارة تنير لنا سيرة العلم والنجاح ... إلى أساتذتنا الكرام
- تأييد المشرف على المشروع
- أُؤيد أن مشروع التخرج الموسوم (( تصميم برنامج إدارة نظام صيدلية )) قد تم تحت إشرافي في كلية شط العرب الجامعة قسم علوم الحاسبات للعام الدراسي 2017- 2018
- د . لمياء عبد الوهاب دكسن
- الفصل الأول
- المقدمة
- 1 - المقدمة ------------------------------------------------------1-1
- 2 تاريخ الصيدلية -----------------------------------------------2-1
- 3 ------------------------------------- أهم علماء الصيدلة العرب 3-1
- 4-1 مقدمة عن Microsoft Access ------------------------------ 4
- 5 محتويات قاعدة بيانات أكسس------------------------------------5-1
- 6 ما المقصود بقاعدة البيانات--------------------------------------- 6-1
- 7-1أجزاء قاعدة بيانات Access ------------------------------------ 7
- 8-1الفيجوال بيسك Visual Basic---------------------------------- 7
- 9-1مميزات الفيجوال بيسك ------------------------------------------ 8
- الفصل الثاني
- مدخل إلى فيجوال بيسك وأكسس
- 1-2 الفيجوال بيسك Visual Basic--------------------------------- 9
- 2-2 واجهه الفيجوال بيسك ------------------------------------------ 10
- 3-2 عناصر شريط الادوات----------------------------------------- 12
- 4-2 شريط قوائم فيجوال بيسك--------------------------------------- 13
- 5-2 برنامج قواعد البياناتAccess 2007--------------------------- 15
- 6-2 وظائف برنامج Access--------------------------------------- 15
- 7-2 التعامل مع قواعد البيانات (العمل مع اكسس)--------------------- 16
- 8-2 كائنات قاعدة البيانات ------------------------------------------ 22
- 9-2 خطوات تصميم قاعدة البيانات ---------------------------------- 24
- 10-2 انشاء قاعدة البيانات جديدة فارغة ------------------------------ 25
- 11-2 فتح قاعدة بيانات---------------------------------------------- 26
- 12-2الجداول------------------------------------------------------ 28
- 1-12-2طرق إنشاء الجداول ---------------------------------------- 29
- 13-2اختيار نوع البيانات لكل حقل------------------------------------ 31
- الفصل الثالث
- الكود الخاص بالبرنامج
- 1-3كود البرنامج --------------------------------------------------- 33
- الفصل الرابع
- تصميم وواجهات البرنامج
- 1-4تصميم البرنامج ------------------------------------------------ 50
- 1-1-4واجهة الدخول ----------------------------------------------- 50
- 2-1-4 واجهة البيع -------------------------------------------------- 51
- 3-1-4 واجهة المخزن------------------------------------------------ 54
- الفصل الخامس
- المناقشة
- 1-5 الملخص ------------------------------------------------------- 57
- 1-5 المعوقات التي واجهتنا في المشروع ----------------------------- 58
- 1-5 المصادر ------------------------------------------------------- 59
- الفصل الأول
- المقدمة 1-1
- (بالإنجليزية: Pharmacy) الصيدلية :
- هي المكان الذي تباع فيه الأدوية والعقاقير والمستحضرات الصيدلانية. يقوم الصيادلة ببيع الأدوية حسب توصيات الأطباء والوصفات المعطاة، كما يقومون أيضاً ببيع أدوية أخرى (أدوية الرف) التي لا تحتاج إلى وصفة ؛ ولكن يكون في استطاعة الصيدلي إعطاء المشتري معلومات عن فائدتها وطريقة تعاطي العقارات و الفيتامينات أو طريقة استخدام المواد المساعدة ، مثل اللاصقات والرابطات وأدوات الاستنشاق وكثير من الأعشاب الصحية، وغيرها. الصيدلية هي مرفق للرعاية الصحية تؤكد توفير الخدمات الصيدلانية لمجتمع معين . تقوم بصرف الدواء و يتضمن فيها وجود مسجل صيدلاني مضمون يمكن أن تكون الصيدلية تابعة للقطاع الخاص، كما يمكن أن تكون مؤسسة عامة تابعة لوزارة الصحة يتم فيها عمليات تركيب الأدوية وصرفها ومراجعتها والتأكد من كفائتها. كما ظهرت مهمات حديثة بها مثل العناية بالمرضى المعروفة بالصيدلة السريرية مثل قياس ضغط الدم أو كذلك في بعض البلاد الأوروبية تحليل الدم وتعيين الكولسترول خلال أسابيع معينة من السنة.
- -1-
- 2-1تاريخ الصيدلة
- المداواة بالأعشاب بدأت مع الحيوان فتعلم الإنسان منه عندما لاحظ أن الكلاب عندما كانت تعتل صحتها كانت تأكل أعشابا فتهدأ وتشفي وكانت القطط عندما تشعر بآلام بمعدتها تبحث عن نبات النعناع وتأكله ليساعدها على طرد الغازات من بطونها. اكتشف الإنسان أن النعناع يحتوي على زيوت طيّارة طاردة للرياح وبدأ الإنسان في انتقاء دوائه من الأعشاب وخلال السنين أصبحت لديه الخبرة العلاجية مستعينا بما يحيط به في بيئته. كان هناك مصادر قديمة لدى كل شعوب العالم القديم للأدوية المفردة: النباتية، والحيوانية، والمعدنية منذ فجر التاريخ في المجتمعات البدائية وفي الأدغال. حاول الإنسان عبر تاريخه معالجة أمراضه من عشب أو نبات أو حجر أو معدن أو قرن غزال أو مخلب حيوان. بدأت قصة التداوي بالأدوية مع الحيوانات بدوافع غريزية في الصين وبابل والإغريق ومصر والبطالمة والرومان والعرب.
- بداية ممارسته الصيدلة عندما كان الإنسان الأول يضع عصير أوراق النباتات فوق الجروح ليعالجها وأصبحت مهنة الصيدلة حاليا، هي ممارسة تواليف الأدوية وصناعتها عبر العصور وتتصل بصحة وحياة الإنسان والحيوان. الصيدلية هي المكان المختار الذي به المادة الطبية materia medica تركيب الدواء وتداوله وبيعه وهي فرع من فروع الطب والصيدلة تعني بطبيعة وخواص وتحضير الأدوية. لهذا نجدها مهنة كيماوية وطبية لأنها مسئولة عن اكتشاف أدوية علاجية جديدة ضد الأمراض وتصنيع مواد عضوية لها قيمة علاجة. علاوة علي أن الصيدلي يسدي النصائح الطبية والصحية للجمهور.
- -2-
- أهم علماء الصيدلة العرب 3-1
- جابر بن حيان : -1
- هو أبو عبد الله جابر بن حيان بن عبد الله الكوفي المعروف بالصوفي. ولد في طوس " خراسان" وسكن الكوفة، حيث كان يعمل صيدلانياً وكان أبوه عطاراً . بنسبته الطوسي أو الطرطوسي، وينحدر من قبيلة الأزد.
- يُعد جابر بن حيّان علم من أعلام العرب العباقرة ، وأول رائد للكيمياء ، وقد أيّد هذه الحقيقة أبو بكر الرازي، عندما كان يشير إلى جابر في كتبه فيقول "أستاذنا" . تقدم علم الكيمياء تقدماً عظيماً على يده ، فهو أول من حضّر حامض الكبريتيك، وحامض النيتريك، وكربونات الصودا، وكربونات البوتاسيوم، وماء الذهب. وهو أيضاً أول عالم كيميائي استعمل الموازين الحساسة في التجارب الكيميائية، وأول من ابتدع عمليات البلورة، والترشيح، والتقطير، والتصعيد وغيرها.
- أبو بكر الرازي : -2
- ولد أبو بكر الرازي في الري عام 250هـ وتوفي عام 311 هـ ، وعُرِفَ منذ نعومة أظفاره بحب العلم فاتجه منذ وقت مبكر إلى تعلم الموسيقى والرياضيات والفلسفة، ولما بلغ الثلاثين من عمره اتجه إلى دراسة الطب والكيمياء ، فبلغ فيهما شأنًا عظيما،
- ولم يكن يفارق القراءة والبحث والنسخ، وإن جل وقته موزع بين القراءة والبحث في إجراء التجارب أو الكتابة والتصنيف.
- برع هذا العالم في الطب والصيدلة والكيمياء ، وارتقت العلوم الصيدلية والطبية والكيميائية على يديه حتى أطلق عليه "أبو الطب العربي".
- ابن سينا : -3
- أبو علي الحسين بن سينا ، من أبرز علماء المسلمين العاملين في مجال الطب والعلاج ، ولد في "خرميش" إحدى قرى "بخارى" عام 370 هـ/ أغسطس 908م ، رحل إلى جرجان وهو في العشرين من عمره وبعد وفاة والده ، وأقام فيها ، وألف كتابه "القانون في الطب"،
- وكان لابن سينا معرفة جيدة بالأدوية وفعاليتها، وقد صنف الأدوية في ست مجموعات، وكانت الأدوية المفردة والمركبة " الأقرباذين" التي ذكرها في مصنفاته وبخاصة كتاب القانون لها أثر عظيم وقيمة علمية كبيرة بين علماء الطب والصيدلة، وبلغ عدد الأدوية التي وصفها في كتابه نحو 760 عقَّارًا رتبها ألفبائيا.
- -3-
- 4-1مقدمة عن : Microsoft Access
- مايكروسوفت أكسس ) بالإنجليزية: (Microsoft Access :
- هو برنامج لإدارة قواعد البيانات من تطوير شركة مايكروسوفت. يأتي البرنامج مرافقا لحزم مايكروسوفت أوفيس Microsoft Office كجزء منها وله واجهة رسومية. ولقد كانت هناك عدة إصدارات للبرنامج، فأولها كان مع برنامج أوفيس 97 ثم أوفيس 2000 وأوفيس 2003 وآخر إصدار هو برنامج أوفيس 2013، وآخر إصدار تجريبي هو برنامج أوفيس 2016.
- ويتميز البرنامج بقدرته على استدعاء البيانات من نظم مختلفة لقواعد البيانات، كقواعد بيانات أوراكل و SQL وأي قاعدة بيانات مفتوحة الاتصال (ODBC).
- ويستعمل برنامج أكسس طوروا البرامج وعلماء لغة البيانات لصنع قواعد بيانات معقدة، ووصلها مع مختلف أنواع البرامج المستدعية، وينطوي تحت ذلك البرامج الكائنية وبرمجيات الإنترنت. بينما يستطيع المبتدئون أن يستعملوه لصنع قواعد بيانات صحيحة أو إنشاء تقارير عنها.
- كذلك تم اعتماد شهادات أكثر المبرمجين والمصممين على برنامج أكسس دولياً، وذلك لزيادة طلب أكثر الشركات لهؤلاء المصممين، كما أن هناك العديد من المنتديات على الشبكة العنكبوتية لتدريس وتعليم الراغبين في تعلم برنامج مايكروسوفت أكسس والذي يمتاز بدعمه للغة العربية.
- أكثر ما يستعمل برنامج أكسس في الشركات وعند مصممي ومطوري البرامج. وتستفيد منه الشركات ذات النسب المرتفعة في الزبائن لإدارة سجلاتهم، وأيضا يكثر استخدامه في الشركات الحكومية التي تتعامل بكثرة مع الناس.
- -4-
- 5-1 محتويات قاعدة بيانات أكسس
- تتضمن قاعدة بيانات أكسس على مجموعة من الجداول والنماذج والتقارير والاستعلامات وبعض وحدات الماكرو وكذلك تحتوي على الوحدات النمطية .
- وتعتبر قاعدة البيانات الإلكترونية هي حاوية تحتوي على الكثير من الكائنات، ويمكن لقاعدة بيانات واحدة أن تحتوي على أكثر من جدول واحد، ويكون الملحق الخاص بقواعد البيانات المنشئة بتنسيق برنامج أكسس للاصدارات الحديثة مثل اصدار 2007 هو accdb، بينما يكون الملحق الخاص بقواعد البيانات المنشئة بتنسيقات ملفات أكسس للاصدارات القديمة هو mdb، ويمكن استخدام برنامج أكسس 2007 لإنشاء وحفظ ملف بتنسيق ملف أكسس قديم في الأصدار (كأن يكون Access 2000 وAccess 2002-2003. )
- -5-
- 6-1ما المقصود بقاعدة البيانات؟
- قاعدة البيانات هي أداة لتجميع المعلومات وتنظيمها. يمكن لقواعد البيانات تخزين المعلومات حول الأشخاص أو المنتجات أو الطلبات أو أي شيء آخر. تظهر العديد من قواعد البيانات كقائمة في برنامج معالجة الكلمات أو جدول البيانات. كلما زاد حجم القائمة، تبدأ حالات عدم التناسق والتكرار في الظهور بين البيانات. يصبح من الصعب فهم البيانات في نموذج القائمة، كما تكون طرق البحث عن المجموعات الفرعية للبيانات أو سحبها للمراجعة محدودة. وبمجرد ظهور تلك المشاكل، يكون من الأفضل نقل البيانات إلى قاعدة بيانات تم إنشاؤها بواسطة نظام إدارة قاعدة البيانات (DBMS)، مثل Access.
- تعتبر قاعدة البيانات الإلكترونية هي حاوية من العناصر. يمكن لقاعدة بيانات واحدة أن تحتوي على أكثر من جدول واحد. على سبيل المثال، لا يعتبر نظام تعقب المخزون الذي يستخدم ثلاثة جداول في ثلاث قواعد بيانات، ولكن قاعدة بيانات واحدة تحتوي على ثلاثة جداول. إذا لم تكن قاعدة البيانات مصممة خصيصاً لاستخدام بيانات أو تعليمة برمجية من مصدر آخر، فإن قاعدة بيانات Access تخزن الجداول الخاصة بها في ملف مفرد، مع عناصر أخرى، مثل النماذج والتقارير ووحدات الماكرو والوحدات النمطية. يكون الملحق الخاص بقواعد البيانات المنشأة بتنسيق Access 2007 (الذي يستخدم أيضاً بـ Access 2016 وAccess 2013 وAccess 2010) هو accdb.، ويكون الملحق الخاص بقواعد البيانات المنشأة بتنسيقات Access السابقة هو mdb.. يمكنك استخدام Access 2016 أو Access 2013 أو Access 2010 أو Access 2007 لإنشاء ملفات بتنسيقات ملف قديمة (على سبيل المثال، Access 2000 وAccess 2002-2003).
- باستخدام Access، يمكنك تنفيذ ما يلي:
- • إضافة بيانات جديدة إلى قاعدة بيانات، مثل عنصر جديد في مخزون
- • تحرير البيانات الموجودة في قاعدة البيانات، كتغيير الموقع الحالي للعنصر
- • حذف المعلومات، ربما إذا تم بيع عنصر أو إهماله
- • مشاركة البيانات مع الآخرين من خلال التقارير أو رسائل البريد الإلكتروني أو الإنترانت أو الإنترنت
- -6-
- 7-1 أجزاء قاعدة بيانات Access
- الأقسام التالية هي أوصاف مختصرة لأجزاء من قاعدة بيانات Access النموذجي.
- 1) الجداول
- 2) النماذج
- 3) التقارير
- 4) الاستعلامات
- 5) وحدات الماكرو
- 6) الوحدات النمطية
- 8-1 الفيجوال بيسك Visual Basic
- فيجوال بيسك) بالإنجليزية ( Visual BASIC: هي بيئة تطوير ولغة برمجة من مايكروسوفت تستند إلى لغة البيسك الشهيرة. وهي تصنف ضمن لغات البرمجة بالكائنات. منذ أن بدأت مايكروسوفت في اصدار الفيجوال بيسك وهي تلاقي نجاحا باهرا وشعبية لا بأس بها بين المبرمجين نظرا لسهولتها الشديدة في مقابل التعقيد الشديد الذي يواجهه أي مبرمج يسعى لبرمجة ويندوز باستخدام السي أو السي++. عموما تناسب الفيجوال بيسك تطبيقات قواعد بيانات والتطبيقات المخصصة للشركات الصغيرة وبرامج الحسابات وهي مريحة وسهلة وتؤدي الغرض بالإضافة إلى أنها تسمح للمبرمج بالتركيز على حل المشكلة فغالباً ما لا يواجه صعوبات فنية أثناء كتابة برنامج بالفيجوال بيسك. و لكن بقى أن نذكر أن برامج الفيجوال بيسك لا تتم ترجمتها كاملة إلى لغة الآلة مثل السي++ أو الدلفي وإنما تترجم إلى كود وسطى يتصل مع مكتبة ربط تسمى ب"Run Time library" واسمها MSVBM.dll مع استبدال علامات الاستفهام برقم الإصدار.
- لغة البرمجة فيجوال بيسك هي لغة ذات تصميم مرئي واجهة رسومية بعكس بعض اللغات مثل (الاسمبلي) ذات الشاشة السوداء. حيث تحتوي هذه اللغة على العديد من الاوامر بداخلها ولغة سهلة التطبيق تم تطوير هذه النسخة من البرنامج عن النسخة القديمة basic والتي تعمل تحت بيئة dos إلى هذه النسخة التي تعمل تحت بيئة
- -7-
- ويندوز. تعتمد اللغة في تطوير تطبيقاتها على الكائنات فهي تشبه العديد من لغات البرمجة الحديثة من حيث اعتمادها على الديناميكية والأحداث. تعني الديناميكية في هذه اللغة القدرة على استدعاء أي اقتران أو اجراء اعتمادا على الحدث. الحدث هو أي عملية يقوم بها مستخدم التطبيق على التطبيق مثل الضغط بزر الفارة أو الضغط على أحد ازرار لوحة المفاتيح أو حتى تحميل نموذج.
- 9-1مميزات الفيجوال بيسك
- • لغة سهلة وسريعة لإنشاء تطبيقات ويندوز.
- • تدعم البرمجة الشيئية إلا أن ذلك ليس بشكل كامل.
- • تعتبر لغة الفيجوال بيسك لغة كائنية المنحنى
- • سهلة التعلم والفهم
- • سهولة اكتشاف الأخطاء فيها
- • اعتماده على HTML وذلك مما جعله سهل الاستعمال والفهم.
- • عند كتابة اوامر صحيحة يقوم بإعطائك أمثلة ليؤكد لك على صحة كتابة الكود
- • تمكنك من تخطي بعض الاخطاء عند كتابة كود محدد
- -8-
- الفصل الثاني
- 1-2 الفيجوال بيسك (Visual Basic)
- الفجوال بيسيك هي لغة برمجة من أهم لغات الحاسب وكان اسمها أولا بيسيك ، ثم طورت لتصبح فجوال بيسيك و كلمة BASIC اختصار لكلمة
- Beginners All-purpose Symbolic Instruction Code وهي لغه مرئية , سهلة التعلم، فواجهة الفيجوال بيسيك كما ترى مثل اي واجهة برنامج اخر مثل فلاش او ثري دي ستوديو ماكس..الخ
- -9-
- 2-2 واجهة الفيجوال بيسيك
- 1- الفورم: الفورم ستكون هي النافذة الأساسية لمشروعك .و كذلك ستكون هي الصندوق الذي يحتوي على كل الكائنات الأخرى التي تضيفها للفورم، لذا فيمكن أن نعتبر الفورم هي أهم كائن في المشروع، و هذه هي نافذة الفورم:
- 2- شريط الادوات: يمكن أن نقول أن شريط الأدوات من الكائنات أو النوافذ الرئيسية في بيئة التطوير Basic Visual Microsoft 6.0 وهو الشريط الذي يحتوي على كل الأدوات التي يمكن أن تضيفها للفورم من صندوق صورة PictureBox أو صندوق نص TextBox أو صندوق عنوان Label أو غير ذلك.
- -10-
- 3- نافذة الخصائص: هذه النافذه تحتوي على خصائص جميع الكائنات والأدوات التي تضيفها لمشروعك، بما فيها خصائص الفورم، و تختلف الخاصائص الخاصة بكل اداه عن الاخرى ماعدا بعض الخصائص المشتركة بين بعض الادوات، وهذه هي نافذة الخصائص:
- .
- 4- نافذة الفورمات: وهي نافذة تحتوي على كائنان أو أكثر الأول هو كائن فهرس Directory واسمه Forms وهو الفهرس الذي يحتوي على كل الفورم التي ستضيفها للمشروع ، و من الممكن وجود Directory أخر عند أضافه Module أو …Class Module الخ .
- -11-
- 3-2عناصر شريط الأدوات
- الأداة الأولى : هي أداة Pointer وهي تعيد مؤشر الماوس إلى السهم الطبيعي إذا كان المؤشر على أحدى الأدوات أو الأشكال الأخرى غير الوجه الطبيعي .
- الأداة الثانية : PictureBox وهي أداة تتيح إضافة صورة إلى البرنامج وإدماج هذه الصورة إلى البرنامج .
- الأداة الثالثة : Label وهي أداة تتيح إضافة عنوان إلى البرنامج . أو نص في أي مكان من الفورم .
- الأداة الرابعة : TextBoxوهي أداة تتيح أن تترك للمستخدم فرصة إدخال بيانات مثل اسمه .
- الأداة الخامسة : Frame وهي أداة تتيح صنع Frame إطار وتضمين بعض الأدوات بداخل هذا الإطار .
- الأداة السادسة :Button Commandوهي أداة زر أمر حيث تتيح أن تجعل للمستخدم زرا ليضغط عليه عند تنفيذ أمر معين .
- الأداة السابعة :Box Check وهي أداة نقطة اختبار. وتتيح للمستخدم استخدام خيارات Options التي تضعها في البرنامج .
- الأداة الثامنة : Button Optionوهي أداة نقطة اختيار. وفيها يمكنك أن تختار اختيارا ما من عدة اختيارات .
- الأداة التاسعة : Compobox وهي أداة تضيف إليها قائمة منسدلة ليختار المستخدم منها إحدى القيم .
- الأداة العاشرة : ListBox وهي أداة قائمة List تشبه القائمة السابقة ولكن مع الفارق أن هذه الأداة ليست منسدلة .
- الأداة الحادية عشر : HScrolBar وهي أداة شريط الإنزلاق العرضي وتستخدم في انزلاق الصور والكائنات الأكبر من اللازم عرضيا .
- -12-
- الأداة الثانية عشر : VScrollBar وهي أداة تشبه السابقة ولكن شريطانزلاق طولي وليس عرضي .
- الأداة الثالثة عشر : Timer وهي أداة وظيفتها أنها تقوم بأداء عمل معين أو عدة أعمال معينة بصفة دورية كلما مر زمن معين تحدده .
- الأداة الرابعة عشر : Shape وهي عبارة عن اداة رسم شكل .
- الأداة الخامسة عشر : Line وهي أداة رسم خط على الفورم .
- الأداة السادسة عشر : Image وهي أداة إضافة صورة وتختلف بعض
- الاختلافات عن الأداة Picturebox.
- الأداة السابعة عشر : data وهي أداة تستخدم في ربط البرنامج بقاعدة بيانات خارجية .
- 4-2شريط قوائم فيجوال بيسك
- • القائمة File : تحتوي علي أوامر أساسية، مثل فتح و حفظ مشروح ، و فتح مشروع جديد، و تحويل البرنامج إلى امتداد Exe ..الخ
- • القائمة Edit : تحتوي علي أوامر التحرير العادية بالإضافة إلى أوامر أخرى .
- • القائمة View : تعمل محتويات هذه القائمة علي أظهار بعض الأشياء مثل صفحة كود و فورم و صندوق الأدوات...الخ
- • القائمة Project : تحتوي هذه القائمة علي أوامر خاصة بمحتويات المشروع مثل إضافة Module أو ClassModule أو غيرها.
- -13-
- • القائمة Format : بهذه القائمة يمكنك تنسيق برنامجك ، مثلا وضع زر في منتصف الشاشة تماما أو محاذاته الى اليمين أو اليسار أو غيره ، و بها أيضا الأمر LockControls الذي يمكنك من عدم السماح بتحريك أو تغير حجم أي كائن، و يمكنك إزالته بالضغط عليه مرة أخرى .
- • القائمة Debug :تحتوي هذه القائمة علي معظم أوامر التشغيل ، ومنها اختيار طريقة تنفيذ البرنامج، مثل تنفيذ سطر واحد منه StepInto،أو تنفيذه كله StepOver ،أو الأمر السابق StepOut ،أو التنفيذ حتى السطر الذي يوجد عليه مؤشر الكتابة RunToCursor، و BreakPoints التي تظهر باللون الأحمر عند كتابة الكود، فعند اختيارها يتم توقف مؤقت للبرنامج إثناء تشغيله.
- • القائمة Run : من خلال هذه القائمة يمكنك تشغيل أو إيقاف البرنامج، و أعادة تشغيله .
- • القائمة Query : تحتاج هذه القائمة إلى جمل استعلام SQL .
- • القائمة Diagram : تحتاج هذه القائمة إلى SQL أو ORACLE.
- • القائمة Tools : تحتوي هذه القائمة علي أوامر كثيرة مثل AddProcedur الذي يمكنك من كتابة أجراء جديد و لكن يجب أن تكون في صفحة الكود عند اختيار هذا الأمر، أما ProcedureAtributes فهو يمكنك تخصيص بعض الأشياء للإجراء الذي أنشأته مثل تغيير ID و غيرها .
- • القائمة Add-Insert: تحتوي هذه القائمة علي برامج مستقلة توفر خدمات للبرنامج .
- • القائمة Window : تنظم هذه القائمة صفحة الكود و الفورم ليكونا ظاهرين مع بعضهما .
- • القائمة Help :تحتوي هذه القائمة على تعليمات خاصة ولا يمكنك فتحها إلا إذا تم تحميل MSDN ، و بها أيضا الصفحة الخاصة بنبذة عن الفيجوال.
- -14-
- 5-2برنامج قـواعــد البيـــــانات Access 2007
- التعريف ببرنامج Access
- ھناك العدید من قواعد البیانات التي یمكن أن تتعامل مع كم هائل من البیانات لكن الذى جعل مايكروسوفت أكسس يختلف عنها جميعاً هو أن اكسيس ليس قاعدة بيانات عادية تقوم بمجرد تخزين واسترجاع البيانات بجانب فرزها وترتيبها, ولكنه نظام متكامل لإدارة قواعد البیانات المترابطة (RDBMS – Relational Data Base Management System) وبذلك بدلاً من تصميم قاعدة بيانات واحدة لجميع المعلومات المتاحة يمكن للمستخدم إنشاء العديد من قواعد البيانات التى يتم فى كل منها تجميع نوع معين من البيانات عن موضوع واحد ووضعها فى جدول ثم يتم الربط بين هذه الجداول بعلاقات محددة بحيث يمكن استخراج التقارير المطلوبة منها جميعاً بعد ذلك بسهولة .ويمكن فى اختصار شديد تعريف قاعدة البيانات كالتالي :
- هي عبارة عن تجميع كمية كبيرة من البيانات المرتبطة ببعضها البعض وعرضها بطریقة أو أكثر من طریقة لتسھل الاستفادة منھا و تطبیق العملیات و الشروط علیھا طبقا للنظام الذي یتم إنشائھا.
- 6-2وظائف برنامج Access :
- تستخدم لتخزين البيانات في قاعدة بيانات أو أكثر من قاعدة بيانات، والتي هي عبارة عن ملفات لتخزين البيانات ، وتخزين البيانات في أي قاعدة بيانات له فوائد وميزات منها تخزين كميه ضخمه من البيانات بدون التأثير على أداء وفعالية قاعدة البيانات ويمكن تلخيص بعض أهم وظائف قواعد البيانات فى البنود التالية .
- • إضافة معلومة أو بيان جديد إلى الملف .
- • حذف البيانات القديمة والتي لم تعد هناك حاجة إليها
- • تغيير بيانات موجودة تبعاً لمعلومات استحدثت
- • البحث والاستعلام عن معلومة أو معلومات محددة
- • ترتيب وتنظيم البيانات داخل الملفات .
- • عرض البيانات في شكل تقارير أو نماذج منظمه
- -15-
- 7-2التعامل مع قواعد البيانات ( العمل مع أكسس) :
- نلاحظ أن البيئة الجديدة لبرنامج Microsoft Access 2007 تعتمد على التبويب بدل من القوائم وداخل هذه التبويبات مجموعات منطقية بالإضافة الى زر أوفس Microsoft Office الذى يساعدك على فتح وحفظ وطباعة الملفات ومعرفة كافة الاجراءات التى تريد القيام بها على المستند .
- -16-
- (1زر أوفس :
- تم إعادة تصميم واجهة المستخدم بشكل كبير في برامج Microsoft Office system 2007 مع استبدال قائمة ملف المعروفة سابقاً بزر الأوفس ويوجد في الركن الأيمن العلوي من برامج Microsoft Office
- • عند النقر فوق زر Microsoft Office سترى نفس الأوامر الأساسية التى كانت متوفرة فى اصدارات سابقة لبرامج Microsoft Office لفتح ملف وحفظه وطباعته.
- • لكن فى Microsoft Access 2007 يتوفر الآن المزيد من الأزرار مثل انهاء ونشر وادارة وانهاء قاعدة البيانات.
- • يعتبر "شريط أدوات الوصول السريع" وهو شريط أدوات يمكن تخصيصه ويحتوى على مجموعة من الأوامر المستقلة عن علامة التبويب المعروضة حالياً وهى Save Undo - Redo-.
- • يمكن إضافة أزرار تمثل أوامر إلى "شريط أدوات الوصول السريع" ويمكن نقله من احد الموقعين الممكنين ، ويمكن إضافة أمر الى "شريط أدوات الوصول السريع" مباشرة من الأوامر التي يتم عرضها على "الشريط" بالخطوات التالية.
- 1- فى "الشريط" انقر فوق علامة الأمر على الجانب تظهر قائمة منها أختر الأمر الذي تريد إضافته إلى "شريط أدوات الوصول السريع"
- 2- يمكنك اختيار أوامر إضافية أو أيقونات من مجموعات أشرطة الأدوات المصاحبة للتبويبات بالنقر بزر الفأرة الأيمن على الأيقونةً فوق الأمرالذى تريده ،تظهر قائمة مختصرة أختر منها "إضافة الى شريط أدوات الوصول السريع"
- -17-
- 3- يمكن تخصيص أيقونات شريط أدوات الوصول السريع بالنقرعلى مفتاح Microsoft Office واختيار مفتاح "خيارات أكسس" منها ننقر "تخصيص" ومن الشاشة التى تظهر نختار الأوامر من "أختيارالأوامر من" فى اليمين ونقلها الى مربع"تخصيص شريط أدوات الوصول السريع" فى اليسار باستخدام المفتاح إضافة << .
- (2شريط العنوان :
- ويوجد فيه اسم البرنامج واسم الملف الذي يتم التعامل معه وفى أقصى اليسار توجد ثلاثة أزرار وهم زر "تصغير" و"تكبير" و"إغلاق X" المعروفين في جميع نوافذ الويندوز.
- -18-
- 3) شريط تبويب الصفحة الرئيسية يتكون من مجموعات وهى:
- أ- مجموعة طرق العرض
- ب- مجموعة الحافظة
- ت- مجموعة خط
- ث- مجموعة نص منسق
- ج- مجموعة فرز وتصفية
- ح- مجموعة بحث
- (4 شريط تبويب إنشاء يتكون من مجموعات وهى:
- أ- مجموعة جداول
- ب- مجموعة نماذج
- ت- مجموعة تقارير
- ث- مجموعة غير ذلك
- -19-
- (5شريط تبويب أدوات بيانات خارجية يتكون من مجموعات وهى:
- أ- مجموعة استيراد
- ب- مجموعة تصدير
- ت- مجموعة تجميع البيانات
- ث- مجموعة قوائم Share Point .
- (5شريط تبويب أدوات قاعدة البيانات يتكون من مجموعات وهى:
- أ- مجموعة ماكرو .
- ب- مجموعة إظهار/إخفاء.
- ت- مجموعة تحليل.
- ث- مجموعة نقل البيانات.
- ج- مجموعة أدوات قاعدة البيانات.
- -20-
- (6منطقة العمل:
- هي الجزء المخصص من البرنامج للتعامل (فتح ومعاينة) مع كل الكائنات المتضمنة في قاعدة البيانات.
- (7جزء التنقل:
- هي المساحة من الشاشة التي تظهر بها أسماء الجداول والنماذج والتقارير والماكرو والوحدات النمطية لقاعدة البيانات المفتوحة كما هو مبين بالشكل السابق.
- شريط الحالة:
- -21-
- 8-2كائنات قاعدة البيانات :
- 1- الجداول :
- أهم هذه الكائنات لأن الجدول هو الملف الأساسى الذى يحتوى على البيانات الكاملة ويمكن أن تحتوى قاعدة البيانات على أكثر من جدول والجدول الواحد يحتوى على عدة صفوف وأعمدة والأعمدة هى الحقول المحتوية على المعلومات التى تدرج فيها لحفظها داخل الجدول ويمكننا الربط بين جميع هذه الجداول باستخدام المفتاح الأساسى ليسهل علينا الوصول بأسرع وقت ممكن للبيانان أو المعلومة المطلوبة .
- 2- الاستعلامات :
- مجموعة محددة أو مفلترة أو مصفاة من بيانات الجدول حسب شروط أو خصائص معينة.
- 3- النماذج :
- هى عبارة عن الشكل النهائى الذى توضع به البيانات ولذلك يظهر فيه مميزات التصميم ولابد أن يكون وضع البيانات فيه بشكل مناسب وبأسلوب منسق مع العلم أن كل البيانات المدخلة من خلال النماذج يتم حفظها تلقائيا فى الجداول .
- 5- وحدات الماكرو:
- وهى مجموعة الاجراءت المسجلة من خلال عملية معينة لإنجاز عملية معينة.
- -22-
- 4- التقارير:
- وهى تحديد للبيانات التى التى يتم طباعتها ويتم الاختيار من خلاله شكل وتصميم لورقة الطباعة.
- 6- وحدات نمطية:
- وهى برامج صغيرة تلزم بأداء أمر معين عند النقر على زر معين ويستخدم لذلك أوامر الفيجوال بيسك. ومن كل هذه المكونات تتكون لنا قاعدة بيانات كاملة والتى تظهر فى جزء التنقل ولكن من الجدير بالذكر أن أساس أى قاعدة بيانات هى الجداول فمنها تبد؟أ أولى خطواتنا فى بناء قاعدة بيانات وليس من الضرورى أن تحتوى قاعدة البيانات على تقارير أو وحدات ماكرو ووحدات نمطية أو استعلامات ولكنها لابد أن تحتوى على جدول واحد على الأقل ولإتمام الشكل الجمالى نقوم بتنفيذ نموذج واحد لكى نستخدمه فى ادخال البيانات الى قاعدة البيانات ولا نضطر الى التعامل مع الالجداول وذلك للشكل المنسق والجميل للنماذج والذى تظهر فيه موهبة التصميم والابتكار لدينا.
- -23-
- 9-2 خطوات تصميم قاعدة البيانات :
- الخطوة الأولى : تحديد الغرض من قاعدة البيانات تساعد هذه الخطوة على تحديد الحقائق التى تريد أن يخزنها برنامج Microsoft Access .
- الخطوة الثانية : تحديد الجداول اللازمة بعد تحديد الغرض من قاعدة البيانات تقسم البيانات والمعلومات الى موضوعات منفصلة مثل موظفون أو طلاب وتمثل المعلومات الخاصة بكل موضوع جدول منفصل فى قاعدة البيانات .
- الخطوة الثالثة : تحديد الحقول اللازمة حيث تحدد المعلومات التى تود حفظها فى كل جدول وتسمى كل فئة من المعلومات فى الجدول حقلاً ويتم عرضها كعمود فى الجدول فمثلا فى جدول الموظفين يكون هناك حقلا يمثل "الأسم الأخير" وآخر يمثل "تاريخ التعيين" وهكذا .
- الخطوة الرابعة : تحديد العلاقات فعليك بمراجعة كل جدول على حدة ثم تحديد طبيعة العلاقات بين البيانالت فى جدول ما والبيانات فى الجداول الأخرى- يمكنك اضافة حقول للحجداول أو انشاء جداول جديدة لإنشاء العلاقات وتحقيقها بين البيانات فى الجداول المختلفة اذا دعت الضرورة لذلك.
- -24-
- الخطوة الخامسة : تنقيح التصميم فعليك بتحليل التصميم للبحث عن أى ملاحظات أو أخطاء . ثم انشاء جداول فعلية وإضافة مثال من سجلات البيانات ثم تأكد من أنك تستطيع الحصول على النتائج التى تريدها. من هذه الجداول . ثم قم بإجراء التعديلات لضبط التصميم عند الحاجة .
- لا تنزعج اذا وقعت فى بعض الأخطاء أو أغفلت الاشياء من التصميم الأولى إذ أنه يمكنك اعتبار هذا التصميم مسودة أولية يمكن تطويرها فيما بعد . عليك باختيار امثلة بيانات ونماذج الأولية لنماذج وتقارير قاعدة قاعدة البيانالت , فاستخدام Microsoft Offce يجعل من السهولة بمكان القيام بتعديل تصميم قاعدة البيانات فى نفس وقت انشائها غير أن تعديل الجداول يصبح أكثر صعوبة بعد امتلائها بالبيانات وبعد انشاء النماذج والتقارير المختلفة .ولهذا السبب يجب التأكد من سلامة مشاكل التصميم وصحته قبل ادخال البيانات .
- 10-2انشاء قاعدة بيانات جديدة فارغة :
- عند فتح البرنامج لآول مرة لتظهر لنا شاشة "الشروع فى استخدام Access 2007 " يتم اختيار قاعدة بيانات فارغة من منتصف الشاشة ويتم اختيار اسم قاعدة البيانات وكتابته فى الجزء المخصص لذلك اسفل يسار الشاشة ونلاحظ ان مسار التخزين لقاعدة البيانات هو فى حافظة المستندات My Document كما هو موضح من الشكل ويمكن تغييرها حسب رغبتك وبالضغط على زر انشاء يتم عمل ملف باسم المختار وله الامتداد accdb اى أنه يكون على الشكل التالى (filename.accdb) وهذا هو امتداد ملفات الاكسس لقواعد البيانات وهو اختصار لكلمة (Access Data base) نجده في حافظة المستندات My Documents وذلك في حالة انك لم تغير مسار التخزين للملف لتظهر لنا هذه الشاشة التالية وبها جدول افتراضي مسمى جدول 1 ويمكن تغيير مسماه حسب رغبتك وهو أول خطواتنا لإنشاء قاعدة البيانات وهو مخزن تلقائيا في قاعدة بياناتك.
- -25-
- 11-2فتح قاعدة بيانات :
- عند فتح البرنامج مرة أخرى نلاحظ تغيير فى شكل شاشة الشروع فى الاستخدام حيث تظهر لنا فى اليسار قواعد البيانات التى تم التعامل معها ومنها نختار قاعدة البيانات التى نريد التعامل معها لتفتح تلقائياً.
- والآن سوف نبنى شرحنا لبرنامج الاكسس 2007 على قاعدة بيانات كاملة سوف نشرع فى بنائها معاً خطوة بخطوة حتى يتسنى لنا معرفة الطريقة الصحيحة والمثلى لتصميم قواعد البيانات وكما ذكرنا من قبل أن الجدول هو اساس قاعدة البيانات فسوف نبدأ به ولكن دعونا نضع معاً الخطوط الاساسية لقاعدة البيانات وهى:
- -1 عن أي مشروع تكون قاعدة البيانات ؟
- -2المعلومات التي أريدها في قاعدة البيانات؟
- -3هل سنحتاج الي استعلامات؟
- -4هل نريد طبع تقارير لقاعدة البيانات؟
- -5ومن الذي سوف يقوم بإدخال البيانات والمعلومات الجديدة إليها أى مَن المستخدم؟
- -26-
- -27-
- 12-2الجـــــداول:
- ما هو الجدول؟
- يحتوى الجدول على بيانات حول موضوع معين مثل الموظفون أو المنتجات أو الطلاب . يحتوى كل سجل فى الجدول على معلومات حول عنصر واحد، طالب معين مثلا. ويتكون السجل من حقول مثل الاسم والعنوان ورقم الهاتف يشيع تسمية السجل بالصف ويشيع أيضا تسمية الحقل بالعمود.
- -28-
- 1-12-2 طرق انشاء الجداول :
- من خلال التبويب "انشاء" مجموعة "جدول"
- 1. جدول فارغ:
- 1) يتم ذلك بالنقر بالفأرة على " جدول" ليظهرلنا جدول فارغ بطريقة عرض ورقة البيانات فى منطقة الكتابة ويتم التعامل معه كالتالى:
- 2) يتم كتابة عناوين رؤوس الحقول بالنقر بزر الفأرة الأيمن على رأس الحقل (العمود) واختيار "إعادة تسمية عمود" وكتابر أسم للحقل حسب تصميم الجدول.
- 3) عند إغلاق الجدول بالضغط على أيقونة الاغلاق يظهر مربع حوارى يسألك "هل تريد حفظ التغييرات فى تصميم جدول "جدول1" بالضغط على "موافق" يظهر مربع جديد يسأل عن الاسم المقترح للجدول لحفظ الجدول بإسم ويقترح أكسس "جدول رقم 1" اسم للملف، ويمكنك اقتراح اسم آخر وكتابته ونقر "موافق" يظهر الجدول الجديد فى "جزء التنقل".
- 4) يتم النقر على كلمة إضافة حقل جديد وكتابة اسم الحقل المراد ادخاله ضمن الجدول وهكذا حتى تنتهى من ادراج جميع الحقول المطلوبة فى جدول البيانات المطلوب .
- -29-
- 5) ونجد في بداية السجل الجديد العلامة * لترشدنا الى أن السجل هو السجل التالى والذى سوف يتم إدخال البيانات فيه ويتم إدخال البيانات الى السجلات ولكن من الأفضل تحديد نوعية البيانات المطلوبة فى كل جدول يعنى مثلا :
- أ- حقل الراتب فى قاعدة البيانات الخاصة بك لابد أن يوجد به رقم المرتب وتمييز العملة
- ب- حقل الوظيفة لابد أن تكتب فيه نص كتابى وليس رقم فلا توجد وظيفة برقم وكذلك الاسم.
- ت- رقم البطاقة لابد أن يكون بها رقم لإ أن كانت غير ذلك.
- -30-
- 13-2اختيار نوع البيانات لكل حقل
- وهناك عدة خيارات وهى:
- -1 نص: لتوصيف الحقول التى محتوياتها نصوص(حروف أبجدية – أرقام- علامات خاصة)لا تدخل فى العمليات الحسابية بحيث لا يزيد محتوى الحقل عن 255 حرف أبجدى أو رقم أو علامة.
- -2مذكرة: للحقول التى محتوياتها نصوص وعدد الحروف فى الحقل تزيد عن 255 حرف أبجدى أو رقم أو علامة.
- -3رقم: للحقول التى محتواها أرقام يمكن ادخالها فى العمليات الحسابية مثل "الراتب" أو "درجات الطالب"
- -4تاريخ/وقت: لتوصيف الحقول التى محتواها تواريخ أو أوقات ويمكن دخولها فى عمليات طرح.
- -31-
- -5 عملة: لتوصيف حقول المرتبات ويمكن ادخالها فى عمليات حسابية.
- -6ترقيم تلقائى: لتوصيف حقول مسلسل أو أكواد وهى عادة حقول المفتاح الأساسى للجداول.
- -7نعم/لا: لتوصيف حقول عناصر التحكم كما بالشكل:
- -8 كائنOLE: لتوصيف الحقول التى سوف يسجل بها صور أو تخطيط أو مفتاح.
- -9إرتباط تشعبى Hyber Text : لتوصيف الحقول التى سوف يكون محتواها عناصرتحكم لربط الجدول ببرامج وكاثنات أخرى مثل فتح جدول أخر أو نموذج أو تقرير من خلال الضغط على محتوى حقل الارتباط التشعبى.
- -32-
- الفصل الثالث
- كود البرنامج
- Private Sub CheckShowPassword_Click()
- If (CheckShowPassword.Value = 1) Then
- TextPassword.PasswordChar = ""
- Else
- TextPassword.PasswordChar = "*"
- End If
- TextPassword.SetFocus
- End Sub
- Private Sub CommandExit_Click()
- confirmation = MsgBox("هل تريد الخروج من البرنامج؟", vbYesNo + vbQuestion, "الخروج من البرنامج")
- If confirmation = vbYes Then
- End
- Else
- End If
- End Sub
- Private Sub CommandLogin_Click()
- LoginTable.RecordSource = "select * from LoginInfo where Username='" + TextUsername.Text + "' and Password='" + TextPassword.Text + "'"
- -33-
- LoginTable.Refresh
- If LoginTable.Recordset.EOF Then
- MsgBox "تم ادخال المعلومات الخطا . قم بالمحاولة مرة اخرى ",vbCritical, "خطا"
- TextUsername.Text = ""
- TextPassword.Text = ""
- Else
- MsgBox "تم تسجيل الدخول بنجاح", vbInformation, "تسجيل الدخول"
- Me.Hide
- FormPayment.Show
- End If
- End Sub
- Private Sub Form_Unload(Cancel As Integer)
- End
- End Sub
- Private Sub form_load()
- Skin1.ApplySkin Me.hWnd
- End Sub
- -34-
- Private Sub ComboPaymentMedName_Click()
- TextPaymentMedName.Text = ComboPaymentMedName.Text
- FormInventory.InventoryTable.Recordset.MoveFirst
- For i = 1 To FormInventory.InventoryTable.Recordset.RecordCount
- If (TextPaymentMedName.Text = FormInventory.InventoryTable.Recordset.Fields("Medicine Name")) Then
- TextPaymentMedID.Text = FormInventory.InventoryTable.Recordset.Fields("Medicine ID")
- LabelPaymentAvailableAmountValue.Caption = Val(FormInventory.InventoryTable.Recordset.Fields("Available Amount"))
- LabelPricePerUnitValue.Caption = Val(FormInventory.InventoryTable.Recordset.Fields("Price per Unit"))
- Exit For
- End If
- FormInventory.InventoryTable.Recordset.MoveNext
- Next i
- End Sub
- -35-
- Private Sub CommandPaymentAdd_Click()
- PaymentTable.Recordset.AddNew
- End Sub
- Private Sub CommandPaymentCalculate_Click()
- If (TextPaymentMedID.Text <> "") Then
- FormInventory.InventoryTable.Recordset.MoveFirst
- While (Not FormInventory.InventoryTable.Recordset.EOF)
- If (TextPaymentMedID.Text = FormInventory.InventoryTable.Recordset.Fields("Medicine ID")) Then
- If (Val(FormInventory.InventoryTable.Recordset.Fields("Availab e Amount")) >= Val(PaymentTable.Recordset.Fields("Amount"))) Then
- FormInventory.InventoryTable.Recordset.Fields("Available Amount") = Val(FormInventory.InventoryTable.Recordset.Fields("Available Amount")) - Val(PaymentTable.Recordset.Fields("Amount"))
- MsgBox "تم البيع بنجاح", vbInformation, "تم البيع"
- MsgBox TextPaymentPrice.Text, vbInformation, "اجمالي السعر"
- Else
- MsgBox "هذا الدواء غير متوفر بالكمية المطلوبة", vbCritical, "خطا"
- -36-
- End If
- Exit Sub
- End If
- FormInventory.InventoryTable.Recordset.MoveNext
- Wend
- MsgBox "لا يوجد هذا الدواء في الصيدلية", vbCritical, "خظا"
- End If
- End Sub
- Private Sub CommandPaymentClear_Click()
- TextPaymentID.Text = ""
- TextPaymentMedName.Text = ""
- TextPaymentAmount.Text = ""
- TextPaymentPrice.Text = ""
- TextPaymentDateOfSale.Text = ""
- TextPaymentSeller.Text = ""
- TextPaymentMedID.Text = ""
- End Sub
- -37-
- Private Sub CommandPaymentDelete_Click()
- On Error Resume Next
- confirmation = MsgBox("هل تريد حذف المعلومات الحالية", vbYesNo + vbCritical, "حذف المعلومات")
- If confirmation = vbYes Then
- PaymentTable.Recordset.Delete
- MsgBox "تم الحذف بنجاح", vbInformation, "تم الحذف"
- Else
- MsgBox "تم الغاء عملية الحذف", vbInformation, "تم الالغاء"
- End If
- End Sub
- Private Sub CommandPaymentLast_Click()
- PaymentTable.Recordset.MoveLast
- End Sub
- Private Sub CommandPaymentNext_Click()
- If Not PaymentTable.Recordset.EOF Then
- PaymentTable.Recordset.MoveNext
- Else
- PaymentTable.Recordset.MoveLast
- End If
- End Sub
- -38-
- Private Sub CommandPaymentPrevious_Click()
- If Not PaymentTable.Recordset.BOF Then
- PaymentTable.Recordset.MovePrevious
- Else
- PaymentTable.Recordset.MoveFirst
- End If
- End Sub
- Private Sub CommandPaymentUpdate_Click()
- PaymentTable.Recordset.Fields("Number") = TextPaymentID.Text
- PaymentTable.Recordset.Fields("Medicine Name") = TextPaymentMedName.Text
- PaymentTable.Recordset.Fields("Amount") = TextPaymentAmount.Text
- PaymentTable.Recordset.Fields("Price") = TextPaymentPrice.Text
- PaymentTable.Recordset.Fields("Date of sale") = TextPaymentDateOfSale.Text
- PaymentTable.Recordset.Fields("Seller") = TextPaymentSeller.Text
- PaymentTable.Recordset.Fields("Medicine ID") = TextPaymentMedID.Text
- PaymentTable.Recordset.Update
- -39-
- MsgBox "تم تحديث المعلومات بنجاح", vbInformation, "ملاحظة"
- End Sub
- Private Sub form_load()
- Do Until FormInventory.InventoryTable.Recordset.EOF
- ComboPaymentMedName.AddItem (FormInventory.InventoryTable.Recordset.Fields("Medicine Name"))
- FormInventory.InventoryTable.Recordset.MoveNext
- Loop
- Skin1.ApplySkin Me.hWnd
- End Sub
- Private Sub Form_Unload(Cancel As Integer)
- End
- End Sub
- Private Sub Payment2Exit_Click()
- confirmation = MsgBox("هل تريد الخروج من البرنامج", vbYesNo + vbInformation, "الخروج من البرنامج")
- If confirmation = vbYes Then
- End
- Else
- End If
- End Sub
- -40-
- Private Sub Payment2Inventory_Click()
- Me.Hide
- FormInventory.Show
- End Sub
- Private Sub Payment2Login_Click()
- Me.Hide
- FormLogin.Show
- End Sub
- Private Sub TextPaymentDateOfSale_click()
- TextPaymentDateOfSale.Text = Now
- End Sub
- Private Sub TextPaymentMedID_Click()
- FormInventory.InventoryTable.Recordset.MoveFirst
- For i = 1 To FormInventory.InventoryTable.Recordset.RecordCount
- If (TextPaymentMedName.Text = FormInventory.InventoryTable.Recordset.Fields("Medicine Name")) Then
- TextPaymentMedID.Text = FormInventory.InventoryTable.Recordset.Fields("Medicine ID")
- -41-
- Exit For
- End If
- FormInventory.InventoryTable.Recordset.MoveNext
- Next i
- End Sub
- Private Sub TextPaymentMedName_Click()
- FormInventory.InventoryTable.Recordset.MoveFirst
- For i = 1 To FormInventory.InventoryTable.Recordset.RecordCount
- If (TextPaymentMedID.Text = FormInventory.InventoryTable.Recordset.Fields("Medicine ID")) Then
- TextPaymentMedName.Text = FormInventory.InventoryTable.Recordset.Fields("Medicine Name")
- Exit For
- End If
- FormInventory.InventoryTable.Recordset.MoveNext
- Next i
- End Sub
- -42-
- Private Sub TextPaymentMedName_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
- FormInventory.InventoryTable.Recordset.MoveFirst
- For i = 1 To FormInventory.InventoryTable.Recordset.RecordCount
- If (TextPaymentMedID.Text = FormInventory.InventoryTable.Recordset.Fields("Medicine ID")) Then
- TextPaymentMedName.Text = FormInventory.InventoryTable.Recordset.Fields("Medicine Name")
- Exit For
- End If
- FormInventory.InventoryTable.Recordset.MoveNext
- Next i
- End Sub
- Private Sub TextPaymentPrice_Click()
- FormInventory.InventoryTable.Recordset.MoveFirst
- For i = 1 To FormInventory.InventoryTable.Recordset.RecordCount
- If (TextPaymentMedID.Text = FormInventory.InventoryTable.Recordset.Fields("Medicine ID")) Then
- -43-
- TextPaymentPrice.Text = Val(FormInventory.InventoryTable.Recordset.Fields("Price per Unit")) * Val(TextPaymentAmount.Text)
- Exit For
- End If
- FormInventory.InventoryTable.Recordset.MoveNext
- Next i
- End Sub
- Private Sub TextPaymentSeller_click()
- TextPaymentSeller.Text = FormLogin.TextUsername.Text
- End Sub
- Private Sub Combo1_click()
- End Sub
- Private Sub CommandInventoryAdd_Click()
- InventoryTable.Recordset.AddNew
- End Sub
- Private Sub CommandInventoryClear_Click()
- TextInventoryID.Text = "'"
- TextInventoryMedName.Text = ""
- TextInventoryAvailAmount.Text = ""
- TextInventorySinglePrice.Text = ""
- -44-
- TextInventoryMedID.Text = ""
- End Sub
- Private Sub CommandInventoryDelete_Click()
- confirmation = MsgBox("هل تريد حذف المعلومات الحالية؟", vbYesNo + vbCritical, "حذف المعلومات")
- If confirmation = vbYes Then
- InventoryTable.Recordset.Delete
- MsgBox "تم الحذف بنجاح ", vbInformation, "تم الحذف"
- Else
- MsgBox "تم الغاء عملية الحذف", vbInformation, "تم الالغاء"
- End If
- End Sub
- Private Sub CommandInventoryFirst_Click()
- InventoryTable.Recordset.MoveFirst
- End Sub
- Private Sub CommandInventoryLast_Click()
- InventoryTable.Recordset.MoveLast
- End Sub
- -45-
- Private Sub CommandInventoryNext_Click()
- If Not InventoryTable.Recordset.EOF Then
- InventoryTable.Recordset.MoveNext
- Else
- InventoryTable.Recordset.MoveLast
- End If
- End Sub
- Private Sub CommandInventoryPrevious_Click()
- If Not InventoryTable.Recordset.BOF Then
- InventoryTable.Recordset.MovePrevious
- Else
- InventoryTable.Recordset.MoveFirst
- End If
- End Sub
- Private Sub CommandInventoryUpdate_Click()
- InventoryTable.Recordset.Fields("ID") = TextInventoryID.Text
- InventoryTable.Recordset.Fields("Medicine Name") = TextInventoryMedName.Text
- InventoryTable.Recordset.Fields("Available Amount") = TextInventoryAvailAmount.Text
- -46-
- InventoryTable.Recordset.Fields("Price per Unit") = TextInventorySinglePrice.Text
- InventoryTable.Recordset.Fields("Medicine ID") = TextInventoryMedID.Text
- InventoryTable.Recordset.Update
- MsgBox "تم تحديث المعلومات بنجاح", vbInformation, "ملاحظة"
- End Sub
- Private Sub Form_Unload(Cancel As Integer)
- End
- End Sub
- Private Sub form_load()
- Skin1.ApplySkin Me.hWnd
- End Sub
- Private Sub FormInventory2Exit_Click()
- confirmation = MsgBox("هل تريد الخروج من البرنامج؟", vbYesNo + vbInformation, "الخروج من البرنامج")
- If confirmation = vbYes Then
- End
- Else
- End If
- End Sub
- Private Sub FormInventory2Login_Click()
- -47-
- Me.Hide
- FormLogin.Show
- End Sub
- Private Sub FromInventory2Sale_Click()
- Me.Hide
- FormPayment.Show
- End Sub
- Private Sub InventorySearchByMedID_Click()
- MedID = InputBox("قم بادخال معرف الدواء الذي تريد البحث عنة", "البحث عن طريق معرف الدواء")
- InventoryTable.Recordset.MoveFirst
- For i = 1 To InventoryTable.Recordset.RecordCount
- If MedID = InventoryTable.Recordset.Fields("Medicine ID") Then
- Exit Sub
- End If
- InventoryTable.Recordset.MoveNext
- Next i
- InventoryTable.Recordset.MoveFirst
- End Sub
- -48-
- Private Sub InventorySearchByMedName_Click()
- MedName = InputBox("قم بإدخال اسم الدواء الذي تريد البحث عنة", "البحث عن طريق اسم الدواء")
- InventoryTable.Recordset.MoveFirst
- For i = 1 To InventoryTable.Recordset.RecordCount
- If MedName = InventoryTable.Recordset.Fields("Medicine Name") Then
- Exit Sub
- End If
- InventoryTable.Recordset.MoveNext
- Next i
- InventoryTable.Recordset.MoveFirst
- End Sub
- Private Sub LabelPayment_Click()
- End Sub
- Private Sub SkinLabel1_DragDrop(Source As Control, x As Single, y As Single)
- End Sub
- -49-
- الفصل الرابع
- تصميم البرنامج 1-4
- واجهة الدخول 1-1-4
- واجه الدخول وتحتوي على اسم المستخدم وكلمة المرور. عند ادخال المعلومات الصحيحة والضغط على زر الدخول يقوم البرنامج بفتح الواجهه الرئيسية وهية واجهه البيع. وعند الضغط على زر الخروج سوف يغلق البرنامج. عند ادخال المعلومات الخطأ سوف تظهر رساله تحذيرية تخبرك بأدخال المعلومات الصحيحة. زر اظهار كلمة المرور يقوم بأظهار كلمة المرور او اخفائها من حقل كلمة المرور .
- عند إدخال معلومات خاطئة تظهر رسالة وهي " تم إدخال المعلومات الخطأ . قم بالمحاولة مرة أخرى " .
- -50-
- عند إدخال المعلومات الصحيحة تظهر رسالة وهي " تم تسجيل الدخول بنجاح " .
- واجهة البيع 2-1-4
- بعد عملية تسجيل الدخول تظهر واجهة البيع
- واجهة البيع وتحتوي على كل معلومات البيع من تسلسل الوصل ومعرف الدواء المباع واسم الدواء المباع وتاريخ البيع واسم البائع والكمية المطلوبة من الدواء المختار وإجمالي السعر .
- -51-
- في اسفل الشاشة يقوم البرنامج بأظهار جدول لجميع عمليات البيع التي تمت مع تفاصيلها .
- على يسار الشاشة هنالك عده أزرار ولكل زر وظيفة معينه :
- 1. إضافة جديد: ويقوم بفتح وصل جديد
- 2. تحديث البيانات : ويقوم بتحديث تفاصيل الوصل المختار حاليا بعد كتابه التفاصيل الجديدة
- 3. -حذف الحالي : ويقوم بحذف الوصل المختار حاليا
- 4. تفريغ الحقول : ويقوم لتفريغ حقول تفاصيل الوصل الحالي لأعادة كتابة التفاصيل أو تغييرها
- 5. بداية القائمة : ويقوم بالانتقال إلى أول وصل في البرنامج
- 6. التالي: ويقوم بالانتقال الى الوصل التالي في البرنامج
- 7. السابق: ويقوم بالانتقال الى الوصل السابق في البرنامج
- 8. نهاية القائمة: ويقوم بالانتقال الى اخر وصل في البرنامج
- 9. الحساب: ويقوم بحساب إجمالي السعر وكمية الدواء المتبقية
- -52-
- على يمين الشاشة يتم اختيار اسم الدواء الذي يراد بيعه وسوف يظهر سعر العينه المفرده والكمية المتوفره عند اختيار اسم الدواء
- في اعلى يسار الشاشه عند الضغط على زر التنقل يمكننا الانتقال الى النافذه الثالثه من البرنامج وهي نافذة مخزن الادوية او الرجوع الى اول نافذه في البرنامج وهيه نافذة الدخول او الخروج من البرنامج تماما
- -53-
- واجهة المخزن 3-1-4
- عند التنقل الى واجهة المخزن في واجهة البيع تظهر الواجهة التالية وهي واجهة المخزن
- وتحتوي على معلومات الدواء في المخزن من تسلسل ومعرف واسم وكمية وسعر.
- في اسفل الشاشة يقوم البرنامج بأظهار جميع الادوية الموجودة في المخزن مع تفاصيلها
- -54-
- على يسار الشاشه هنالك عده ازرار ولكل زر وظيفة معينه :
- 1. اضافة جديد: ويقوم بأضافة دواء جديد الى المخزن .
- 2. تحديث البيانات: ويقوم بتحديث تفاصيل الدواء المختار حاليا بعد كتابه التفاصيل الجديدة .
- 3. -حذف الحالي: ويقوم بحذف الدواء المختار حاليا .
- 4. تفريغ الحقول: ويقوم بتفريغ حقول تفاصيل الدواء الحالي لأعادة كتابة التفاصيل او تغييرها .
- 5. بداية القائمة: ويقوم بألانتقال الى اول دواء في المخزن .
- 6. التالي: ويقوم بالانتقال الى الدواء التالي في المخزن .
- 7. السابق: ويقوم بالانتقال الى الدواء السابق في المخزن .
- 8. نهاية القائمة: ويقوم بالانتقال الى اخر دواء في المخزن .
- -55-
- في اعلى يسار الشاشه عند الضغط على زر التنقل يمكننا الرجوع الى النافذه السابقة من البرنامج وهي نافذة البيع او الرجوع الى اول نافذه في البرنامج وهيه نافذة الدخول او الخروج من البرنامج تماما
- وهنالك ايضا زر البحث الذين يتيح لنا بحث المخزن عن دواء معين بأستخدام اسم الدواء او معرف الدواء
- -56-
- الفصل الخامس
- المناقشة
- الملخص : 1-5
- مشروع صيدلية هو واحد من مشاريع صغيرة مشهورة وغنية عن التعريف ويرجع ذلك لان السلع المباعة فيها سلع ضرورية وليست مجرد سلع تكملية مثل الاكسسوارات والالعاب وغيرها, فالبطبع اى مريض يحتاج الى العلاج والعلاج يتم شراؤة من الصدلية. وتقدم الصيدلية خدمات اخرى مثل قياس ضغط الدم وقياس السكر …. الخ. وبناء على هذة المعطيات فإن مشروع الصيدلية واحد من مجموعة مشاريع صغيرة ناجحة وتحقق ارباح عالية.
- متطلبات انشاء مشروع صيدلية من مشاريع صغيرة: توجد عدة احتياجات ومتطلبات يجب توافرها لاقامة المشروع ومنها: – مقر الصيدلية: يعتبر مشروع الصيدلية من المشاريع التى يمكن اقامتها فى اى مكان بة سكان سواء فى قرية او مدينة ويفضل اقامتها بجوار عيادة دكتور او بجوار مستشفى او فى منطقة لا يوجد بها عدد كبير من الصيدليات.شركات الادوية : يجب عمل اتفاقيات مع شركات الادوية ومستحضرات التجميل لتزويد الصيدلية بالادوية والمستحضرات اللازمة وشراء الاجهزة المستخدمة فى قياس الدم والسكر واجهزة الوزن وجميع الاجهزة التى قد يحتاج اليها المشروع. دكتور صيدلى: يشرف على نوعيات العلاج ويتاكد من العلاج الصحيح ومتابعة المساعد الخاص بة فى الصيدلية. مساعد صيدلى: هو عامل فى الصيدلية ولة خبرة فى هذا المجال وعلى معرفة بقرأة الروشتات والاسعار الخاصة بالادوية والمستحضرات الموجودة الصيدلية.
- فالصيدلية لكي تكون مشروع مربح بحق يجب أن يتوافر لها عدة عوامل مثل: الموقع المناسب و الذي يفضل أن يكون قريب من عيادات الأطباء أو المستشفيات. عدم وجود عدد زائد عن الحد من الصيدليات القريبة. متابعة السوق و معرفة مطالب العملاء و العمل علي توفيرها أولاً بأول. سرعة توفير الأدوية و المستلزمات بكافة أنواعها. وجود صيادلة أكفاء لمساعدة المرضي في استعمال الأدوية و الإجابة علي أسئلتهم. التحلي بالصبر لأن الصيدليات تأخذ وقت حتي تكتسب ثقة الناس و يقبلون علي التعامل معها. و مما يدعو للأسف الشديد, أن الكثيرين من غير زملاء المهنة, أعتقدوا أن الصيدلية مشروع تجاري مربح و بالتالي قام بعض منهم بالإتفاق مع صيادلة لفتح صيدليات بأسمائهم و يقوم صاحب المال بالإدارة و أدي هذا إلي أن تحولت هذه الصيدليات إلي أماكن هادفة للربح السريع فقط بدون مراعاة المرضي و نتج عنها الكثير من الممارسات الخاطئة التي أضرت بالصيادلة أنفسهم و قللت من أحترامهم لدي الناس!
- -57-
- المعوقات التي واجهتنا في المشروع 2-5
- (1 صعوبة الحصول على قاعدة بيانات تحتوي على قائمة الأدوية التي تتوفر في الصيدليات .
- (2صعوبة تقليل كمية دواء معين من المخزن عند بيعه وتمت معالجة هذه المشكلة بأستدعاء اداه ado . من نافذة المخزن وربطها بنافذة البيع وكتابة كود خاص حتى يتم تقليل كمية الدواء المتوفر في المخزن عند بيعة
- (3لكي يعمل ال skinالذي هو الواجهة الجميلة للبرنامج فيجيب إضافة مكتبة ال skin المدمجة معه إما في حالة عدم توفر المكتبة فسوف يظهر البرنامج بالواجهة الاعتيادية للغة فيجول بيسك .
- (4عدم القدرة على تشغيل البرنامج على أنظمة غير نظام الويندوز مثل لينكس وماك واندرويد لأن لغة الفيجوال بيسك مصممة من قبل شركة مايكروسوف للعمل على نظام الويندوز حصرا .
- -58-
- المصادر 3-5
- A. https://ar.wikipedia.org/wiki/%D8%B5%D9%8A%D8%AF%D9%84%D9%8A%D8%A9
- B. http://download-internet-pdf-ebooks.com/4466-free-book
- C. http://qu.edu.iq/cm/wp-content/uploads/2015/04/%D9%86%D8%B8%D8%A7%D9%85-%D8%A5%D8%AF%D8%A7%D8%B1%D8%A9-%D8%A3%D9%84%D8%B5%D9%8A%D8%AF%D9%84%D9%8A%D8%A9.pdf
- D. كتاب أكسس 2007 تأليف ثامر مالو يحيى
- -59-
- تم بحمد الله
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement