MIS & ACCESS

طراحي سيستم هاي اطلاعاتي مديريت

مقدمه

تا چند دهه اخير مديران نياز چنداني به دانستن چگونگي گردآوري ، فرآورش و پخش اطلاعات در سازمان خود نداشتند و دانش فني اين فرآيند نيز بسيار ساده بود . ارزش اطلاعات به عنوان بخشي از سرمايه شركت ناشناخته بود و در بيشتر سازمانها به آن به چشم يك پديده جانبي و هزينه دار مي نگريستند . اما دگرگوني هايي كه پس از دهه 90 ايجاد شد محيط كسب و كار و نگرش مديران را نسبت به اين مسئله تغيير داده است . اين دگرگوني ها شامل جهاني شدن اقتصاد و تبديل اقتصاد و جوامع اقتصادي و صنعتي به جوامعي بر پايه دانش و اطلاعات مي باشد .

1.  جهاني شدن اقتصاد شامل :- مديريت و پايش (كنترل ) در بازار گسترده جهاني

 - رقابت در بازار هاي جهاني

- گروههاي جهاني كار

- نظام هاي جهاني تحويل كالا

2. تغيير در اقتصاد صنعتي شامل : - اقتصاد بر پايه دانش و اطلاعات

  - بهره وري

 - كالاها و خدمات نوين و تنوع در آنها

- رهبري

- رقابت پر شتاب

- كوتاه شدن چرخه زندگي فرآورده

- محيط پر تلاطم

- كاركنان فرهيخته و در شمار كمتر

با ايجاد اين تغييرات ، سازمانها در يافتند كه هر چه به اطلاعات بيشتر و دقيقتري دسترسي داشته باشد ، مديريت بهتر مي تواند استراتژي ها را بهبود بخشيده ، تصميمات منطقي تري گرفته و كاراكتر عمل كند.

( صفحه 8 از سطر 6 الي سطر 21 و صفحه 11 از سطر 5 تا سطر 15 صفحه 12 از فايل IBBCMIS )

منظور از سيستم اطلاعاتي چيست ؟

يك سيستم مجموعه منظمي از اجزاء به هم وابسته است كه براي رسيدن به اهداف مشترك با هم در  تعاملند . هر سيستم اطلاعاتي داراي سه جز اصلي ورودي ها پردازش و خروجي است .

ورودي : شامل داده هاي خام اوليه است كه در كامپيوتر توسط ابزار خاصي ، مانند صفحه كليد ، قلم نوري ، كد خوانها ، اسكنرها  و. . .  وارد سيستم مي شود .

پردازش : فرآيند تبديل وروديها است كه شامل ارتباطات ، تعاريف و روشهاي دستيابي به اهداف هستند كه اين عمل در واحد پردازش مركزي (CPU) در كامپيوتر ها انجام مي شود .

 

خروجي : شامل گزارشات ، شاخصها ، نمودارها و ... كه حاصل پردازش داده ها ي خام اوليه هستند .

 خروجي ( گزارشات مديريتي )      پردازش      ورودي هاي (داده هاي خام اوليه )

در طراحي سيستم هاي اطلاعاتي هميشه از خروجي ها شروع مي كنيم يعني ابتدا بايد تعيين كنيم چه گزارشاتي ميخواهيم داشته باشيم . پس از آن به طراحي ورودي ها به نحوي مي پردازيم كه با استفاده از آنها بتوانيم به خروجي ها برسيم . يعني با طراحي فرم هاي خاصي كه امروزه در اغلب شركت ها و سازمانها استفاده از آنها رايج است ، ورودي ها را طراحي يا اصلاح مي كنيم . گاهي اوقات اين فرم ها بدون در نظر گرفتن انتظارات سيستم و مديريت طراحي و جاري مي شوند . لذا براي تدوين اين فرم ها

بايد انتظارات ما از سيستم استاندارد و نهادينه شوند . جهت تجزيه تحليل و بررسي سيستم هاي اطلاعاتي و تعيين گزارشات خروجي مورد نياز از ابزار خاصي استفاده مي شود كه اين ابزار در ادامه مي آيد .

سازمان و سيستم هاي اطلاعاتي

سيستم هاي اطلاعاتي بر اساس وظايف مختلف سازماني(TPS) : سيستم هاي اطلاعاتي را مي توان بر حسب وظايف مختلف سازماني كه از آن استفاده مي كند تعريف كرد. اغلب سازمانها داراي وظايفي از قبيل امور مالي ، نيروي انساني ، بازار يابي و فروش ، توليد ، تداركات ، و . . .مي باشند ، كه مي توان سيستم هاي اطلاعاتي حول محور اين وظايف مي چرخند به اين سيستم ها سيستم هاي اطلاعاتي عملياتي نيز گفته مي شود .

سيستم هاي عملياتي بر اساس عمليات و ساختار مديريتي: به اين سيستم ها اصطلاحاً سيستم هاي اطلاعاتي مديريت مي گويند.

كه داراي سطوح مختلفي هستند و از سطوح پايين جمع آوري اطلاعات شروع شده به سطوح عالي تصميم هاي استراتژيك ختم مي شوند . اهم اين سيستم ها عبارتند از :

1-سيستمهاي اطلاعاتي مديريت يا سيستم هاي گزارشات مديريت(MIS) : اين سيستم گزارشاتي به صورت كلاسيك ، و ادواري يا بر چسب تقاضا به مديريت ارائه مي كند . ممكن اين سيستم داراي گزارشات تحليلي خاصي مانند نمودار ها ، جداول و . . . نيز باشد .

2- سيستم هاي اطلاعاتي پشتيبان تصميم گيري(DSS) : اين سيستم ها مكمل سيستم هاي اطلاعاتي مديريت هستند و از مدلهاي تصميم گيري در تهيه گزارشات استفاده ميكنند . اين گزارشات به مديريت جهت احذ تصميم در شرايط مختلف كمك ميكنند .

3- سيستم هاي اطلاعاتي مديريت سطوح بالا (EIS) : اين سيستم ها به مديران سطوح بالا گزارشات تلخيص يافته با در نظر گرفتن اهداف سازماني ارائه مي دهند كه تركيبي از سيستم هاي اطلاعاتي مديريت و سيستم هاي اطلاعاتي پشتيبان تصميم گيري هستند .

ابزار شناخت و مستند سازي سيستم هاي اطلاعاتي

جمع آوري اطلاعات نخستين نام براي شناخت سيستم هاي اطلاعاتي است . روشهاي متداول جمع آوري اطلاعات عبارتست :

- مطالعه اسناد و مدارك موجود سيستم                   - پرسشنامه                               - نمونه برداري و نظاير آن

-مصاحبه                         - مشاهده

بانك هاي اطلاعاتي

يك بانك اطلاعاتي مجموعه اي از داده هاي ذخيره شده در بيش از يك فايل است . در هر بانك اطلاعاتي دو ساختار مورد بحث است . يكي ساختار فيزيكي است كه در آن كامپيوتر ها داده ها را ذخيره و بازيابي مي كند و ديگري ساختار منطقي داده هاست كه توسط ايجاد كنندگان و كاربران بانكهاي اطلاعاتي به صورت يك سيستم كاربردي ايجاد مي شود . اين سيستم هاي كاربردي همان سيستم هاي اطلاعاتي مديريت هستند .

خصوصيات يك بانك اطلاعاتي

-         نگهداري يك مجموعه اي از داده هاي مشترك

-         ايجاد رابطه بين اقلام داده

-         به حداقل رسانده داده هاي اضافي و تكراري

-         استقلال ميان برنامه ها و داده ها

-         ايجاد قابليت توليد گزارش

-         ايجاد زبان سؤال (Query) براي خواسته هاي پيش بيني نشده

-         ارائه يك روند مشترك و كنترل شده براي ذخيره و بازيابي داده ها

-         ايجاد تسهيلات براي توسعه كاربرد ها

انواع ساختار بانك اطلاعاتي

ساختار درختي يا سلسله مراتبي (Hierarchical) : يك درخت از سلسله مراتبي از عناصر به نام گره تشكيل شده است . يك گره معادل يك ركود است . در بالا تر ين سطح ساختار درختي فقط يك گره وجود دارد و به عنوان والد محسوب مي شود . و در سطوح بعدي فرزندان قرار دارند كه هر كدام به نوبه خود ميتوانند والد باشند . به اين گونه ارتباطات ، ارتباطات يك به چند گفته مي شود .

مثال : در سيستم درخت محصول يك شركت خودرو سازي ، خودرو يا محصول نهايي به عنوان والد و مجموعه و قطعه هاي آن به عنوان فرزندان آن هستند .

ساختار شبكه اي (Network) : در اين ساختار موقعيت هايي وجود دارد كه يك فرزند ميتواند چند والد داشته باشد . اين گونه ارتباط را چند به چند مي گويند . ( ساختار درختي حالت خاصي از ساختار شبكه اي است .)

مثال : در دانشگاه يك سري درس وجود دار دكه هر دانشجو مي تواند در چند درس ثبت نام كند و هر درس توسط چند دانشجو ثبت نام شود .

ساختار رابطه اي (Relational ) : اين ساختار فراتر از ساختار هاي قبلي است . در اين ساختار ممكن است ارتباط گوناگوني وجود داشته باشد كه ساختار شبكه اي را مي توان حالت خاصي از اين ساختار ناميد . امروزه بيشترين توجه برنامه نويسان معطوف به اين گونه ساختار است . به عبارتي ديگر در اين ساختار محدوديتي از نظر ايجاد ارتباط بين سطوح مختلف اطلاعاتي وجود ندارد .

مثال : در سيستم درخت محصول ممكن است يك قطعه يا مجموعه در قسمت هاي مختلف داراي ضرايب مصرف مختلفي باشد . در اين صورت ساختار درختي تبديل به يك ساختار رابطه اي مي شود .

طراحي بانكهاي اطلاعاتي

براي طراحي بانكهاي اطلاعاتي تعيين خروجيها ورودي هاي سيستم از آخرين فاز تجزيه تحليل سيستم اطلاعاتي يعني تعيين موجوديت ها و شناخت ارتباط بين آنها استفاده مي كنيم . و به طراحي فايل ها و فيلدهاي اطلاعاتي مي  پردازيم .

تعاريف

فايل اطلاعاتي : يك فايل اطلاعاتي ممكن است مختص يك يا چند موجوديت باشد . يا گاهي اوقات براي يك موجوديت چند فايل مورد نياز مي باشد . مثلاً براي موجوديت نيروي انسان يك فايل مشخصات ثابت پرسنلي و يك فايل سوابق كاري (متغير) و . . .  در نظر مي گيريم . يك فايل اطلاعاتي در access يك table   ( جدول )است .

فيلد اطلاعاتي : يك فيلد يكي از مشخصه هاي يك موجوديت است . حال اين مشخصه ممكن است ثابت يا جاري باشد . مثلاً براي پرسنل مشخصه هايي مثل نام ، نام خانوادگي و . . .ثابت است ولي ساعات حضور فرد در شركت ثابت نيستند .

ركود اطلاعاتي : هر ركود يك سطر در فايل اطلاعاتي است كه حاوي اطلاعات ثابت يا جاري يك موجوديت است .

فيلد كليدي : يكي (تعدادي ) از فيلد هاي فايل اطلاعاتي كه داده خالي (Nam) بر آن غير قابل قبول است و نيز نبايد مقدار آن غير قابل قبول است و نيز نبايد مقدار آن تكراري باشد . اين فيلد ها را در فايل هاي ثابت كليد اصلي يا اوليه (Primar key ) و در فايلهاي متغير كليد فرعي يا ثانويه (secondary key ) مي نامند .

نرمال سازي

يك بانك اطلاعاتي در صورتي مي تواند تمام خصوصيات ارائه شده در صفحات قبل را دارا باشد ، كه نرمال شده باشد . يعني عمليات نرمال سازي روي آن انجام شده باشد.

قبل از نرمال سازي ابتدا بايد اشكالات مربوط به فيلدهاي موجود در هر فايل بانك اطلاعاتي را پاك سازي كنيد .

1. هم معني ها ( synonyms ) : دو فيلد هم معني بايد داراي نام هاي يكسان باشند .

مثال : دو فايل كالا و تامين كننده داريم كه فيلد هاي آنها به صورت زير تعريف شده اند .

فايل تامين كننده : شماره تامين كننده ، نام تامين كننده

فايل كالا : نام كالا ، كد تامين كننده (غلط)

فايل كالا :كد كالا ، نام كالا ، شماره تامين كننده (صحيح)

2. مشابه (homonyms ) : مشابه متضاد هم معني است . به عبارت ديگر دو فيلد ممكن است داراي نام يكسان باشند ولي داراي معاني مختلف باشند . در اينصورت بايد تشابه اسمي آنها را برطرف كرد .

مثال : مشتري و تامين كننده براي يك شركت ممكن است هر كدام يك شخصيت حقوقي مانند شركت باشند . و فيلد نام در فايل آنها  به صورت زير تعريف مي شود .

فايل مشتري : نام شركت ( غلط )                            فايل مشتري , نام مشتري ( صحيح)

فايل تامين كننده : نام شركت ( غلط )                     فايل تامين كننده : نام تامين كننده ( صحيح)   

3. اطلاعات اضافي (redunelant information ) : در يك فايل ممكن است يك فيلد قابل محاسبه از فيلد يا فيلد هاي ديگر آن فايل باشد . در اين صورت يكي از آنها اضافي است و بايد حذف شود .

مثال : فايل پرسنل : سن ، سال تولد ( سن قابل محاسبه از سال تولد است پس بايد حذف گردد .)

4. اطلاعات دو جانبه منحصر به فرد (mutuamy exclsiue data ) : معمولاً فيلدهايي كه به صورت صفر و يك تعريف مي شوند بايد منحصر به فرد باشند . مثل متاهل يا مجرد ، مرد يا زن و . . .

بعد از پاكسازي بانك اطلاعاتي كه اصولاً به صورت فوق است نوبت به نرمال سازي مي رسد .در نرمال سازي بيشتر ارتباطات و وابستگي بين فيلد ها و فايل هاي اطلاعاتي مورد توجه قرار مي گيرد . گاهي اوقات ممكن است يك فايل اطلاعاتي اضافه يا كم باشد كه با تعريف فايل و فيلدهاي مربوطه عمليات نرمال سازي انجام مي شود .

سه مرحله استاندارد براي نرمال سازي وجود دارد . اين مراحل بايد به صورت گام به گام انجام شوند در غير اين صورت ممكن است اشكالاتي در طراحي بانك اطلاعاتي به وجود آيد .

شكل اول نرمال : در اين حالت بايد نكات زير را مورد توجه قرار دهيد :

1-     هر موجوديت بايد داراي يك كليد منحصر به فرد باشد به طوري كه وجود يك ركود مستقل را نشان دهد .

 

2- هر مشخصه از يك موجوديت فقط بايد داراي يك مقدار باشد .

3.دو موجوديت مختلف نبايد داراي يك فيلد كليد قبلي باشند .

براي نرمال سازي در اين مرحله گام هاي زير را انجام دهيد :

گام 1. يك فيلد كليد اصلي براي ايجاد يگانگي در نظر بگيريد .

گام 2. فيلد هاي تكراري پس از اطمينان از وجود آنها بايد حذف شوند .

گام 3. ارتباطات از – به براي فيلدهاي موجود در فايل ها را مشخص كنيد .

گام 4. ارتباطات چند به چند را به ارتباطات يك به چند تبديل كنيد .

گام 5 . ارتباطات يك به يك را با يكي نمودن دو فايل حذف كنيد .

مثال : در سفارشات كالا دو فايل زير را داريم .

فايل كالا : كد كالا ، نام كالا ، مشخصات فني ،‌شماره سفارش ، نام مشتري ، تعداد سفارش

فايل سفارش : شماره سفارش ، تاريخ سفارش ، نام مشتري ، كد كالا

در فايل هاي فوق ممكن است اطلاعات تكراري باشد براي جلوگيري از تكرار فايل هاي فوق را اصلاح و آنها را به فايلهاي زير تبديل مي كنيم :

فايل كالا : كد كالا ،‌نام كالا ،‌مشخصات فني

فايل سفارش : شماره سفارش ، تاريخ سفارش ، نام مشتري

فايل سفارش كالا :، شماره سفارش ‌كد كالا ،  تعداد سفارش

توجه : در فايل سفارش يا كالا ، فيلدهاي شماره سفارش و كد كالا كليد هاي فرعي يا ثانويه هستند . ولي در فايل كالا ، كد كالا و در فايل سفارش ، شماره سفارش اصلي يا كليد هاي اصلي يا اوليه هستند .

شكل دوم نرمال(second normal form) : در اين حالت توجه كنيد كه تمام فيلدهاي پر كليدي بايد وابسته به فيلد (فيلدهاي) كليدي باشند .

مثال : فايل سفارش – كالا كه در آن كليد هاي شماره سفارش و كد كالا فيلدهاي كليدي هستند به صورت زير وجود دارد .

فايل سفارش – كالا : شماره سفارش ، كد كالا ، تعداد سفارش ، نام كالا

فيلد نام كالا به مد كالا وابسته است ولي به شماره سفارش مرتبط نيست پس بايد از فايل فوق حذف شود .

شكل سوم نرمال(third normal form) : در اين حالت دقت كنيد كه يك فيلد غير كليدي نبايد وابسته به فيلد (فيلدهاي ) غير كليدي ديگر باشد .

مثال در سيستم پرسنلي فايل پرسنل به صورت زير وجود دارد . (فيلد كليدي كد پرسنلي است .)

فايل پرسنلي : كد پرسنلي ، نام ، نام خانوادگي ، نام پدر ، كد شغل ، نام شغل

فيلد نام شغل يك فيلد غير كليدي كه وابسته به كد قسمت است پس بايد حذف گردد فايل فوق به دو فايل زير تبديل مي شود .

فايل پرسنل : كد پرسنل ، نام ، نام خانوادگي ، نام پدر ، كد شغل

فايل شاغل : كد شغل ، نام شغل

توجه : در فايل پرسنلي كه شغل را اصطلاحاً فيلد كليد خارجي ( foreign key ) مي نامند . بنا به تعريف در فايل ثابت فيلد هر كليدي ديگري فراز كليد اصلي را كليد خارجي مي گويند .

تكميل طراحي بانك اطلاعاتي

براي اينكه يك بانك اطلاعاتي كامل و بي نقص داشته باشيد بايد غير از مواردي كه بيان شد ، نوع و اندازه فيلد ها نيز بايد مورد توجه قرار گيرد . همچنين ارتباط بين فايلها توسط فيلدهاي كليدي بايد به صورت بدون نقص بر قرار گردد . براي تعيين نوع و حجم فيلدها نكات زير توجه كنيد :

1. با توجه به اطلاعات واقعي موجود در سيستم نوع و حجم فيلدها را مشخص كنيد .

2. فيلدهاي كليد يكسان در تمام فايل ها بايد نوع و حجم يكسان داشته باشند .

جهت برقرار ارتباطات صحيح به نكات زير توجه كنيد :

1. سطر هاي تكراري را در فايل اصلي را حذف كنيد .

 2.مقدار يك فيلد در فايل اصلي و فايل فرعي بايد يكسان باشد .

 

بخش دوم : ايجاد بانكهاي اطلاعاتي با كمك MS ACCESS

مقدمه

MICROSOFT ACCESS به عنوان يكي از اولين سيستم هاي مديريت بانك اطلاعاتي تا كنون به وسيله ميليونها تو در سر تا سر دنيا مورد استفاده قرار گرفته است . اكسس طوري طراحي شده است كه بتواند اغلب ويژگي هاي رايج و مورد نياز بانكهاي اطلاعاتي را فراهم كند . با اين حال تامين نياز هاي برخي كاربران         تقويت و تغيير جداول ، فرمها ، گزارشات و پرس و جوهاي (Queries) بانك اطلاعاتي اكسس مي باشد . از سوي ديگر يك توليد كننده نرم افزار ( سيستم اطلاعاتي مكانيزه ) كسي است كه از وقت و آموزش كافي برخوردار باشد و مي تواند از سيستمي را توليد كند كه از بيرون ساده به نظر رسيده و از درون بسيار پيچيده مي باشد .

برنامه اي كه براي كاربران نهايي (End – user  ) ( كاربر نهايي به كسي اطلاق مي شود كه كار ورود اطلاعات به سيستم و گزارش گيري را به راحتي بتواند انجام دهد ولي به دليل فقدان آموزش از پيچيدگي هاي سيستم آگاهي ندارد .)

تهيه مي شود بايد تمام نياز هاي كامپيوتري و سيستمي اين كاربران را به خوبي پوشش داده و در مقابل هر يك از كنش هاي آنها واكنش سريع و مناسبي را از خود نشان بدهد . همچنين توليد كننده نرم افزار مي بايست در برنامه خود امكان وقوع خطاي مختلفي را در نظر بگيرد ، اين خطاها ممكن است توسط كاربر ، داده هاي غلط و يا خود سيستم ايجاد گردند . كاربران هايي فقط با استفاده از فرم ها داده هاي ورودي را به بانك اطلاعاتي داده و از طريق اجراي گزارش ها خروجي هاي مورد نظر سيستم را مي گيرند . در اكسس زبان برنامه نويسي وجود دارد : زبان پرس و جوي ساخت يافته يا SQL (structured Query hanguage ) ماكروها و ويژال بيسيك (Visual Basic) – SQL زباني است كه اكسس آن را در پشت پرده محيط طراحي  پرس و جوها (Query’s) مورد استفاده قرار مي دهد . هر ماكرو نيز فهرستي از دستورالعمل هاست كه با فشرده شدن يك دگمه يا وقوع يك رويداد مشخص ديگر به اجرا در مي آيند .

- VB زبان جامع تر و پيچيده تري است  كه تقريباً هر كاري را مي توان با آن انجام داد .VB يك برنامه نويسي پيش ذكر است كه در آينده به طور مفصل مورد بحث و بررسي قرار خواهد گرفت .

يك بانك اطلاعاتي در اكسس بر خلاف ساير نرم افزار هاي مديريت بانك اطلاعاتي داراي يم فايل يا پسوند mdb است .

در اين فايل يك پنجره اصلي وجود دارد كه همان پنجره Data buse ناميده مي شود . همه عناصر بانك كه همان Forms

Module , Macros . Reports . Query’s . Tables هستند در آن قرار دارند . استفاده از آنها به شكل اوليه براي كاربر نهايي كمي مشكل و زمان بر است براي ساختن يك برنامه كه كاربر با آن راحت باشد بايد از يك فرم كه حاوي مجموعه اي از دستورات براي رسيدن به فرم هاي ورود اطلاعات و گزارشات است استفاده نمود و دستورات در آن به صورت كليد يا منو تعبيه كرد .

طراحي Table در اكسس

در پنجره Data buse اولين صفحه مربوط Tablesاست . هر Table يك فايل اطلاعاتي است كه حاوي يك سري فيلد اطلاعاتي مي باشد و هر راين از اطلاعات آن يك نشان دهنده ركود است . در بالاي اين پنجره سه فرمان اصلي Design new و open كه در صفحهtables  . new براي ايجاد جدول جديد ، Design براي تغيير طراحي جداولي كه قبلاً ايجاد شده اند و open  براي باز كردن و اجراي جدول ساخته شده به كار مي رود .

براي ايجاد يك جدول جديد مي توان از ويزارد اكسس نيز استفاده كرد ولي معمولاً اين ويزارد كاربرد چنداني ندارد . فرض كنيد يك سيستم انبار داريم كه قبلاً بررسي و تجزيه و تحليل شده و داراي جداول زير است :

جدول كالا : كد كالا ، نام كلا ، مشخصات فني ، واحد ، اول دوره ، نقطه سفارش ، قيمت ، داخلي / خارجي

جدول سند : شماره ، نوع ، تاريخ ، نام مشتري

جدول وارده صادره : شماره ، نوع ، كد كالا ، تعداد وارده ، تعداد صادره

جداول فوق در يك فايل mdb در اكسس ايجاد مي كنيم . در محيط طراحي جدول اكسس در قسمت فرماني هر سطر نشانگر يك فيلد اطلاعاتي است و سه ستون زير وجود دارد :

Field Name : نام فيلد در اين قسمت وارد مي شود مانند : كد كالا ، نام كالا و . . .

Description  : شرح مختصري از فيلد جهت استفاده هاي بعدي وارد مي شود .

Data type   : نوع فيلد در اين قسمت انتخاب مي شود انواع آن به شرح زير است :

Text  : يك فيلد متني است و تا 256 كاراكتر را در خود قبول مي كند . كه اندازه (Field size) ، فرمت (format) ، شكل ورودي (Input mask) ، بر چسب (caption ) مقدار اوليه ( default value ) ، قاعده ارزشيابي (Allow zero length ) ، مرتب بودن (Indexed ) ، و فشرده سازي ( Unicode compression  ) در قسمت پايين محيط طراحي آمده است .

- Memo  : نوعي فيلد است كه محدوديت حجم ندارد و برخي از خواص فيلد text  را دارا مي باشد .

- number  : فيلدي از نوع عددي براي شما محيا مي كند كه در قسمت Fied size  مي توانيد حجم آن را بسته به نياز مشخص كنيد . و فرمت آن را نيز در قسمت Format تعيين كنيد .

-Date / time  : اگر فيلد شما از نوع تاريخ يا زمان باشد از اين نوع داده استفاده كنيد . در قسمت format نحوه ورود يك داده تاريخي يا زماني را مشخص كنيد .

- Currency  : نوع خاصي از حالت number  است كه بيانگر داده هاي ريالي يا پولي است .

-auto number : يك فيلد رديف است كه گاهي اوقات براي دادن رديف به ركود هاي جداول استفاده مي شود . در قسمت New Values  نحوه افزايش اين فيلد مشخص مي شود كه به صورت افزايش يا تصادفي مي تواند باشد .

-yes/no   : نوع داده صفر و يك را مشخص مي كند مثلاً در جدول كالا فيلد داخلي / خارجي از اين نوع است .

OLE Object : براي داده هايي كه فرمت گرافيكي دارند كاربرد دارد . مثلاً اگر بخواهيد عكس كالا را نيز در بانك خود داشته باشيد از اين فيلد استفاده كنيد .

Hyperlink : با استفاده از اين نوع داده مي توان به صورت يك ابر پيوند به بانكها يا فايلهاي ديگر دسترسي پيدا كرد .

در سيستم انبار فيلدهاي از نوع text  عبارتند از : نام كالا ، مشخصات فني ، واحد ، نام فروشنده ، نام دريافت كننده و فيلدهاي از نوع Number عبارتند : كد كالا اول دوره ، نقطه سفارش ، شماره وارده ، شماره صادره  و فيلدهاي از نوع

 date / time عبارتند از : تاريخ وارده ، تاريخ صادره و فيلد قيمت از نوع currency و فيلد داخلي و خارجي از نوع yes /no مي باشند .

اگر بخواهيم ورود اطلاعات به صورت راحت انجام گيرد . يعني از داده هايي كه قبلاً به صورت استاندارد تعريف شده اند استفاده كنيم از lookupاستفاده مي كنيم . در سيستم انبار كد كالا از فايل وارده – صادره را جهت تهسيل در ورود اطلاعات از اين شكل استفاده كنيد . lookup به دو صورت list boy و combo boy  در گزينه display control ايجاد مي شود :

List boy : جعبه ليست مانندي را محيا مي كند كه روي سطر هاي آن حركت كرده و سطر مورد نظر را به عنوان داده ورودي فيلد انتخاب مي كنيم .

Comto Box   يك ليست كشويي محيا مي شود تا با انتخاب آن داده دلخواه در فيلد ثبت شود و فرق آن با list box در تعداد سطر ها و عرض سطر هايي كه در كشوي باز شده نشان داده مي شوند ملموس است .

ساير گزينه هاي Look up  جهت تكميل طراحي آن به صورت زير مي باشند :

Row source type  : نوع داده هاي ليست را مشخص ميكند مثلاً شما مي توانيد داده هاي يك جدول ديگر را در ليست خود داشته باشيد . يا يك ليست ثابت ايجاد كنيد . همچنين مي توانيد ليست فيلدهاي يك جدول را به عنوان داده هاي كشوي  lookup داشته باشيد .

- row source  : منبع اصلي سطر هاي lookup بايد از آن پر شوند مشخص مي شود .

- Bound Column  : شماره ستوني كه بايد داده هاي در فيلد مورد نظر ذخيره شوند .

- Column count  :تعداد ستونهايي كه بايد look up نمايش دهد .

- Column Heads  : نام فيلد مربوطه به ستون را در بالاي هر ستون نمايش مي دهد .

-Column widths  : اندازه ستونهاي موجود در lookup را مشخص مي سازد .

-List Rows  : تعداد سطر هاي ليست كشويي را مشخص مي كند .

- List width : اندازه كل ليست كشويي را مشخص مي كند .

 Limit to list  : ورود داده ها را با اين گزينه مي توان منحصر به ليست نمايش داده شده كرد يا از آن مستقل نمود .

نكته : در صورت وجود فيلد كليد در جدول از نوار ابزار براي مشخص كردن آن گزينه اي كه شكل كليد است را كليك كنيد .

پس از جداول و فيلدهاي مورد نياز مطابق پيش بيني و طراحي هاي انجام شده قبلي براي استفاده هاي بعدي بايد جداول را با توجه به روابطي كه از نظر ساختار سيستم اطلاعاتي مورد نظر وجود دارد به هم ارتباط داد . براي اين كار از گزينه Relationships  : از منوي tools  استفاده كنيد . پس از اجراي اين گزينه ، پنجره اي گشوده مي شود .كه شما مي توانيد جداول ايجاد شده خود را در آن با استفاده از گزينه show table  قرار دهيد .پس از اينكه تمام جداول را در اين پنجره گنجانديد . با استفاده از فيلدهاي كليد را به هم مرتبط كنيد . با انتخاب گزينه هاي  cascade up date / delete Related fields  در صورت حذف يا تغيير ركود مادر ركود هاي فرزند حذف يا تغيير مي كنند .

در اين مثال كارهاي زير را انجام دهيد :

روي فيلد كد كالا در جدول كالا كليك كرده و دگمه ماوس را نگهداريد و روي فيلد كد كالا در جدول وارده –صادره بكشيد .

روي فيلد شماره در جدول سند كليك كرده و دگمه ماوس را نگهداريد و روي فيلد شماره در جدول وارده صادره بكشيد .

روي فيلد نوع در جدول سند ، كليك كرده و دگمه ماوس را نگهداريد و روي فيلد نوع در جدول وارده صادره بكشيد .

در ايمن مثال كارهاي زير را انجام دهيد :

- در جدول كالا روي فيلد كد كالا قرار گرفته و گزينه كليد را اجرا كنيد .

- در جدول سند فيلد هاي شماره و نوع را انتخاب كرده و گزينه كليد را اجرا كنيد .

- در جدول وارده – صادره فيلدهاي شماره نوع و كد كالا را انتخاب كرده و گزينه كليد را اجرا كنيد .

طراحي پرس و جو ( Query )

پرس و جوها ابزارهاي اصلي استخراج داده ها از يك بانك اطلاعاتي هستند . شما مي توانيد به كمك يك پرس و جو اطلاعات مورد نظرتان را انتخاب كنيد ، اين اطلاعات را بر حسب مقادير فيلد ها مرتب نماييد ، حتي حاصل جمع ها و خلاصه هايي را به نمايش آنها بيفزاييد . كاربردهاي مختلفي از پرس و جوها عبارتند از : استفاده به عنوان مبناي فرم ها و گزارشات ، ايجاد جدول ، حذف يا اضافه كردن اطلاعات  به جداول جاري ، انجام محاسبات پيچيده روي فيلد ها و . . .

پرس و جوهاي گزينشي ( select  query )

پرس و جوي گزينشي مي تواند اطلاعات را از يك يا چند جدول استخراج كند و اغلب به عنوان منبع ركود يك فرم يا گزارش مورد استفاده قرار گيرد . براي ايجاد اين پرس و جو دگمه Show Table  را از نوار ابزار كليك كنيد . جداولي را مي خواهيد در پرس و جو دخالت داشته باشند انتخاب كنيد . سپس در محيط طراحي پرس و جو  طراحي پرس و جو فيلد هاي مورد نظر را انتخاب و قسمت پايين انتقال دهيد . مثلاً مي خواهيد مبناي براي زير فرم صادره ها ايجاد كنيد ، براي اين منظور مراحل زير را طي كنيد :

1- از پنجره Show table  جداول وارده – صادره و كالا را انتخاب كنيد .

2- در محيط طراحي Query  فيلدهاي شماره صادره ، كالا و تعداد را از جدول وارده -  صادره انتخاب و به پرس و جو اضافه كنيد .

3- فيلدهاي نام كالا ، مشخصات فني و واحد را از جدول كالا انتخاب و به پرس و جو اضافه كنيد .

4-محيط پرس و جو را بسته و يك نام مثلاً سوال صادره ها داريد .

حالا شما يك Query به عنوان مبناي زير فرم صادره ها داريد . براي الحاق آن به فرم كافيست  يك فرم جديد ايجاد كرده و در قسمت Record source  فرم نام پرس و جو را انتخاب كنيد . سپس مي توانيد فيلد هاي انتخاب شده پرس و جو را به فرم اضافه كنيد .

پرس و جوهاي Cross tab  

پاسخ اين پرس و جو يك ماتريس در بعدي است كه عناوين رديف هاي توسط مقادير يك فيلد و عناوين ستونهاي آن توسط مقادير يك فيلد ديگر تعيين مي شوند . با انتخاب ويزارد cross tab مي توانيد پرس و جو هاي سودمند از اين نوع ايجاد كنيد . در اين گونه پرس و جو ها هميشه يك فيلد به عنوان Row heading  ، يك فيلد به عنوان column Heading و يك فيلد به عنوان Value انتخاب مي شود .

پرس و جو هاي پارامتر يك

يك پرس و جو هاي پارامتر يك همانند پرس و جوي گزينشي ايجاد مي شود با اين تفاوت كه ممكن است بخواهيم يك يا چند فيلد انتخاب شده داراي مقادير خاصي باشند . براي اين منظور در قسمت criteria فيلد خاص مقدار مورد نظر را وارد كنيد يا آدرس آن تعداد را كه ممكن است در يك فرم قابل تغيير و انتخاب باشند ، وارد نماييد .

پرس و جو هاي خلاصه (sum may query)

گاهي اوقات شما به اطلاعاتي نياز داريد كه به كل مقادير يا چند فيلد وابسته مي باشند . پرس و جو هاي خلاصه ، ركود ها را گروه بندي كرده و عمليات رياضي يا آماري مورد نظر شما را بر روي اين گروه ها انجام مي دهند . براي اين منظور در نوار ابزار كليد totals را كليك كرده ، اكسس رديف total را به قسمت پايين محيط طراحي اضافه مي كند . پيش فرض عبارت اين رديف براي فيلد هاي انتخابي Group By مي باشد . براي هر كدام از فيلدها در صورت نياز مي توانيد تابع مورد نياز را انتخاب كنيد .

توابع تراكمي قابل دستيابي در پرس و جوها ي خلاصه عبارتند از  :

1- Avg :ميانگين مقادير يك فيلد را محاسبه مي كند

2- count : تعداد مقادير يك فيلد را مي شمارد . مقادير Nux محاسبه نمي شوند .

3- first : مقدار يك فيلد را از اولين ركود مجموعه پاسخ پرس و جو باز مي گرداند .

4- last : مقدار يك فيلد را از آخرين ركود مجموعه پاسخ پرس و جو باز مي گرداند .

5- max : بزرگترين مقدار يك فيلد را باز مي كند .

6- min  : كوچكترين مقدار يك فيلد را باز مي كند .

7- stdev  : انحراف از معيار مقادير يك فيلد را محاسبه مي كند .

8- sum : حاصل جمع مقادير يك فيلد را محاسبه مي كند .

9- var : واريانس مقادير يك فيلد را محاسبه مي كند .

پرس و جو هاي عملياتي (Action Query )

با استفاده از اين پرس و جوها تعداد زيادي از ركود را به طور همزمان دستكاري كنيد . تغيير مقدار يك فيلد ، حذف يك ركود موجود يا افزودن يك ركود جديد حتي مي توانيد يك جدول جديد با فيلد هاي دلخواه ايجاد كنيد . انواع اين پرس و جو ها در ادامه مي آيند .

1- پرس و جو هاي به هنگام سازي (update Query  ) : با استفاده از اين نوع پرس و جو مي توانيد مقادير يك يا چند فيلد از جدول مورد نظر تان را تغيير دهيد . مثلاً مي توانيد قيمت كلا را از جدول كالا طبق فرمول دلخواهي تغيير دهيد .

2-پرس و جوهاي الحاقي (Append Query  ) : با اين پرس و جوها مي توانيد يك يا چند ركود را به انتهاي يك يا چند جدول اضافه كنيد . بيشترين استفاده اين پرس و جوها براي آرشيو كردن اطلاعات موجود در جداول مي باشد .

3- پرس و جوهاي حذف (Delete Query ) : بخشي از يك جدول يا كل آن را خالي مي كند . اين پرس و جو به جاي حذف يك فيلد منفرد كليد ركودهاي انتخاب شده را حذف مي كند .

براي حذف ركودهاي جدولي كه با يك يا چند جدول ديگر رابطه يك به چند (one- to-many  ) دارد ، از گزينه حذف آبشاري (cascade delete  ) استفاده كنيد . به كار گيري اين روش موجب مي شود كه به موازات حذف يك ركود از جدول والد (parent ) ركود هاي مربوط به آن از جدول هاي فرزند (child ) نيز حذف گردند . به عنوان مثال اگر يك كادر را حذف كنيد تمام ركود هاي مربوط به صادره ها و وارده هاي آن كالا حذف خواهند شد .

4- پرس و جوهاي ايجاد جدول ( make table Query ) : از يك يا چند جدول موجود جدولي ايجاد مي كند . اين نوع پرس و جو براي ايجاد جداول آرشيوي كاربرد زيادي دارد . مثلاً اگر بخواهيد اطلاعات مربوط به صادره ها و وارده هاي يك سال را جداگانه نگهداري كنيد مي توانيد از اين نوع پرس و جو ها استفاده كنيد .

يك پرس و جوي كاربردي

در سيستم انبار اگر بخواهيد موجودي كالا ها را محاسبه كنيد . به مراحل زير توجه كنيد :

1. به محيط طراحي يك پرس و جوي جديد جداول كالا و وارده صادره را اضافه كنيد .

2. از جدول كالا فيلدهاي كد كالا ،مام كالا ، مشخصات فني ، واحد و اول دوره را به ليست فيلدهاي پرس و جو اضافه كنيد .

4 . دگمه Totals را از نوار ابزار كليك كنيد تا رديف total به پايين محيط طراحي اضافه شود .

5 . عبارت Group By  در زير فيلد هاي تعداد وارده و تعداد صادره تبديل به sum كنيد .

6 . ممكن است يك كالا صادره و وارده نداشته باشد و بخواهيد موجودي آن ببينيد . در اين صورت رابطه بين جداول كالا و وارده – صادره را به يك رابطه يك طرفه تبديل كنيد . طوري كه تمام ركودهاي كالا نمايش داده شوند .

7 . در يك ستون جديد ازليست فيلد هاي پرس و جو فرمول مربوط به موجودي را درج كنيد .در صورت خالي بودن ستون تعداد صادره و تعداد وارده برخي از ركودها برايي تعيين دقيق موجودي همه ركودها از تابع N=استفاده كنيد .

تذكر : اگر بخواهيد اقلامي را كه موجودي آنه صفر است از ليست ركودهاي پرس و جو حذف شوند در رديف criteria شرط < >0 را وارد كنيد . يا اگر بخواهيد اقلامي را كه موجوديشان منفي است ببينيد شرط < 0 را وارد كنيد .

طراحيForm و  Report  

اطلاعات  مربوط يه جدول كالا را به همان صورت جدولي مي توان وارد سيستم كرد . يعني با اجرا كردن جدول ايجاد شده كالا جدولي نمايش داده مي شود كه ستونهاي آن فيلد هاي جدول و سطر هاي آن ركودهاي جدول هستند كه هر ركود نشان دهنده يك كالاي مستقل است .در قسمت پايين جدول كليدهايي جهت مرور در جدول وجود دارد . در قسمت نوار ابزار نيز كليد هايي جهت ايجاد يا حذف ركورد جستجو در ركوردها ، فيلتر كردن ركوردها و همچنين مرتب كردن به صورت سعودي يا نزولي وجود دارد .

اما براي ورود اطلاعات راحت تر وارده ها يا صادره هاي كالا بايد يك فرم كه حاوي يك زير فرم است تهيه شود . اين كار به راحتي توسط ويزارد اكسس قابل انجام است . مراحل انجام كار به شرح زير است :

1. از پنجره DATA BASE  فرمان NEW را اجرا كنيد .

2. از كادر محاوره اي New form  ، Form wizard  را انتخاب كنيد و در قسمت پايين كادر جدول وارده را بر گزينيد .سپس كليد ok را بفشاريد .

3. در كادر محاوره اي form wizard  مرحله يك فيلد هاي موجود در قسمت Available fields  را به قسمت selected field  انتقال دهيد .

4 .در قسمت tables /Queries  جدوا وارده – صادره را انتخاب كنيد .

5 . فيلد هاي كد كالا و تعداد را به قسمت selected field  اضافه كنيد .

6 . در قسمت Tables /Queries  جدول كالا را انتخاب كنيد .

7 . فيلدهاي نام كالا ، مشخصات فني ، واحد را به قسمت selected field  اضافه كنيد .

8 . مرحله يك را كليد Next به پايان ببريد .

9 . در مرحله دو form wizard  با انتخاب form with sub from  با كليد Next به مرحله بعد برويد .

10 . در اين مرحله با انتخاب Data sheet  با كليد Next  به مرحله بعدي برويد .

11 . در مرحله چهارم شما مي توانيد از حالت هاي مختلفي كه در دسترس شما گذاشته شده است يك حالت به دلخواه انتخاب كنيد . و به مرحله بعد برويد .

12 . در مرحله پاياني نام فرم و نام زير فرم را در قسمت بالاي كادر محاوره اي وارد كنيد و كليد Finish را كليك كنيد .

ابزار form  يا Report  

Label  : برچسبي است كه فقط جنبه نمايشي دارد .و معمولاً مي توان متني با حداكثر 256 كاراكتر در آن تايپ كرد .

Text boy ( جعبه اطلاعاتي ) : در فرم ها براي ورود اطلاعات و گزارشات براي نمايش اطلاعات به كار مي رود .

Option Group ( گروه انتخاب ) : با اين ابزار مي توان ورود اطلاعات را طبقه بندي كرد . كه در آن از دو نوع option button  و cheek boy استفاده مي شود .

Option Button  : دگمه دايره اي مانند كه مقادير towe  و False  را مي دهد .

Check Boy  : مربع مانند با يك تيك در داخل آن كه مقادير towe  و False  را مي دهد

Combo boy  : جعبه كشويي مانند كه يك سري مقادير به عنوان پيش فرض يا از يك جدول جهت انتخاب و ورود اطلاعات در فرم ارائه مي هد .

List Boy  : ليست كشويي مانند كه همانند Combo Box عمل مي كند .

Command Button   ( دگمه فرمان ) : با پيش بيني انجام يك عمليات خاص يا اجراي يكي از اجزاي access يا حتي اجراي فايل هاي خارجي در صورت كليك اين دگمه مي توان به هدف مورد نظر رسيد .

Image  : جعبه اي است كه در آن مي توان يك تصوير ثابت را جاي داد .

Unbound object from : جعبه است كه در آن مي توان يك تصوير قابل تغيير را جاي داد . و براي تغيير آن از فرمان convert استفاده مي شود . از اين    جهت شي جهت ترسيم نمودار نيز استفاده مي شود كه بعداً به آن مي پردازيم .

Bound Otject fram : جعبه اي است كه در آن مي توان فيلدهايي از نوع ole قرار داد كه با تغيير ركورد جاري تصوير موجود در آن نيز با توجه به اطلاعات بانك عوض خواهد شد .

Tab control : اين ابزار اين امكان را به شما مي دهد تا در يك فرم از صفحات و فرم هاي مختلف استفاده كنيد .

Sub form /sub report  :‌با استفاده از اين ابزار مي توان يك فرم يا يك گزارش به عنوان زير فرم يا زير گزارش در فرم يا گزارش اصلي ايجاد كرد كه توسط يك يا چند فيلد كليد با فرم يا گزارش اصلي در ارتباط باشد .

Line : جهت رسم خط استفاده مي شود .

Rectangle  : جهت رسم مربع يا مستطيل استفاده مي شود .

در اين حالت نرم افزار access  فرمي را در اختيار شما مي گذارد كه در قسمت بالاي فرم شما مي توان در داده هاي مربوط به شماره وارده تاريخ وارده و نام فروشنده را به بانك بدهيد .

به خاطر داشته باشيد ممكن است نحوه چيدمان فيلدي موجود جهت ورود اطلاعات به نحوه دلخواه شما نباشد در اين صورت با كليد view  از tool bar به حالت Design  فرم رفته و چيدمان مربوط به فيلدها و زير فرم را به صورت دلخواه عوض كنيد . در مورد ستونهاي موجود در زير فرم شما مي توانيد با استفاده از ماوس آنها را جايي كرده يا اندازه آنه را تغيير دهيد .

پنجره خواص (properties  )

هرگز فراموش نكنيد كه تمامي ابزار موجود در form و report  همان گزارش بانك اطلاعاتي است كه جهت نمايش و چاپ اطلاعات كاربرد زيادي دارد . )، شيء هستند و هر كدام از آنها داراي خواصي هستند كه با دستكاري آن خواص مي توان به حالت دلخواه در مورد آن شيء رسيد . اين خواص بسته به نوع شيء داراي آيتم هاي مختلفي هستند كه شرح زير در مورد آنها بحث مي كنيم :

í خواص مشترك

اين خواص براي همه اشيا موجود در access يكسان هستند اين خواص عبارتند از :

- visible  :  نمايش يا عدم نمايش ني موقع اجراي فرم

- display when  : تعيين موعد براي نمايش شيء

- left  : فاصله شيء از سمت چپ

- top  : فاصله شيء از سمت بالا

- width : عرض شي

- Height : ارتفاع شيء

-  Tag : برچسب شيء

  1. خواص format

اين خواص براي اشياء مختلف متفاوت است كاربردي ترين آنها براي text  box   عبارتند از :

- format : در صورتي كه داده هاي يك text  box عدد مي باشد مي توان با استفاده از اين خاصيت نحوه نمايش را انتخاب كرد.

-Decimal place  : تعداد ارقام قسمت اعشاري را در صورت عددي بودن داده ها مشخص مي كند .

-Visible  : در صورت no بودن اين گزينه موقع اجراء شيء مورد نظر ديده نمي شود .

- Can grow : قابليت رشد حجم شيء در صورت زياد شدن داده هاي آن

- Can shrink : قابليت كاهش حجم شيء در صورت كم شدن داده هاي آن

-back style  : در صورت انتخاب trans parent  فرمت پيش زمينه شيء نا مرئي خواهد شد .

- back color  : رنگ زمينه شيء را مي توان با اين خاصيت عوض كرد .

-special effect  : جلوه هاي ويژه مربوط به مشخصات ظاهري شيء قابل تنظيم است .

- border style  : حالت خطوط دور شيء قابل انتخاب است

- border color : رنگ خطوط دور شيء قابل انتخاب است

-border with  : ضخامت خطوط دور شيء قابل انتخاب است

- fore color : رنگ متن شيء قابل تغيير است .

-  font name : نام فونت متن قابل انتخاب است .

- font size : اندازه فونت متن قابل انتخاب است .

-font weight  : حالت فونت متن قابل انتخاب است .

-font italic  : حالت ايتاليك فونت در صورت انتخاب yes  ايجاد مي شود .

- font undecline  : حالت زير خط دار فونت در صورت انتخاب yes  ايجاد مي شود .

- text align : نحوه چيدمان متون قابل انتخاب است . (چپ چين ، راست چين ، وسط چين . . .)

-  reading ordeer  : در صورت انتخاب right -to - left   اعداد داخل text box  فارسي خواهند شد .

-margin  : حاشيه هاي چپ، راست ، بالا و پايين شي قابل تنظيم است .

- line spacing  : فاصله خطوط قابل تنظيم است .

خواص format  براي فرم يا گزارش به شرح زير مي باشد .

- caption : بر چسب بالايي فرم را در اين قسمت مي توان لحاظ كرد .

- default view  : نوع نمايش فرم موقع اجرا به صورت فرم ساده ، فرم پيوسته يا جدول قابل انتخاب است

- views allowed : نحوه نمايش به صورت فرم يا جدول يا هر دو قابل انتخاب است

- scroll bars  : اجازه نمايش نوار مرور عمودي و افقي را مي دهد .

- record selector  : اجازه نمايش دگمه انتخاب ركورد را مي دهد .

-navigation bottons  : دگمه هاي مرور بر روي ركوردها را مي توان با اين خاصيت حذف يا اتبا نمود .

- dividing line  : خط جدا كننده ركوردها قابل حذف يا اتبا است

- auto resize  : اندازه فرم به صورت اتوماتيك قابل تغيير خواهد بود .

-  auto center  : فرم به صورت اتوماتيك وسط صفحه قرار مي گيرد .

- control box  : كليه دگمه هاي بستن ، كمينه كردن و بيشينه كردن فرم را غير فعال مي كند .

-  min max buttons  : دگمه هاي كمينه و بيشينه كردن فرم را غير فعال مي كند .

- close buttons  : دگمه بستن فرم را غير فعال مي كند .

- picture  : عكس زمينه فرم قابل انتخاب است .

و ساير خواص فرمت كه در گزارش كاربرد بيشتري دارد عبارتند از :

- page header  : تنظيم بالاي صفحه گزارش

-  page footer  : تنظيم پايين صفحه گزارش

- Grp keep together  : گروه هاي موجود در گزارش را تنظيم كرده و در صورت طولاني شدن گروه مي توان شروع آن صفحه را به صفحه جديد انتقال داد .

- orientation  : نحوه نمايش چپ به راست يا راست به چپ گزارش موقع اجرا ( پيش نمايش چاپ ) قابل انتخاب است .

2. خواص data

اين خواص براي اشيايي كه داده يا داده هايي را از جداول و پرس و جوها بر مي گردانند كار بردارند و عبارتند از :

Control source  : اين خاصيت جهت تعيين نام فيلد براي text box كاربرد دارد .

Inpat mask  : فرمت ورود يا نمايش اطلاعات را مشخص مي كند .

Default value  : داده پيش فرض را مي توان مشخص كرد .

Validation rule  : شرط داده هاي ورودي

Validation text  : متن مورد نظر در صورت نقص شرط داده هاي ورودي

Enabled  : در صورت انتخاب yes  براي اين خاصيت شي مورد نظر غير فعال خواهد شد .

Locked  : براي قفل كردن ورود و تغيير داده ها بكار مي رود و داده ها فقط نمايش خواهند بود .

اين خواص عبارتند از :

Record source  : منبع اصلي ركوردهاي فرم قابل انتخاب است . شما مي توانيد يك جدول  يا پرس و جو را انتخاب كنيد يا يك پرس و جوي جديد بسازيد و آن را به عنوان منبع در نظر بگيريد .

Filter  : در صورت نياز مي توان فرم را با يك شرط فيلتر سازي كرد

 order by  : ركوردها فرم را مي توان مطابق يكي از فيلدهاي آن مرتب كرد .

Allow filters  : اجازه فيلتر كردن ركوردها را مي دهد .

Allow edits  : اجازه تغيير داده هاي فرم را مي دهد .

Allow deletions  : اجازه حذف داده هاي فرم را مي دهد ..

Allow additions  : اجازه اضافه كردن يك ركورد جديد به جدول را مي دهد .

Data entry  : فقط مي توان ركوردهاي جديد را به جدول اضافه كرد .

Record locks  : اجازه قفل كردن ركورد هاي جدول را مي دهد .

3 . خواص event  

event  همان رويداد هاي موجود در اكسس هستند . موقع اجراي اين رويدادها مي توان مشخص كرد كه فرمول  ، ماكرو يا برنامه اي اجرا شود .بيشترين رويدادها مربوط به فرم است . از اين رويدادها كاربردي ترين آنها عبارتند از :

On current  : جاري شدن فرم

Before insert  : قبل از ايجاد يك ركورد جديد

After insert : بعد از ايجاد يك ركورد جديد

Before up date : قبل از بروز شدن داده هاي فرم

After up date  :بعد از بروز شدن داده هاي فرم

On delete  : موقع حذف يك ركورد

On open  : موقع باز شدن فرم

On close  : موقع بستن شدن فرم

On activate : موقع فعال شدن فرم

On deactivate  : موقع غير فعال شدن فرم

On click : موقع كليك كردن روي فرم

On dbl click  : موقع دو بار كليك كردن روي فرم

On error  :موقع بروز خطا در فرم

On filter  : موقع فيلتر كردن داده هاي فرم

On timer : موقع گذشت زمان در صورتي كه جلوي خاصيت بعدي يعني timer inter val  زمان را وارد كرده باشيد مي توانيد در on timer  عملي را كه مي خواهيد انجام شود لحاظ كنيد .

4. ساير خواص

ساير خواص معمولاً خواصي هستند كه جنبه فرصتي ، داده اي يا رويدادي ندارند و تقريباً براي اشياء مختلف متفاوتند كاربردي ترين آنها براي text box  به شرح زير مي باشند :

Name : نام شيء را در صورتي كه بخواهيم در جاي ديگر آن به راحتي فرا خواني كنيم نام دلخواه را وارد مي كنيم .

Vertical  : حالت عمودي متن قابل انتخاب است .

Tab stop : اجازه توقف تب روي فيلد را مي دهد .

Tab index  : شماره مرتب شده تب ( ترتيب پرش تب روي فيلدها ) را مشخص مي كند .

در فرم اين خواص عبارتند از :

Menu bar : منوي بالايي فرم را مي توان مشخص كرد .

Short cut menu bar : منويي كه موقع راست كليم ظاهر مي شود قابل تعريف است .

Help file : فايل كمك مربوط به فرم را مي توان اختصاص داد .

Allow design changes : تغييرات مربوط به طراحي را هميشه يا فقط موقع نمايش حالت طراحي قابل دسترسي باشند .

اجزا ء اصلي form  و report

در form  و report  پنج جز اصلي وجود دارد كه در report  مي توان آنه را به نحوي كه گفته مي شود افزايش داد .

1. report fleader /form  :  در اين قسمت مي توانيد آيتم هايي را كه مي خواهيد اول فرم يا گزارش در موقع اجرا ظاهر شوند قرار دهيد .

2. report flooter /form  : :  در اين قسمت مي توانيد آيتم هايي را كه مي خواهيد آخر فرم يا گزارش در موقع اجرا ظاهر شوند قرار دهيد .

3. page Header : در اين قسمت مي توانيد آيتم هايي را كه مي خواهيد اول هر صفحه موقع پيش نمايش چاپ فرم يا گزارش ظاهر شوند قرار دهيد .

4 .page footer  : در اين قسمت مي توانيد آيتم هايي را كه مي خواهيد پايين هر صفحه موقع پيش نمايش چاپ فرم يا گزارش ظاهر شوند قرار دهيد

5 . detail : اين قسمت نشانگر ركورد هايي كه در فرم مي  خواهيد اطلاعات آنها را ويرايش كنيد يا داده جديد وارد كنيد . و همچنين در گزارش موقع پيش نمايش چاپ نشانگر اطلاعات ركورد هايي است كه قبلاً ورود اطلاعات شده اند در صورت گروه بندي كردن ركورد ها در report  مي توانيد از Group header  جهت نمايش اطلاعات در اول گروه موقع اجراي گزارش و از group footer  جهت نمايش اطلاعات در آخر گروه موقع اجراي گزارش استفاده كنيد . در group header  معمولا ً خلاصه اطلاعات اوليه گروه و در group footer  معمولاً جمع بندي اطلاعات مربوط به گروه لحاظ مي شود .

براي گروه بندي ركوردها از ابزار sorting and grouping  نوار ابزار استفاده كنيد . با كليك كردن آن پنجره اي ظاهر مي شود كه داراي دو ستون در بالاي پنجره است در ستون اول نام فيلد و در ستون دوم نحوه مرتب سازي ركورد ها را مي توانيد انتخاب كنيد . در پايين پنجره در صورت انتخاب نام فيلد مي توان براي آن در گزارش Group footer , Group header  ايجاد كنيد . همچنين مي توانيد نحوه گروه بند را طبق كل فيلد يا حروف شدع آن در نظر بگيريد .

در صورت انتخاب حرف شروع براي گروه بندي مي توانيد در قسمت Group interval  تعداد حروف شروع را نيز مشخص نماييد . در قسمت keep together  ميتوانيد موقع پيش نمايش چاپ گروه ها را از هم جدا كنيد . يا در صورت طولاني بودن يك گروه ابتداي آن را به صفحه جديد انتقال دهيد .

طراحي نمودار ها در report  

تنظيم مشخصات ظاهري نمودارها در اكسس مشابه نمودار ها در excel  و word  مي باشد . بحثي كه نمودار در اكسس را از نمودار در ساير نرم افزار ها جدا مي سازد ، همان منبع نمودارها داده مي باشد كه در قسمت data از پنجرهproperties  خواص مرتبط با آن آمده است . كاربردي ترين اين خواص عبارتند از :

Row source type  : نوع منبع داده ها را مشخص مي سازد كه مي تواند جدول ، پرس و جو ، يك ليست ثابت يا ليست فيلد هاي يك جدول باشند .

Row source : نام منبغ داده هاي نمودار يا ليست ثابت بايد در اين قسمت آورده شود .

Link child fields   : در صورت ارتباط نمودار با كل گزارش از اين كليد به عنوان فيلد ارتباطي فرزند استفاده مي شود .

Link mated fields  : فيلد ارتباطي مادر را مشخص مي سازد .

طراحي sub form/ sub report

زير فرم ها يا زير گزارش ها مي توانند خود يك فرم يا يك گزارش باشند كه با فرم و گزارش اصلي در ارتباط هستند . خواص مربوط به data در آنها با ساير اشياء تا حدودي تفاوت دارند كه به شرح زير مي آيند :

Source object  : نام فرم ، گزارش ، جدول يا پرس و جويي را كه مي خواهيم به عنوان منبع انتخاب كنيم .

Link child fields  : عنوان فيلد ارتباطي فرزند در اين قسمت آورده مي شود .

Link master fields  : عنوان فيلد ارتباطي مادر در اين قسمت آورده مي شود .

توضيح : تنظيمات ظاهري مربوط به نمودارها و زير گزارش ها در كلاسهاي عملي انجام خواهد شد و از حوصله اين جزوه خارج است

طراحي ماكروها (macros)

ماكروهاي اكسس شامل فهرستي از دستورات مي باشند كه هنگام فراخواني به صورت گام به گام اجرا مي شوند . براي ايجاد يك ماكروي جديد در برگه macros  پنجره بانك اطلاعاتي دگمه new را كليك كنيد . پنجره اي ظاهر مي شود كه در آن مي توانيد ماكروي مورد نظرتان را طراحي كنيد . اين پنجره از دو قسمت تشكيل شده است : - محدوده فوقاني شامل ستونهاي action و (كنش ها) comment (توضيحات است . در اين محدوده مي توانيد ستونهاي macro names  (اسامي ماكروها ) conditions  (شرط ها ) را نيز اضافه كنيد .در هر سطر اين محدوده مي توان يك كنش قرارداد . كه اين كنش ها همان دستورات ماكرو هستند .

محدوده پاييني كه پارامتر هاي هر كنش (action arguments ) در آن مشخص مي شوند . اين پارامتر ها براي هر كنش ممكن است متفاوت باشند . اغلب ماكروها جهت اجرا به اين پارامتر ها نياز دارند و در صورت خالي بودن آنها ماكرو اجرا نمي شود .

كاربردي ترين كنش ها را همراه با پارامتر هاي لازم جهت اجرا در ادامه مي آيند :

1. add menu : اين كنش براي ايجاد منوها بكار مي رود و پارامتر هاي لازم جهت اجراي اين كنش عبارتند از :

تذكر : در ماكرويي كه حاوي ليست فرمانهاي يك منو مي باشد جهت نمايش برچسب فرمان مربوطه در ستون macro names  عبارت مورد نظر تايپ شود .

Menu name  : نام منو در اين قسمت تايپ مي شود  .

Menu macro name  : نام ماكرويي كه وابسته منو است و ليست گزينه هاي منو به عنوان دستورات آن ماكرو هستند در اين پارامتر بايد لحاظ شود .

2 . close : براي بستن عناصر اصلي بانك اطلاعاتي به كار مي رود و پارامتر هاي آن عبارتند از :

Object type : نوع شيء اعم از فرم ، گزارش ، جدول ، پرس و جو

Object name : نام شيء جهت بسته شدن آن

3. minimize . maximize  : ماكرو هاي بيشينه سازي و كمينه سازي كه بيشتر موقع فعال شدن فرم يا گزارش بكار مي روند و بدون پارامتر مي باشند

4. msg box   : جعبه اي جهت نمايش يك پيغام خاص در يك هنگام خاص كه مورد نظر برنامه نويس مي باشد . پارامتر هاي آن عبارتند از :

massage  : عبارت پيغام يعني متن پيامي كه مي خواهيد نمايش داده شود .

Beep : بوغ موقع نمايش جعبه پيام

Type : نوع پيام يا نوع پنجره پيام

Title : عبارت بالايي پنجره پيام

5 . open form : جهت باز كردن يك فرم دلخواه بكار مي رود و پارامتر هاي آن عبارتند از :

form name  : نام فرمي كه مي خواهيد باز شود .

view  : نوع نمايش فرم به صورت فرم ساده يا جدولي ، محيط طراحي فرم و يا پيش نمايش چاپ فرم

Data mode  : مد ورود يا ويرايش داده ها را قابل استفاده مي سازد

6 . Open Query : جهت اجرا كردن پرس و جوها بكار مي رود و پارامتر هاي آن عبارتند از :

Query name : نام پرس و جويي كه مي خواهيد اجرا شود .

view  : نوع نمايش پرس و جو به صورت فرم ساده يا جدولي ، محيط طراحي پرس و جو و يا پيش نمايش چاپ

Data mode  : مد ورود يا ويرايش داده هاي پرس و جو

7 . جهت اجرا كردن گزارشات به كار مي رود و پارامتر هاي آن عبارتند از :

Report name  : نام گزارشي كه مي خواهيد اجرا شود .

view  نحوه نمايش گزارش به پيش نمايش چاپ ، چاپ مستقيم و يا محيط طراحي گزارش

8 . open table  : مشابه كنش open query  با اين تفاوت كه در پارامتر table name  بايد نام جدول را انتخاب كنيد .

9 . quit : خارج شدن از اكسس را در هر جايي كه مي خواهيد مقدور مي سازد .

10 . run macro  : جهت اجراي ماكروها بكار مي رود و پارامتر هاي آن عبارتند از :

macro name  : نام ماكرويي كه مي خواهيد اجرا شود .

report count : تعداد تكرار اجراي ماكروي مورد نظر را مشخص مي سازد .

run command : جهت اجرا كردن يك دستور (command ) بكار مي رود و پارامتر آن command name است كه ليست سك سري دستورات آماده اكسس را در خود جاي داده و به كاربر اجازه انتخاب آنها را مي دهد . اكثر اين دستورات همان فرمانهاي منوهاي اصلي اكسس مي باشند . مانند replace .find . cut . copy  و . . .

توجه : اگر بخواهيد ماكرويي داشته باشيد كه در بدو ورود به بانك اطلاعاتي مورد نظر اجرا شود بايد ليست دستورات مورد نظر را در يك ماكرو ايجاد كرده و نام آن را autoexec قرار دهيد .

تذكر : توضيحات بيشتر درباره ماكروها و كاربرد آن در پروژه عملي و كلاس بيان خواهد شد .

برنامه نويسي ويژوال

در فصول قبل با اشياء و رويدادها آشنا شديم اين دو و همچنين رويه ها اجزاء اصلي برنامه نويسي شيء گرا را تشكيل مي دهند .

اشياء در حقيقت همان متغيير هاي برنامه نويسي شيء گرا هستند . در ضمن مي توان در داخل برنامه يك سري متغير محلي نيز تعريف كرد كه اين متغير ها به عنوان متغير هاي كمكي براي رسيدن به اهداف و انجام محاسبات پيچيده به كار مي روند.

علوه بر رويدادهايي كه از قبل مي شناسيد رويدادهاي ديگري نيز وجود دارند كه جهت برنامه نويسي هاي پيشرفته در رويه ها به كار مي روند .

رويه چيست؟

 يك رويه يك ساختار بنامه اي است كه داراي شروع و پايان و حاوي يك سري متغير ها ، ثابت ها ، پارامتر ها ، كنترل ها و دستورات است . نتيجه اين رويه ها در فرم ها و گزارشات موقع اجراي آنها نمايان مي شوند .

متغير ها

يك متغير يك مخزن موقت داده است . كه به صورت زير تعريف مي شود .

Dims as string

در مثال فوق sنام متغير و string  نوع متغيرات است . انواع متغير ها عبارتند از :

Byte : عدد صحيح يك بايتي بدون علامت است كه مقادير 5 تا 255 را قبول مي كند .

Integer : عدد صحيح يك بايتي بدون علامت دار است كه مقادير32000- تا 32000+ را قبول مي كند .

Long  : عدد صحيح چها بايتي علامت دار است .

Single  : عدد حقيقي چهار بايتي با مميز شناور است .

Double : عدد حقيقي هشت بايتي با مميز شناور است .

String  : رشته اي از حروف است .

Boolean  : مقادير صفر و يك يا true يا false را در خود جاي مي دهد .

ثابت ها

ثابت ها به وسيله سيستم ها يا كاربرد تعريف مي شوند كه مخزن دائم يك دايره ثابت مي باشند و در شرايط مختلف مقادير آنها تغيير نمي كند .

ثابت ها به صورت زير تعريف مي شوند :

Const    N=25

Const     S=Hello

در مثال فوق در يك داده ثابت و S يك داده ثابت رشته اي را در خود ذخيره مي كنند .

پارامتر ها (Arguments )

پارامترها اطلاعاتي هستند كه يك رويه در طول اجراي خود از آنها استفاده مي كند . به مثال زير توجه كنيد .:

Private sub arg (at as string , a2 as integer )

در مثال فوق arg نامه رويه و a1 وa2 پارامتر هاي رويه هستند . كه جهت اجرا نياز به وجود مقادير در آنها دارد .

كنترل ها

كنترلها يا دستورات كنترلي رويه هاي vb  اغلب در برنامه ها به صورت حلقه هاي تكرار يا تصميم گيري وجود دارند كاربردي ترين اين كنترل ها عبارتند از :

Do . . . while/ until  : تكرار مجموعه اي از دستورات در زمان درست بودن يك شرط

For . . . next  : تكرار مجموعه اي از دستورات به دفعات معين

If . . . then . . . else : اجراي مجموعه اي از دستورات در صورت درست بودن يك شرط و اجراي مجموعه اي ديگر از دستورات در صورت غلط بودن آن شرط

Select case : اجراي يكي از چند دستور موجود بر اساس مقدار يك عبارت خاص 

انواع رويه هاي VB

رويه هاي VB  به دو دسته هستند زير برنامه ها(sub procedures  ) و توابع (functions ) تقسيم مي شوند . زير برنامه ها رويه هايي هستند كه عمليات مشخصي را انجام مي دهند اما مقدار بازگشتي ندارند . ولي توابع مقداري را به برنامه باز مي گردانند و مي توان آنها را در يك عبارت رياضي يا منطقي به كار گرفت .

ساختار هر زير برنامه ار نحو زير پيروي ميكند :

[private/ public] [static] sub name [(arglist)]

[statements]

end sab

در ساختار فوق واژه sub در حقيقت شروع زير برنامه و واژه End sub پايان زير برنامه مي باشد .

هر تابع پس از استناج يك مقدار آن را به پروژه باز مي گرداند .ساختار توابع از نحو زير پيروي مي كنند :

[private/ public] [static] function name [(Argils)][As type ]

  [statements ]

[name= expression ]

end function

 در ساختار فوق واژه هاي end function  شروع و پايان تابع را مشخص ميسازند .

عناصر نحوي رويه ها در ساختار فوق براي زير برنامه ها و توابع به شرح زير مي باشند :

Public : رويه را براي كليه رويه هاي موجود در تمامي پيمانه هاي (modules ) پروژه قابل دستيابي مي سازد . (اختياري )

 رويه را براي كليه رويه هاي موجود در پيمانه جاري قابل دستيابي مي سازد . (اختياري )

Static : مقدار متغير هاي محلي يك رويه را در فاصله فراخوانده شدنهاي آن رويه حفظ مي كند . اين عنصر به آن دسته از متغير هاي رويه كه در رويه هاي ديگر ايجاد شده اند تاثيري ندارد . (اختياري)

Name  : نام زير برنامه يا تابع است . (اجباري)

Arglist  : فهرست پارامتر هايي كه بايد هنگام فراخواني رويه به آن ارسال شوند .(اختياري )

As type : نوع داده اي مقدار بازگشتي يك تابع را نشان مي دهد . (اختياري)

Statements : گروه دستوراتي كه در رويه اجرا مي شوند . ( اختياري)

Expression  : مقدار بازگشتي تابع را باز مي گرداند . اختياري )

لازم به توضيح است كه در ساختارهاي زير برنامه و تابع عناصر end function , function , end sub ,sub از عناصر اجباري اين دويه ها به شمار مي روند .

نمونه هايي از رويه هاي vb كه در نرم افزار كاليبراسيون نوشته شده است به پيوست آمده است . اين رويه ها مثالهاي مناسبي جهت طراحي و پياده سازي سيستم هاي پيشرفته اطلاعاتي به شمار مي روند .