تبليغاتX
ترفندهای کامپیوتر و موبایل و آموزش آفیس - آموزش Access بخش سوم

نگاهی به ماکروها:

ماکروها فهرست فرامینی است که در آنها کارهایی که معمولا از طریق صفحه کلید انجام می دهید, تعریف می شود. مثلا می توانید ماکرویی ایجاد کنید که هنگام وقوع شرایطی خاص مثل هنگامی که میزا فروش چیزی از تعداد یا مقدار مشخصی کمتر شود, گزارش مشخصی را چاپ کند. البته با استفاده از منوها نیز می توانید گزارش مورد نظر را چاپ کنید ولی ماکرو مراحل کار را خودکار می کند, بدین ترتیب کی توانید با فشار کلید فرمان روی فرم, گزارش را چاپ کنید.
به این نکته توجه کنید که ماکروها اغلب به کلیدهای فرمان وصل می شوند تا اجرای آنها برای کاربر ساده باشد چون به هرحال شما استفاده کننده هستید و مایلید تا کارها تا حد امکان ساده انجام شود.
توجه کنید که کلید Run در بالای صفحه Database ماکرو را اجرا می کند ولی تا زمانی که نحوه عملکرد آنرا در برنامه نمی دانید به هیچ وجه اقدام به اجرای آن نکنید.
هرگاه بخواهید محتویات ماکرو را از پنجره Database مشاهده کنید باید نام ماکرو مورد نظر را انتخاب کرده و بر روی دکمه Design در بالای پنجره Database کلیک کنید که در این حالت حالت نمایش Design مربوط به ماکرو را مشاهده می کنید. فهرست اعمال ماکرو را در این پنجره مشاهده می کنید به احتمال قوی این اعمال مرموز به نظر می رسندولی به مرور با آنها آشنا خواهید شد.
چون ماکرو فهرست کارهای خودکار شده است و شما هنوز نمی دانید اکسس چه کارهایی می تواند انجام دهد پس در این مقطع نمی توان کار زیادی برای افزایش درک نسبت به ماکرو کرد. پس از پایان کار با ماکرو آنرا به وسیله منو File . گزینه Close ببندید.

نگاهی به مدول ها:

مدولها برنامه های کاملی هستند که با Visual Basic for Applications نوشته می شوند, و برای خودکار کردن کارها به کار می روند.برخلاف ماکروها که ساده هستند برنامه کاربردی را می توان به نحوی ایجاد کرد که به هر حرکت استفاده کننده پاسخ داده و عکس العمل نشان دهد. ما در درسهای آینده به چگونگی کار مدولها خواهیم پرداخت ولی به دلایل زیر به طور کامل آنرا توضیح نخواهیم داد:

برنامه نویسی با مدولها به مهارت های کامپیوتری پیشرفته ای نیاز دارد که من فکر نمی کنم تمامی مطالعه کننده های این دروس به مهارتها آشنا باشند. اکسس محل خوبی برای یادگیری نحوه برنامه نویسی نیست. بسیاری از افراد سالیان متمادی بدون نیاز به نوشتن مدول, بصورتی موثر و کارا از اکسس استفاده می کنند. حتی اگر بخواهیم برنامه های کاربردی قوی در اکسس ایجاد کنیم می توان حتی بدون یک نیاز کوچک به مدول این کارها را انجام داد.

اگر قبلا برنامه نویسی کرده باشید, خصوصا با یکی از زبانهای مشابه Basic مانند Qbasic و BasicA یا Visual Basic در استفاده از مدولها مشکل خاصی نخواهید داشت.
البته در کلاسهای این سایت یکی از همکاران من دروس Visual Basic را برای شما عزیران تدریس می کنند که بسیار مفید و پرمحتوا می باشد و شما تما با دنبال کردن دروس این همکار عزیز براحتی کار با مدولها را یاد خواهید گرفت و من نیز شما را در این راه یاری خواهم کرد.
پس از پایان کار با مدول می توانید از منو File و گزینه Close اقدام به بستن مدول بکنید
درک ارتباط بین جداول:

قبلا گفته شد که جداول از طریق فیلدهای مشترک به یکدیگر مرتبط هستند. هرچند که فیلدهای مشترک مرتبط شده, سبب تکرار برخی داده ها میشوند.(در هرجدولی که به دیگری مرتبط است خود فیلد مشترک دوباره ظاهر می شود), ولی خواهید دید که وقتی قدام به ایجاد پایگاه داده می کنید, فیلد مشترک کمک می کند تا بسیاری از داده های تکراری, که در صورت نبود فیلد مشترک ایجاد می شود, از بین ببرید.
ممکن است واژه شناسی پایگاه داده ها گیج کننده باشد اما خوشبختانه ساده ترین زبان زبان ارتباطی است, که چگونگی ارتباط جداول به یکدیگر را تعریف می کند. در این درس به سه روش ارتباط خواهیم پرداخت: 1-ارتباط یکی به یک 2-ارتباط یک به چند 3-ارتباط چند به چند

فیلدهای کلیدی منحصر به فرد رکوردها:

قبل از تشریح ارتباطات جداول, دقت داشته باشید که اغلب جداول پایگاه داده, فیلدی به نام فیلد کلید دارند, که به سایر فیلدهای جدول تقدم دارد. هرچند که فیلد کلید لزوما مهمترین ارزش اطلاعاتی را ندارد, ولی دری هستند برای ورود به جدول که نیاز اصلی ما در ارتباط شمرده می شود.فیلد کلید, فیلدی از جدول است که بصورتی منحصر به فرد هر رکورد را تبیین می کند.(یعنی امکان اینکه فیلد کلید در دو رکورد مانند هم باشند وجود ندارد.)
توجه: فیلد کلید اصلی جدول باید مقداری منحصر به فرد داشته باشد. اکسس امکان تعیین چندین فیلد کلید را می دهد. اگر کلید از چندین فیلد تشکیل شده باشد, یک یا چند تا از این فیلدها ممکن است داده های تکراری داشته باشندولی وقتی ترکیب شوند, فیلد ادغامی باید مقدار منحصر به فردی را ایجاد کند. توجه بیشتر به این مثال خالی از لطف نیست: جدول کارمندان معمولا شامل فیلدهایی از قبیل نام کارمند, نشانی, تاریخ تولد, میزان حقوق می شود. بعلاوه همیشه مانند کد ملی, یک شماره کارمندی دارند. کد ملی شما منحصر به فرد است یعنی تنها به یک نفر اختصاص دارد بنابراین این شماره کارمندی فیلد کلیدی خوبی برای فایل کارمندان است. به شکل 61 در زیر توجه کنید:

برای دسترسی به نام, نشانی یا حقوق هر کارمند, صرفنظر از تعداد کارمندان جدول اکسس فقط به شماره کارمند احتیاج دارد.هر کارمند شماره منحصر بفردی دارد لذا هنگامی که اکسس یکبار شماره کارمندی را گرفت, می تواند آنرا با رکوردی از جدول پیوند دهد, یکبار برای هر رکورد. به این ترتیب اکسس می تواند به بقیه داده های رکورد در سایر فیلدها دسترسی داشته باشد.
توجه: اسامی فیلدها کلیدهای خوبی نیستند, چون افراد بسیاری نام یکسان دارندو یا بسیاری از افراد اسامی را به شکلهای گوناگون می نویسند. زمانی که یک شرکت به مشتریان, کارمندان و اجناس خود عددی را تخصیص می دهد, احتمالا آن شرکت پروژه هایش را کامپیوتری کرده است. این اعداد می تواند کلید منحصر به فردی برای یافتن بقیه داده های مرتبط با آن باشند.
همچنین باید به نکته توجه داشته باشید که فیلد کلید همواره فیلد ارتباط دوجدول مرتبط نیست ولی برای این کار بسیار مناسب است و غالبا برای همین منظور به کار می رود.
دو یا چند فیلد نیز می توانند یک کلید منحصر به فرد را تشکیل دهند. اغلب به فیلد کلید, فیلد کلید اصلی گفته می شود. اگر بخواهید که دو یا چند فیلد همراه با یکدیگر به عنوان کلیدی منحصر به فرد عمل کنند, باید اکسس را وادارید تا فیلدهای ادغام شده را به عنوان یک فیلد منحصر به فرد در نظر گیرد. مثلا ممکن است بخواهید که دو فیلد نام خانوادگی و کد پستی را یکدیگر ادغام کنید تا فیلد کلید نحصر به فردی ایجاد شود.
حال که با مفهوم فیلد کلید برای ارتباط آشنا شدید به انواع ارتباط موجود در اکسس می پردازیم:

ارتباطات یک به یک(One to One):

شاید ارتباط یک به یک نادرترین ارتباط ممکن بین جداول باشد. هنگامی که در دو جدول تعداد رکوردها یکسان باشد و هر رکورد یک جدول به رکورد دیگری در جدول دیگر مرتبط باشد, بک ارتباط یک به یک بوجود می آید. ارتباط یک به یک نادرست است چون معمولا می توانید آن دو جدول را در یک جدول ادغام کنید.
در شکل 62 در زیر مثالی از ارتباط یک به یک بین دو جدول نشان داده شده است. فیلد کد کالا کلید و فیلد ارتباط را تشکیل می دهد. نخستین رکورد در نخستین جدول به نخستین رکورد در دومین جدول مرتبط شده است.



خود شرکت ماکروسافت توصیه می کند که از ارتباط یک به یک اجتناب کنید. زیرا بهتر آن است که دو جدول را در یک جدول بزرگتر ادغام کنید, که این طریقه بسیار کارآتر است. در اکسس هر جدول می تواند تا 256 فیلد داشته باشد ولی اگر وجود جدولی با بیش از 256 فیلد ضرورت داشته باشد,فقط با ایجاد دو یا چند جدول و برقراری ارتباط یک به یک بین آنها, قادر به برآوردن این نیاز خواهید بود. که برای این منظور هم ماکروسافت امکانات بسیاری را فراهم آورده است از ان جمله امکان دسترسی سریع به اطلاعات جدول دوم از طریق جدول اول بدون باز کردن آن جدول.

ارتباط یک به چند(One to Many):

ارتباط یک به چند شاید متداولترین نوع ارتباط بین جداول باشد. این ارتباط زمانی اتفاق می افتد که یک رکورد از جدول به یک یا چند رکورد از جدول دیگر مرتبط باشد. به عنوان مثال در جدول موجودی برای هر کالایی که فروخته می شود, یک رکورد وجود دارد. ولی در جدول سفارشات مشتریان ممکن است برای یک کالا, سفارشات متعددی وجود داشته باشد. در شکل 63 در زیر نمونه ای از ارتباط یک به چند جداول مشاهده می شود.


ارتباط یک به چند صرف جویی زیادی در فضای دیسک را سبب می شود. مثلا ارتباط یک به چندی که در شکل 63 در بالا نشان داده شد, به شما امکان می دهد تا گزارشی تهیه کنید که شامل مشتری همراه با شرح کالای سفارشی باشد. ولی شرح در هر رکورد سفارش نمی آید. شرح هرکالا در جایی مستقل,در رکوردی منحصر بفرد در فایل موجودی قرار دارد. اکسس می تواند در هنگام نیاز, با استفاده از فیلد ارتباطی مشترک از جدول سفارش در جدول موجودی جستجو کند و شرح کالا را از آنجا بردارد. اکسس بدون فیلد کلید نمی تواند تعیین کند که در برابر هر سفارش چه شرحی را باید قرار دهد.
توجه داشته باشید که اکسس جدولهای مرتبط را می شناسدو در موقع لزوم اطلاعات صحیح را از آنها استخراج می کند. لذا باید هنگام ایجاد پایگاه داده اکسس این ارتباطات را به اکسس بفهمانید تا در هنگام مشاهده و چاپ داده ها از جداول مرتبط اکسس تمام کارها را انجام دهد.
همچنین قابل ذکر است که ارتباط چند به یک و یک به چند مشابه هستند, لذا هر دو عبارت به یک معنی به کار می روند.

ارتباطات چند به چند(Many to Many):

اکسس ارتباطات چند به چند را مستقیما پشتیبانی نمی کند ولی می توانید آن را شبیه سازی کنید. ارتباط چند به چند هنگامی ایجاد می شود که رکوردهای متعددی از یک جدول به یک یا چند رکورد از جدول دیگر مرتبط باشند. براساس تصاویر جداولی که قبلا مشاهده کرده اید, می توان چنین تصور کرد که خریداران متعددی, محصولات متعددی را سفارش دهند. بنابراین بین خریداران و محصولات یک ارتباط چند به چند وجود دارد.
جدول خریداران و جدول موجودی محصولات از طریق جدول سفارش به هم متصل می شوند.بنابراین برای ارتباط چند به چند بین خریداران و موجودی محصولات, جدول سفارشات بعنوان واسطه بین این دو جدول عمل می کند.جدول خریداران ارتباطی یک به چند با جدول سفارشات دارد و جدول محصولات نیز ارتباطی یک به چند با جدول سفارشات دارد.پس همانطور که در شکل 64 در زیر می بینید جدول سفارشات بطور غیر مستقیم بین خریداران و محصولات ارتباط چند به چند ایجاد می کند.


گاهی اوقات, جدول مرکزی یا واسطه در ارتباط چند به چند جدول اتصال خوانده می شود. فیلدهای کلید اصلی هر دو جدولی که قرار است به هم مرتبط شوند, باید در این جدول وجود داشته باشد.
درس ارتباطات هم در این قسمت تمام شد و امیدوارم دیگر جای ابهامی در مورد انواع ارتباطات باقی نمانده باشد.

طراحی یک پایگاه داده های جدید

در درس پیش در مورد ارتباطات جداول به طور مفصل توضیحاتی دادیم و انواع ارتباطات را شناختیم حال دیگر قادر به ایجاد پایگاه داده دلخواه خود هستیم و این کار را به تدریج از این درس که مقدمی بر ایجاد پایگاه داده جدید است آغاز می کنیم.
در این درس در مورد جادوگرهای اکسس (Wizards) صحبت خواهیم کرد. این جادوگرها شما را در ایجاد برنامه های کاربردی متداول پایگاه داده ها, از قبیل مدیریت فهرست پستی یا ورود سفارشات راهنمایی می کنند.هرچند که نیازهای شما به کار خاص موردنظر یا احتیاجات شخصیتان مربوط است, اما بیشتر پایگاه داده ها به یکی از نمونه های کلی پایگاه داده تعلق دارند. جادوهای اکسس چهارچوب پایگاه داده برنامه کاربردی را ایجاد می کنند, در مرحله بعد شما می توانید آن را اصلاح کنید تا با نیازهای خاص شما تطابق داشته باشد. اما به هرحال برای ایجاد پایگاه داده مجبور به استفاده از جادوگر نیستید. شاید جادوگرها به کنترل مورد نظر شما به عنوان یک پایگاه داده امکانات لازم را فراهم نکنند.

ایجاد پایگاه داده های جدید با استفاده از جادوگر:

برای ایجاد یک پایگاه داده با بهره گیری از جادوگر(Wizard) باید هنگام وارد شدن به اکسس از طریق پنجره اولیه قسمت Access database wizards,pages and projects را انتخاب کنید و یا اگر وارد محیط اکسس شده اید از منو File گزینه New را انتخاب کنید,تا پنجره محاوره ای New که دارای دو سربرگ است ظاهر شود.
هنگامی که سربرگ General (عمومی) را انتخاب می کنید, صفحه General ظاهر می شود که با آن می توانید یک پایگاه داده خالی ایجاد کنید. در دروس بعدی نحوه ایجاد یک پایگاه داده خالی را شرح خواهم داد. اصولا زمانی پایگاه داده خالی لیجاد می کنیم که بخواهیم تمامی جنبه های اولیه طراحی و ایجاد پایگاه داده را کنترل کنیم. زمانی که یک پایگاه داده جدید و خالی ایجاد می کنیم اکسس کاری برای شما انجام نمی دهد و هیچ پیش فرضی راجع به پایگاه داده ای که می خواهید ایجاد کنید,ندارد.
ولی به جای ایجاد یک پایگاه داده خالی می توانید بر روی سربرگ Databases کلیک کنید تا صفحه Databases در پنجره محاوره ای New, نمایان شود. توجه داشته باشید که جادوگر راهنمای گام به گام اکسس است که در انجام کارهایی از قبیل ایجاد پایگاه داده جدید به شما کمک می کند. اگر اکسس جادوگری داشته باشد که امکان ایجاد پایگاه داده ای مشابه آنچه لازم دارید را فراهم سازد راحتتر آن است که بجای این که از ابتدا پایگاه داده ایجاد کنید, جادوگر را به کار اندازید. در زیر هر یک از پایگاه داده هایی که توسط جادوگر می توان ایجاد کرد تشریح شده است, برای اجرای آن کافی است که نماد مربوطه را انتخاب کنید و بر روی کلید Ok کلیک کنید.
حال به جادوگرهای موجود و کاری که برای شما در اکسس انجام می دهند توجه کنید:
------------------
Asset Tracking(پیگیری اموال): پایگاه داده ای برای مدیریت, نگهداری اموال, فروشندگان و کارمندان شرکت ایجاد می کند.
Contact Managment(مدیریت ملاقاتها): پایگاه داده ای برای قرارهای ملاقات و تماسهای تلفنی شخصی شما ایجاد می کند.
Event Managment(مدیریت وقایع):یک پایگاه داده برای وقایعی مانند قراردادها(موافقت نامه ها), کارمندان و قیمتها ایجاد می کند.
Expenses(مخارج و هزینه ها):یک پایگاه داده برای نگهداری گزارشهای مخارج ایجاد می کند.
Inventory Control(کنترل موجودی):پایگاه داده ای برای اطلاعات محصولات, خریداران و سفارشات ایجاد می کند.
Ledger(حساب کل): پایگاه داده ای برای حسابهای کل, شامل تبادلات و حسابها ایجاد می کند.
Order Entry(دریافت سفارش): پایگاه داده ای برای مدیریت سفارشات خریداران, پرداختها و محصولات ایجاد می کند. در این پایگاه داده سیستمی از جداول ایجاد میشود که تاحدودی به جداولی که در قبلا در درسهای پیش شرح دادیم تطابق دارد.
Resource Scheduling(زمانبندی منابع): پایگاه داده ای برای مدیریت منابعی از قبیل زمانبندی و اقلام خریداران ایجاد می کند.

Service Call Managment(مدیریت سرویس تلفن):

پایگاه داده ای برای نگهداری اطلاعات خریداران, کار, دستورات کار, قطعات و پرداختها ایجاد می کند. Time and billing(زمان و صورتحساب): پایگاه داده ای برای نگهداری مشتریان, پروژه ها, کارتهای زمانی, کارمندان و پرداختها ایجاد می کند.
-------------------
توجه کنید که اگر جادوگری انتخاب کنید در همان پنجره New در طرف راست زیر قسمت Preview شکلی هدف پایگاه داده را که چندان واضح نیست نشان می دهد یعنی شما می توانید با انتخاب پایگاه داده ابتدا از هدف ایجاد آن از طریق این شکل مطلع شوید و سپس برروی Ok کلیک کنید.
جادوگر نه تنها جداول اصلی پایگاه داده را ایجاد می کند, بلکه همچنین فرمها, گزارشها و حتی ماکروها و برنامه های اصلی را نیز در صورت لزوم ایجاد می کند. استفاده از جادوگر برای ایجاد پایگاه داده اصلی, تهیه پایگاه داده اصلی را بسیار ساده تر می کند. بطور خلاصه مراحل ایجاد یک پایگاه داده با استفاده از جادوگر را شرح می دهم:
1-جادوگر مورد نظر خود را در پنجره New انتخاب کنید و بر روی Ok کلیک کنید.
2-نامی برای ذخیره شدن پایگاه داده انتخاب کنید یا نام پیش فرض را قبول کنید و بر روی Create کلیک کنید.
3-پنجره ای ظاهر می شود که پایگاه داده ای را که می خواهید ایجاد کنید به شما معرفی می کند و شکل کلی آن را اعلام می کند. اگر این همان پایگاه داده مورد نظر شماست بر روی Next کلیک کنید.
4- در پنجره بعدی در مورد جداول و دیگر اجزایی که ایجاد خواهد شد به شما اطلاعاتی می دهد شما می توانید از لیست موجود جدولهای مورد نظر خود را انتخاب یا حذف کنید و سپس بر روی Next کلیک کنید.
5-در پنجره بعدی لیستی ظاهر می شود که شما می توانید شکل ظاهری پایگاه داده خود را از لیست انتخاب کنید شکل مورد علاقه خود را انتخاب کرده بر روی Next کلیک کنید.
6-در پنجره بعدی شکل کلی گزارشهای شما را نشان می دهد در این قسمت هم با انتخاب شکل موردنظر خود روی Next کلیک کنید.
7-در این قسمت عنوان پایگاه داده از شما سوال می شود می توانید نام پیش فرض را انتخاب کرده و بر روی Next کلیک کنید.
8- حال دیگر کار جادوگر تمام شده است می توانید بر روی Finish کلیک کنید.
9- بعدی مدتی که اکسس تمامی جداولها و اجزا را ایجاد کرد می توانید با پایگاه داده کار کنید. توجه کنید که در هر مرحله ای که منصرف شدید می توانید بر روی Cancel کلیک کنید.
10-ذکر این نکته نیز ضروری به نظر می رسدبعضی از سوالها که در هنگام ایجاد پایگاه داده با استفاده از جادوگر از شما می شود شاید برای شما گنگ به نظر برسد ولی مطمئنا بعد از یادگیری کامل این سوالات را می توانید به راحتی جواب دهید. پس حتما باید با ایجاد یک پایگاه داده خالی آشنا شوید.

طراحی یک پایگاه داده جدید:

اگر قصد دارید که از جادوگر استفاده نکنید که به نظر من کار معقولانه ای است باید مراحل زیر را بپیمایید:
1-هنگام وارد شدن به اکسس از پنجره اولیه باز شده گزینه Blank access database راانتخاب کنید و اگر وارد محیط اکسس شده اید می توانید از منو File گزینه New را انتخاب کنید و از پنجره New در سربرگ General شکل database را انتخاب کرده و برروی Ok کلیک کنید.
2- حال باید محل ذخیره شده پایگاه داده را انتخاب کرده و نامی برای آن انتخاب کنید که من مطمئن هستم با اینکار آشنایی لازم را دارید پس نامی برای پایگاه داده خود انتخاب کرده و بر روی Create کلیک کنید.
3- حال اکسس پایگاه داده را ایجاد کرده و صفحه خالی در برابر شما ظاهر شده است از این قسمت به بعد باید آشنایی لازم را به کارهای پیشرفته داشته باشید.
توجه کنید که هنگامی اصول کار اکسس را رفته رفته بهتر یاد گرفتید جادوگرها هم بهتر درک خواهید کرد.

میله ابزار پنجره Database:

هنگامی که یک پایگاه داده جدید ایجاد کرده باشید میله ابزار به صورت شکل 71 در زیر درمی آید. این میله ابزار در حالات مختلف تغییر می کند و امکانات دیگری را به شما می رساند.