مقالات کارگشا

گام به گام تهیه صورت وضعیت با اکسس (Access)-بخش اول

آشنایی با نرم افزار اکسس (Access)

اگر با کامپیوترهای شخصی زیاد کار می کنید، بی تردید از واژه پردازها یا برنامه های کاربردی صفحه گسترده در کارهای خود استفاده می نمایید. از اکسل (Excel) می توان به عنوان نمونه ای بارز از اینگونه برنامه ها نام برد. اکنون مدت های طولانی است که برنامه های بانک اطلاعاتی برای استفاده کلیه کاربران کامپیوترهای شخصی به بازار ارائه شده اند، ولی متاسفانه بیشتر این برنامه ها، یا برنامه های مدیریت ساده ذخیره سازی داده ها می باشند که برای ساخت برنامه های کاربردی مناسب نمی باشند و یا سیستم های پیچیده توسعه برنامه های کاربردی هستند که یادگیری و استفاده از آنها سخت می باشند. امروزه حتی افرادی که با کامپیوتر به خوبی آشنایی دارند نیز از سیستم های بانک های اطلاعاتی پیچیده دوری می کنند مگر اینکه مجبور به استفاده از یک بانک اطلاعاتی اختصاصی تکمیل شده باشند. اکنون با ارائه Access مایکروسافت، یک سیستم بانک اطلاعاتی ساده در اختیار مهندسین عمران و دست اندرکاران حوزه ساخت و ساز می باشد و کاربران بسیاری برای ساخت بانک های اطلاعاتی ساده و کاملا پیشرفته از آن استفاده می کنند.
در صحبت با کاربران و توسعه دهندگان برنامه های کاربردی، متوجه شدم که اکسس یک محصول غیر قابل فهم است. بسیاری از مردم فکر می کنند که اکسس فقط یک اسباب بازی در دست مدیران یا منشی هایی است که می خواهند با داده ها بازی کنند. بعضی دیگر فکر می کنند که اکسس یک محصول جدی برای توسعه دهندگان با تجربه برنامه های کاربردی است. این سلسله مباحث پیرامون برنامه کاربردی اکسس، این برنامه را از حالت افسانه ای آن خارج کرده و به شما کمک می کند تا دریابید که اکسس چه هست و چه نیست. نکته ای که باید مراقب آن باشید این است که استفاده از اکسس به گونه ای فریبنده ساده است. ویزاردهای زیبای آن باعث می شود که به نظر برسد اکسس محصولی بسیار ساده است که هر کسی می تواند از آن استفاده کند ولی در حقیقت این نرم افزار بدون برنامه ریزی مناسب می تواند به بلایی گیج کننده تبدیل شود که جز اتلاف وقت و بی نتیجه بودن ثمره ای در بر نخواهد داشت.
اگر تاکنون به علت نیاز به مهارت های برنامه نویسی یا به علت نیاز به صرف وقت زیاد جهت یادگیری کار با بانک های اطلاعاتی، از نرم افزارهای بانک های اطلاعاتی دوری گزیده اید، اکنون می توانید بدون واهمه از علل فوق کار با برنامه ساده و آسان Access را شروع کنید.
به یاد دارم که اولین بار در سال 1383 و در پروژه سد و نیروگاه با مهندسی آشنا شدم که کلیه کارهای متره و صورت وضعیت بدنه سد، تونل های آبرسان و سرریز سد و عملیات خاکی را در کمتر از چهار روز با این برنامه کاربردی انجام می داد. از آن روز تا به حال در این فکر بودم که این برنامه کاربردی را برای نوشتن صورت وضعیت ها فرا بگیرم و خوشحالم که این دوره چند جلسه ای را با هم آغاز می کنیم و امیدوارم در جهت اعتلای سطح کیفی استفاده از نرم افزارها در کارگاه ها قدمی هر چند کوچک بردارم.
ما در این سلسله مباحث به منظور تهیه صورت وضعیت ها و برخی فرم های متداول کارگاه های عمرانی، بعد از آشنایی مختصر با عملکرد هر یک از بخش های این برنامه کاربردی بی درنگ اقدام به ساخت فرم ها و جداول می کنیم و از کلیه همراهان گرامی خواهشمندم به منظور آشنایی بیشتر با این مبحث، در کنار مباحث مطرح شده اقدام به مطالعه بیشتری در این خصوص نمایند و ما را با ارائه پیشنهادات سازنده خود یاری نمایند.

آشنایی با مفهوم بانک اطلاعاتی

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

بانک های اطلاعاتی رابطه ای

تقریبا کلیه سیستم های جدید مدیریت بانک اطلاعاتی، اطلاعات را با استفاده از الگوی مدیریت رابطه ای بانک اطلاعاتی، ذخیره و اداره می کنند.این سیستم کلیه اطلاعات را از طریق جداول (Tables) کنترل می کند. هر جدول دارای ستون ها (Columns) یا همان فیلدها (Fields) می باشد که هر ستون حاوی اطلاعات مختلفی درباره موضوع (مثلا یک ردیف یا آیتم فهرست بها که در هر ستون می تواند شماره آیتم، شرح عملیات، واحد و بهای واحد درج شده باشد) می باشد و نیز یک جدول دارای ردیف ها (Rows) یا رکوردها (Records) است که کلیه مشخصه های یک نمونه از موضوع در آنها ثبت می شوند. حال زمانی که از جداول مختلف یک بانک اطلاعاتی پرس و جو (Query) می کنیم (آوردن اطلاعات از یک یا چند جدول)، همیشه نتیجه شبیه جدولی دیگر و جدید به نظر خواهد رسید.
اصطلاح رابطه ای (Relational) از این واقعیت ناشی می شود که هر جدول در یک بانک اطلاعاتی حاوی اطلاعات مربوط به یک موضوع و فقط یک موضوع می شود. در واقع اطلاعات مورد نیاز برای یک ردیف جدول که مربوط به دو دسته از اطلاعات می باشد (مثلا ورود و تایپ اطلاعات مربوط به آیتم های فهرست بها از قبیل شرح ردیف و یا بهای واحد که مقداری ثابت می باشد برای درج در برگه های ریزمتره امری زائد می باشد و می توان این اطلاعات را از جداول بانک اطلاعاتی و از طریق ارتباطات فراخوانی نمود) بنابراین در یک سیستم رابطه ای بانک اطلاعاتی، اطلاعات مربوط به هر آیتم دارای ستون هایی است که اطلاعاتی مانند شماره آیتم فهرست بها را ذخیره می کند و از این فیلد می توان برای برقراری ارتباط و اخذ هر نوع اطلاعات مربوط به این آیتم استفاده نمود.
در اینجا با چند اصطلاح مربوط به بانک اطلاعاتی پایگاه داده های رابطه ای آشنا می شویم
Relation : اطلاعات درباره فقط یک موضوع مانند اطلاعات مربوط به صورتمجالس، اطلاعات مربوط به آیتم های فهرست بها و موارد مشابه. این اطلاعات معمولا در سیستم مدیریت رابطه ای بانک اطلاعاتی در یک جدول (Table) نگهداری می شوند.
Attribute: اطلاعات ویژه درباره یک موضوع، مثل شماره آیتم فهرست و یا شرح آیتم. مشخصه های فوق معمولا در ستون (فیلد) یک جدول قرار داده می شوند. بنابراین ستون یا فیلد همان قطعه ای از اطلاعات درباره یک شیء
Instance : یک عضو مخصوص در یک رابطه (مثل یک آیتم مشخص از فهرست بها). این جزء معمولا در جدول به صورت یک رکورد یا در ردیف نگهداری می شود. بنابراین سطر یا رکورد مجموعه ای از اطلاعات درباره یک موجودیت نظیر یک آیتم فهرست بها می باشد.
Relationship : روشی که در آن اطلاعات در یک جدول مربوط به اطلاعات در جدول دیگر می شود. این رابطه می تواند یک-یک و یا یک-چند و یا چند-چند باشد. 
Join : پروسه به هم پیوستگی جدول ها یا پرس و جوها در جدول ها از طریق مقدارهای داده های مربوط به هم. برای مثال می توان هر آیتم فهرست بها را با شماره آیتم در یک جدول به احجام آن در جداول دیگر مربوط ساخت. بنابراین برای این اتصال باید یک شماره منحصر به فرد برای هر آیتم داشته باشیم. در این مورد نیاز است که شماره آیتم های تکراری در فهرست بهای ابنیه، برق و مکانیک را با تعاریفی مشخص از یکدیگر متمایز نمود تا منحصر به فرد بودن آیتم ها در جداولی که از دو فهرست بها اطلاعات دریافت می کنند رعایت شود.

آغاز کار با مایکروسافت اکسس

قدم نخست برای کار با اکسس، راه اندازی مایکروسافت اکسس است. این برنامه را می توان توسط منوی Start یا از طریق میانبر موجود در صفحه دسکتاپ راه اندازی کرد. بعد از باز شدن برنامه، می توانید یک الگوی از پیش تعریف شده را برای کار انتخاب نمایید و یا اینکه بانک اطلاعاتی موجود را باز نمایید. هر بانک اطلاعاتی یک فایل مجزاست که شامل Object هایی مانند جداول، پرس و جوها، فرم ها و گزارش ها می باشد. بانک اطلاعاتی به عنوان یک فایل روی کامپیوتر شما ذخیره می شود. باز کردن بانک اطلاعاتی مشابه دیگر محصولات آفیس می باشد. باید توجه نمود که در هر لحظه فقط یک بانک اطلاعاتی می تواند باز باشد. بنابراین هنگامی که یک بانک اطلاعاتی را باز می کنید، اکسس به طور خودکار بانک اطلاعاتی جاری را می بندد. برای آشنایی بیشتر در این قسمت هر یک از اجزای بانک اطلاعاتی را به اختصار بیان می کنیم.

  • جداول (Tables) : مخزنی برای داده ها

جداول نقطه شروع برای ایجاد یک بانک اطلاعاتی هستند. در واقع جداول مجموعه ای از داده ها هستند که برای یک نوع موجودیت خاص اطلاعات ذخیره می کنند. بنابراین نمی توان اطلاعات مربوط به صورتمجالس احجام عملیات اجرایی را در جداول فهرست بها ذخیره نمود و باید هر یک از این دسته اطلاعات را که دارای موجودیت متفاوتی می باشند را در جداولی جداگانه ذخیره نمود. برای مشاهده داده های درون یک جدول باید بر روی نام جدول دبل کلیک نمایید و یا اینکه بعد از انتخاب جدول و کلیک راست موس، گزینه Open را انتخاب نمایید. شما اغلب به عنوان یک کاربر یا توسعه دهنده ماهر اکسس برای مشاهده طرح جدول و یا انتخاب نحوه نمایش یک جدول بعد از بازکردن جدول مربوط، با انتخاب آیکون View و سپس انتخاب گزینه Design View می توانید نام تمامی فیلدها، انواع داده ها و خصوصیات فیلدها و جداول را مشاهده کرده و حتی آنها را تغییر دهید. اکسس به شما قدرت و انعطاف پذیری لازم برای سفارشی کردن طرح جداول را می دهد.

  • روابط (Relationship) : ایجاد ارتباط بین جداول

برای حفظ کامل صحت داده ها و تسهیل کار با اشیاء دیگر بانک اطلاعاتی، باید روابط بین جداول موجود در بانک اطلاعاتی را تعریف کنیم. این کار با استفاده از پنجره Relationship انجام می گیرد. برای مشاهده این پنجره بر روی زبانه Database Tools کلیک نموده و با فشردن آیکون Relationships پنجره مربوط را باز می کنیم. در این پنجره می توانید رابطه های موجود در بانک اطلاعاتی را مشاهده و ذخیره کنید. از کلیدهای موجود در این فضا می توانید برای مخفی نموئن جداول، ایجاد روابط بین جداول، ویرایش روابط موجود و غیره استفاده نمایید. در آینده روند ایجاد روابط و ذخیره آن را به تفصیل بیان خواهیم نمود.

  • پرس و جوها (Queries) : پرسش های ذخیره شده یا کارهایی برای اعمال روی داده ها

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

  • فرم ها (Forms) : وسیله ای برای نمایش، تغییر و اضافه کردن داده ها

با اینکه می توانید در نمای Datasheet یک جدول، داده هایی را وارد کرده و تغییر دهید، اما نمی توانید در این نما عملیات کاربر را به خوبی کنترل کنید و یا کار زیادی برای تسهیل فرایند ورود داده ها انجام دهید. اینجاست که فرم ها به کمک می آیند. فرم های اکسس بسیار انعطاف پذیر و قدرتمند می باشند. یکی از بهترین روش ها برای ورود اطلاعات صورتمجالس و یا آیتم های قیمت جدید به جداول مربوطه، استفاده از فرم ها می باشد که در مورد آن به تفصیل توضیح خواهیم داد.

  • گزارش ها (Reports) : تبدیل داده ها به اطلاعات

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

طراحی بانک های اطلاعاتی

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

تحلیل و طراحی داده ها

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

برای هر عنصر داده ای باید موارد زیر را تعیین کنید:

  • نوع داده مناسب (متن، حروف، تاریخ و غیره)
  • اندازه مورد نیاز
  • قوانین اعتبار سنجی

همچنین باید معین کنید که آیا کاربر اجازه دارد هر عنصر داده ای را به روز کند و آیا خود کاربر اطلاعات به روز رسانی را وارد می نماید یا سیستم آن را محاسبه می کند.

گام به گام تهیه صورت وضعیت با اکسس (Access)-بخش دوم

گام به گام تهیه صورت وضعیت با اکسس (Access)-بخش دوم

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

آشنایی با جداول در اکسس

جداول پایه همه برنامه های کاربردی اکسس می باشند. در کار با جداول، نخستین کاری که باید قادر به انجام آن باشید باز کردن آنها در نمای Datasheet و پیمایش آنها است. در این بخش با موارد زیر آشنا می شویم :

  • چگونه داده های جداول را مشاهده و پیمایش کنیم
  • چگونه داده های جداول را ویرایش کنیم
  • چگونه به یک جدول رکوردهایی را اضافه کنیم
  • چگونه رکوردهایی را انتخاب و حذف کنیم
  • چگونه داده های جدول را یافته و جایگزین کنیم
  • چگونه فیلترهایی را اعمال و حذف کنیم
  • چگونه ظاهر یک برگه داده را تغییر دهیم
  • چگونه از ویژگیهای Spell Check (کنترل املایی) و Auto Correct (تصحیح خودکار) استفاده کنیم

مشاهده و پیمایش داده های جدول

جداول پایه همه کارهایی هستند که در اکسس انجام می دهید. اکثر داده های یک بانک اطلاعاتی در جداول قرار می گیرند، بنابراین اگر یک بانک اطلاعاتی برای صورت وضعیت کارگاه ایجاد می کنید، داده های مربوط به اطلاعات آیتم های فهرست بهای ابنیه در یک جدول، فهرست بهای برق در یک جدول، فهرست بهای مکانیک در یک جدول، مقادیر مربوط به صورتمجالس احجام عملیات اجرایی در یک جدول و غیره دخیره می شوند. هر جدول شامل داده هایی درخصوص یک موضوع یا عنوان مشخص است. جداول بر اساس سطرها یا ستون ها مرتب می شوند درست شبیه به برنامه اکسل (Excel). ستون ها فیلدها را نشان می دهند و سطرها رکوردها.

قبل از بررسی موضوعات مرتبط با جداول با برخی واژه های مرتبط با جداول آشنا می شویم:

  • فیلد کلید اولیه : یک فیلد یا ترکیبی از فیلدها در یک جدول که هویت هر سطر جدول را به طور منحصر به فرد مشخص می کند.
  • فیلد کلید طبیعی : فیلد کلید اولیه که به طور طبیعی قسمتی از داده های درون جدول است (مانند شماره آیتم فهرست بها) معمولا بهتر است از یک فیلد کلیدی برنامه ریزی شده مانند فیلد AutoNumber به عنوان فیلد کلید اولیه استفاده کنید تا یک فیلد کلید طبیعی.
  • فیلد کلیدی مرکب : یک فیلد کلید اولیه تشکیل شده از چند فیلد جدول که این گزینه نیز مناسب نمی باشد و استفاده از AutoNumber ارجحیت دارد.
  • رابطه : ارتباط دو جدول در یک بانک اطلاعاتی که یک مقدار کلیدی مشترک دارند.
  • فیلد کلید خارجی : فیلدی از رابطه چند طرفه یک-به-چند. در واقع در یک رابطه یک طرفه، جدول به فیلد کلید اولیه مرتبط است، در حالی که همان جدول در رابطه چند طرفه به فیلد کلید خارجی مر تبط می باشد. به عنوان مثال یک آیتم فهرست بها دارای مقادیر مختلفی در صورتمجالس احجام می باشد، بنابراین در حالیکه فیلد شماره آیتم فهرست بها فیلد کلید اولیه در جدول فهرست بها می باشد، فیلد کلید خارجی در جدول صورتمجالس احجام عملیات اجرایی می باشد.

ایجاد اولین جدول ساده با وارد کردن داده ها

برای ایجاد جداول و یا همان بانک های اطلاعاتی می توانیم از روش های زیر استفاده کنیم. به عنوان نمونه می خواهیم فهرست بهای ابنیه را در یک جدول وارد کنیم. اولین راه ورود تک تک اطلاعات به ترتیب برای هر سلول و از طریق تایپ محتوای آن می باشد. برای این منظور بعد از انتخاب هر سلول، اطلاعات مورد نظر را که می تواند شامل متن و یا حرف باشد را از طریق صفحه کلید در جدول وارد می کنیم. 
برای ایجاد یک جدول به تب Create رفته و با فشردن (کلیک) آیکون Table جدولی در نمای Datasheet View ساخته می شود. می توانیم با ایجاد ستون ها و ردیف های جدید مشابه کار در محیط اکسل، اقدام به تایپ محتوا و مقادیر در سلول های جدول کنیم.
پنجره Table  شامل ابزارهایی است که به شما اجازه می دهند تا فیلدها (ستون ها) و رکوردها (ردیف ها) را پیمایش کنید، از یک رکورد به رکورد دیگر بروید، رکوردهای مورد نظر را بسط دهید یا فشرده کنید تا بتوانید آنها را آشکار یا مخفی نمایید. 
زمانی که یک جدول را می بندید اکسس از شما می پرسد که آیا می خواهید تغییرات اعمال شده به طرح کلی (Layout) جدول را ذخیره کنید. درک این نکته بسیار مهم است که منظور اکسس از این سوال ذخیره تغییرات اعمال شده به داده ها نیست. اکسس تغییرات اعمال شده به داده ها را همان موقع که از یک رکورد به رکورد دیگر جابجا می شوید، ذخیره می کند. زمانی که یک جدول را می بندید و اکسس به شما پیام می دهد، درواقع از شما می پرسد که آیا می خواهید تغییرات قالب بندی (ظاهر جدول) اعمال شده همانند تغییر پهنای یک ستون در برگه داده ها را ذخیره کنید یا نه.

ویرایش داده های جدول

داده های یک جدول را می توانیم در نمای Datasheet  از یک جدول، در پنجره نتیجه یک پرس و جو، یا نمای Form از یک فرم تغییر دهیم. اکسس تغییرات اعمال شده به یک رکورد را بلافاصله پس از ترک رکورد ذخیره می کند.
اگر می خواهید تمام تغییرات اعمال شده به یک رکورد را لغو (Cancel) کنید، فقط کافیست کلید Ctrl+Z را فشار دهید تا اکسس تمام تغییراتی را که به آن رکورد اعمال کرده اید را لغو کند. سه حالت اینجا قابل تصور است:

  1. لغو تغییرات اعمال شده به فیلد جاری که با کلید Undo قابل برگشت است.
  2. لغو تغییرات پس از حرکت به فیلد دیگر که با کلید Undo قابل برگشت است.
  3. لغو تغییرات پس از ذخیره یک رکورد : اگر روی یک فیلد در یک رکورد تغییراتی را اعمال کنید و سپس به رکورد دیگری بروید، اکسس تمام تغییرات اعمال شده بر روی رکورد مورد نظر را ذخیره می کند اما تا زمانی که شروع به اعمال تغییرات روی رکورد دیگری نکرده اید، هنوز می توانید توسط کلید Undo تغییرات اعمال شده به رکورد قبلی را لغو نمایید. ولی در صورت ایجاد هر گونه تغییر در رکوردی، نمی توانید تغییرات اعمال شده در رکورد قبلی را لغو نمایید.

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

جستجو و جایگزین کردن رکوردها

هنگامی که با رکوردهای یک جدول بزرگ داده ها مشابه فهرست بها کار می کنید، معمولا به روشی صحیح برای مکان یابی رکوردهای خاص نیاز دارید. با استفاده از ویژگی Find می توانید به آسانی به رکوردهای خاص در جدول بروید و همچنین بعد از اینکه رکوردها را یافتید، می توانید متن درون آن ها را جایگزین نمایید. این موارد شبیه نرم افزار اکسل از طریق فشردن کلید های Ctrl+F قابل انجام می باشد.
علیرغم تشابه فراوان با نرم افزار اکسل برخی از آیتم ها را توضیح می دهیم:

  1. فیلد حاوی معیار مورد جستجو را انتخاب می کنیم.
  2. دکمه Find بر روی نوار ابزار را انتخاب نمایید. کادر محاوره ای Find and Replace ظاهر می شود.
  3. معیار مورد نظر را در کادر متن Find What تایپ کنید.
  4. با استفاده از لیست بازشوی Look In مشخص کنید که آیا می خواهید فقط فیلد جاری را جستجو نمایید یا همه فیلدهای جدول را.
  5. با استفاده از لیست بازشوی Match مشخص کنید که آیا می خواهید هر قسمتی از فیلد، کل فیلد یا شروع فیلد را جستجو کنید. 
    1. گزینه Any Part of Field هر سلولی که بخشی از آن کلمه مورد نظر ما است را نشان می دهد.
    2. گزینه Whole Field هر سلولی که کل محتوای آن کلمه مورد نظر ما است را نشان می دهد.
    3. گزینه Start of Field هر سلولی که ابتدای محتوای آن کلمه مورد نظر ما است را نشان می دهد.
  6. با استفاده از لیست بازشوی Search مشخص می کنید که می خواهید جستجو از موقعیت جاری مکان نما به طرف بالا، به طرف پایین و یا در همه جهات انجام شود.
  7. با استفاده از کادر کنترلی Match Case مشخص کنید که می خواهید جستجو نسبت به بزرگ و کوچک بودن حروف حساس باشد یا نه.
  8. با استفاده از کادر کنترلی Search Field as Formatted مشخص کنید که می خواهید داده ها را فقط بر اساس فرمت نمایش آنها بیابید.

 با هر دو گزینه Find و Replace می توان از کاراکترهای عمومی متعددی استفاده کرد. کاراکتر عمومی کاراکتری است که به جای یک کاراکتر ناشناخته استفاده می شود. لیست کاراکترهای عمومی شامل موارد زیر است:

  1.    *  : به عنوان جایگزینی برای تعدادی کاراکتر به کار می رود.
  2.   ? : به عنوان جایگزینی برای یک کاراکتر به کار می رود.
  3.   # : به عنوان جایگزینی برای یک عدد به کار می رود.

تذکر : گزینه Replace All را با کمی احتیاط استفاده کنید. به خاطر داشته باشید که تغییراتی که اعمال می کنید دائمی هستند. زمانی که از این گزینه استفاده می نمایید باید مطمئن شوید که یک نسخه پشتیبان (Backup) جدید از جدول خود دارید و از کاری که انجام می دهید، اطمینان کامل دارید.

فیلتر کردن محتوای فیلدها و رکوردها

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

تغییر ظاهر یک برگه داده

برای این کار باید مقداری آیکون به محیط اکسس اضافه کنیم. برای این منظور گام های زیر را به ترتیب انجام می دهیم:

  1. برای ایجاد یک Tab جدید (در منو بار) مراحل زیر را انجام می دهیم:
    1. ابتدا به تب File می رویم و بر روی گزینه Options کلیک می کنیم.
    2. از منوی سمت چپ بر روی Customize Ribbon کلیک می کنیم تا محتوای آن در سمت راست پنجره Access Options نمایش داده شود.
    3. در سمت راست این پنجره و در بخش Customize the Ribbon از منوی آبشاری گزینه Main Tabs را انتخاب می کنیم تا لیست تب های موجود در اکسس ما نمایش داده شود. مشاهده می شود که این لیست مقداری ناقص می باشد و باید هر تب مورد نیاز را به آن اضافه نماییم.
    4. برای اضافه نمودن یک تب به این بخش بر روی هر یک از تب های موجود کلیک راست می کنیم و گزینه Add New Tab را انتخاب می کنیم تا تب جدید ایجاد شود. بر روی این تب ایجاد شده کلیک راست نمودن و با انتخاب گزینه Rename نسبت به انتخاب نام مورد نظر برای آن اقدام می کنیم. (برای فعالیت های بعدی اسم این تب را Datasheet Options در نظر می گیریم.
  2. برای ایجاد یک گروه و یا زیر دسته بر روی این تب ایجاد شده کلیک راست می کنیم و گزینه Add New Gruop را انتخاب می کنیم.
    1. بعد از ایجاد سه گروه جدید در تب ایجاد شده نام یکی را Subdatasheet و نام دیگری را Formatting Datasheet و نام دیگری را نیز Spelling قرار می دهیم. حال ما در تب ایجاد شده Datasheet Options سه گروه با نام های فوق در اختیار داریم. در مرحله بعد اقدام به وارد نمودن دستورات مورد نیاز در این گروه ها می کنیم.
    2. در سمت راست پنجره Customize Ribbon و از بخش Choose commands From و از لیست آبشاری آن گزینه All Commands را انتخاب می کنیم.
    3. در لیست نمایش داده شده گزینه های Subdatasheet و گزینه Format Cells و Spelling را به ترتین برای گروه های ایجاد شده فوق انتخاب و از بخش میانی با فشردن کلید Add به تب و گروه های ایجاد شده وارد می کنیم.

حال ما یک تب جدید با نام Datasheet Options با سه گروه به نام های Subdatasheet  و Formatting Datasheet و Spelling داریم.
حال برای تغییر ظاهر یک برگه داده بر روی آیکون Format Cells کلیک می کنیم تا پنجره Datasheet Formatting باز شود. در این پنجره گزینه های مختلفی برای تغییر ظاهر یک جدول در دسترس می باشد که می توانیم از آنها برای سفارشی کردن ظاهر یک جدول استفاده کنیم.
همچنین با کلیک آیکون Subdatasheet و انتخاب گزینه های مختلف آن می توانیم داده های زیر برگه داده را در جدول مورد نظر نمایش داده، از حالت نمایش خارج و یا گزینه های مختلف دیگری انتخاب گردد که توضیح آن را به جلسات بعدی واگذار می کنیم.
همچنین با استفاده از  Spell Check و AutoCorrect برای تصحیح خطاهای ناشی از ورود داده ها، دقت داده های درون جدول را بهبود می بخشد. ویژگی کنترل املایی در مایکروسافت اکسس با سایر محصولات مایکروسافت آفیس مشترک است. بنابراین اگر با کنترل املایی در یک محصول مانند مایکروسافت Word آشنا هستید، این بخش برای شما آسان خواهد بود.

ساختن یک جدول جدید

راه های متعددی برای افزودن جدول جدید به یک بانک اطلاعاتی اکسس وجود دارد. می توانید جدول را از ابتدا طراحی کنید، جدول را از طریق یک برگه داده (با قالبی مانند صفحه گسترده) بسازید، جدول را از یک منبع دیگر وارد نمایید یا لینک به یک جدول خارجی ایجاد کنید. فرآیند ایجاد یک جدول جدید با انتخاب آیکون Table از تب اصلی Create آغاز می شود. شما می توانید با استفاده از فضای موجود اقدام به ایجاد یک جدول در نمای Design و یا با وارد کردن داده ها ایجاد نمایید.

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

گام به گام تهیه صورت وضعیت با اکسس (Access)-بخش سوم

گام به گام تهیه صورت وضعیت با اکسس (Access)-بخش سوم

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

طراحی یک جدول از ابتدا

طراحی جداول از ابتدا، موجب انعطاف پذیری بیشتر و تقویت اصول طراحی خوب می شود. انتخاب این روش احتیاج به دانش بیشتری در زمینه طراحی بانک های اطلاعاتی و جداول دارد اما به شما کنترل و دقت بیشتری نسبت به طراحی یک جدول از طریق نمای Datasheet می دهد. این گزینه به شما اجازه می دهد تا برای فیلدها، نام و نوع دلخواهی را انتخاب کرده و خصوصیات فیلد را تعریف کنید. برای اینکه یک جدول را از ابتدا طراحی نمایید، گزینه Tables را از تب Create انتخاب کرده و سپس روی آیکون Create Table in Design View دبل کلیک نمایید. پنجره Table Design نمایش داده می شود.

  1. هر فیلد جدول را با تایپ نام آن در ستون Field Name تعریف نمایید.
  2. به ستون Data Type بروید. نوع پیش فرض فیلد را که Text می باشد، انتخاب کنید یا برای انتخاب هر نوع دیگر از لیست بازشوی موجود استفاده نمایید.
  3. به ستون Description بروید و توصیفی برای داده ها وارد کنید. آنچه که در این ستون تایپ می نمایید، هنگام ورود داده در فیلد مورد نظر توسط کاربر، در نوار وضعیت ظاهر می شود.
  4. همه فیلدهای مورد نیاز را به این ترتیب وارد نمایید.
  5. برای ذخیره کار خود، ابزار Save روی نوار ابزار را کلیک نمایید. یک نام برای جدول انتخاب کنبد و سپس OK را کلیک نمایید. یک کادر محاوره ای ظاهر شده و به شما توصیه می کند که یک کلید اولیه ایجاد کنید. هر جدول باید یک کلید اولیه داشته باشد.

انتخاب نوع فیلد مناسب برای داده ها

نوع داده ای که برای هر فیلد انتخاب می کنید، می تواند به طور قابل توجهی روی کارایی و عملکرد یک برنامه کاربردی تاثیر بگذارد. سخت ترین قسمت در انتخاب نوع فیلد، دانستن این است که در هر موقعیت کدام نوع مناسب ترین است. در اکسس می توانید نوع فیلدهای زیر را برای داده های فیلدها انتخاب نمایید. 

  • فیلدهای Text : اکثر فیلدها از این نوع می باشند. بهتر است برای اعدادی که در محاسبات شرکت داده نمی شوند مانند شماره ایتم فهرست بها از نوع فیلد Text استفاده کرد. زیرا نیاز به صفر ابتدا داریم که در نوع Number نمایش داده نمی شود.
  • فیلدهای Number : برای زمانی که به محاسبه نیاز دارید مناسب است. نظیر مقادیر و احجام مربوط به عملیات اجرایی.
  • فیلدهای Currency : برای ذخیره پول استفاده می شود. اگر قرار است مقادیر پول در محاسباتی شرکت داده شوند یا محاسبات نیازمند بالاترین میزان دقت هستند به جای استفاده از فیلد Number باید از یک فیلد Currency استفاده کنیم.
  • فیلدهای Memo : برای یادداشت ها و توضیحات بلند نظیر شرح آیتم های فهرست بها
  • فیلدهای AutoNumber : برای شناسه های منحصر بفرد رکورد مورد استفاده قرار می گیرد.
  • فیلدهای Date/Time : برای پیگیری زمان وقوع حوادث. از این فیلد برای ذخیره تاریخ ها و زمان های معتبر استفاده می شود. اکسس زمان را به عنوان کسری از یک روز نماش می دهد.
  • فیلدهای Yes/No : برای زمانی که یکی از دو جواب صحیح است.
  • فیلدهای OLE Object : برای ذخیره تقریبا همه چیز
  • فیلدهای Hyperlink : برای لینک به اینترنت و یا یک فایل

کلید اولیه

برای اختصاص کلید اولیه به یک فیلد یا تعدادی از فیلدها در یک جدول، ابتدا آن فیلد یا فیلدها را در نمای طراحی جداول انتخاب می کنیم و با کلیک راست و انتخاب گزینه Primary Key و یا کلیک بر روی آیکون مربوط در تب طراحی جداول، آن فیلد را به یک فیلد کلید اولیه تبدیل می کنیم. این فیلدها برای ایجاد روابط بین جداول کاربرد دارد که در زیر به آن می پردازیم.

ایجاد روابط

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

قوانین طراحی بانک اطلاعاتی رابطه ای

برای سازگاری با مدل رابطه ای باید قوانین معینی را دنبال کنیم. این قوانین معین می کنند که چه چیزی را در یک جدول ذخیره می کنیم و چگونه جداول را با هم مرتبط می کنیم. این قوانین عبارتند از :

  • قوانین جداول
  • قوانین یگانگی و کلیدها
  • قوانین کلیدهای خارجی و دامنه ها

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

نرمال سازی و اشکال نرمال

نرمال سازی عبارت است از فرآیند اعمال یک سری قوانین برای تضمین بهینه بودن ساختار بانک اطلاعاتی. نرمال سازی دارای سه شکل می باشد که در زیر به آن اشاره می کنیم:

  1. اولین شکل نرمال : برای رسیدن به اولین شکل نرمال، تمامی ستون های موجود در جدول باید اتمی باشند. این بدان معناست که برای مثال نمی توانید نام و نام خانوادگی را در یک فیلد ذخیره کنید، بدین دلیل که اگر چند مقدار را در یک فیلد ذخیره نمایید، دستیابی و بازیابی داده ها بسیار سخت می شود. یکی دیگر از ملزومات اولین شکل نرمال این است که جدول نباید شامل مقادیر تکراری باشد.
  2. دومین شکل نرمال : برای اینکه یک جدول به دومین شکل نرمال دست یابد، تمام ستون ها غیر کلیدی آن باید کاملا به کلید اولیه وابسته باشند. به عبارت دیگر، هر جدول باید داده های مربوط به یک موضوع را در خود ذخیره کند.
  3. برای رسیدن به سومین شکل نرمال، یک جدول باید تمام نیازمندی های اولین و دومین شکل نرمال را برآورده کرده و تمام ستون های غیر کلیدی آن باید متقابلا مستقل از هم باشند. این بدان معناست که باید هر گونه محاسباتی را حذف کنید و باید داده ها را به جداول جستجو (Lookup) بشکنید. جداول (Lookup) شامل جداولی همانند جداول فهرست بها، صورتجلسات و غیره می باشد که در آن مجموعه مقادیری را جستجو می کنید تا از آن محتوای فیلد کلید خارجی را انتخاب نمایید. مثالی برای محاسبه ذخیره شده در یک جدول، حاصلضرب بهای واحد در مقدار است. به جای ذخیره سازی نتیجه این محاسبه در جدول، باید این محاسبه را در یک پرس و جو یا در منبع کنترل یکی از کنترل های روی فرم یا گزارش تولید کنید.

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

قوانین صحت

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

  1. قوانین صحت عمومی (Overall)

یک بانک اطلاعاتی نباید شامل هیچ مقدار کلید خارجی بدون مادر باشد. این بدان معناست که:

  • سطرهای فرزند نمی توانند به سطرهای مادری که وجود ندارند، اضافه شوند. به عبارت دیگر، یک آیتم عملیات اجرایی که در صورتجلسات قید می شود نمی تواند بدون شماره آیتم فهرست بها و یا قیمت جدید در جدول مربوطه باشد.
  • اگر مقدار یک کلید اولیه در یک جدول فرزند به عنوان یک کلید خارجی استفاده شود، مقدار آن در جدول مادر نمی تواند تغییر داده شود. بنابراین در صورت اختصاص یک مقدار و ردیف به شماره آیتمی در جدول صورتجلسات، شماره آیتم نمی تواند در جدول فهرست بها تغییر یابد و این باعث قطع رابطه می شود و این مقدار به صورت خودکار در جدول فرزند بروزرسانی نمی شود.
  • اگر سطرهای فرزند مربوط به یک سطر مادر شامل مقدار کلید خارجی باشند، آن سطر مادر نمی تواند حذف شود. بنابراین در صورت ارجاع ردیف هایی در جدول صورتجلسات به یک آیتم مشابه در جدول فهرست بها، نمی توان آن آیتم را از جدول فهرست بها حذف نمود.
  • مقدار یک کلید اولیه نمی تواند خالی (Null) باشد. این قانون نه تنها بر روی کلید اولیه تک ستونی بلکه روی کلیدهای اولیه چند ستونی نیز اعمال می شود.
  1. قوانین صحت Database-specific

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

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

گام به گام تهیه صورت وضعیت با اکسس (Access)-بخش چهارم

گام به گام تهیه صورت وضعیت با اکسس (Access)-بخش چهارم

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

انواع روابط بین جداول

در بین جداول بانک اطلاعاتی سه نوع رابطه قابل تصور است.

  1. رابطه یک به چند
  2. رابطه یک به یک
  3. رابطه چند به چند

برقرار کردن یک رابطه درست و منطقی بین جداول در یک بانک اطلاعاتی بسیار ضروری است. رابطه درست بین جداول می تواند متضمن موارد زیر باشد:

  • صحت داده ها
  • کارایی بهینه
  • سهولت استفاده در طراحی اشیاء سیستم

برای درک مفهوم روابط قید شده در فوق، به تفصیل این روابط را بررسی می کنیم. به دلیل اهمیت موضوع توصیه می شود این بخش را با دقت بیشتری مطالعه نمایید

رابطه یک به چند

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

رابطه یک به یک

در یک رابطه یک به یک، هر رکورد جدول طرف "یک" رابطه، می تواند تنها یک رکورد مطابق، در جدول طرف "چند" رابطه داشته باشد. این رابطه معمول نیست و تنها در موقعیت های خاص استفاده می شود. در تهیه صورت وضعیت این مورد کاربردی ندارد و از توضیح آن خودداری می کنیم.

رابطه چند به چند

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

در حال حاضر با انجام مراحل گذشته در مقالات آموزش گام به گام تهیه صورت وضعیت با نرم افزار اکسس جداول مختلفی داریم که در زیر آن را لیست می کنیم:

  • جداول مربوط به فهارس بهای ابنیه، برق و مکانیک به تعداد فهرست بهای مورد استفاده در قرارداد
  • جدول مربوط به صورتجلسات ابنیه، برق و مکانیک به تعداد رشته های فهرست بهای قرارداد
  • جدول آیتم که همان نقش جدول اتصال (Junction) را برای برقراری ارتباط بین فهرست بها و صورتجلسات ایجاد می کنیم.
  • جداول ایجاد شده برای نرمال سازی که نمونه های آن می تواند شامل موارد زیر باشد:
    • جدول فصول فهرست بها که برای هر فصل فهرست بها یک کد اختصاص می دهد
    • مواردی مشابه مورد فوق برای ایجاد نرمال سازی جداول که بسته به نیاز ایجاد می شود.

حال که با اهمیت روابط در اکسس آشنا شدیم و انواع روابط را هم شناختیم نوبت به ایجاد روابط بین جداول بانک اطلاعاتی می باشد. در زیر با محیط ایجاد این روابط در اکسس آشنا می شویم.

برقرار کردن روابط در اکسس

برای برقراری روابط بین جداول اکسس باید از تب Database Tools بر روی آیکون Relationships کلیک نمایید تا پنجره روابط بین جداول باز شود. در ابتدای کار که هیچ رابطه ای را برقرار نکرده ایم این پنجره خالی است و بلافاصله کادر محاوره ای Show Table ظاهر می شود. با استفاده از این کادر می توانید جداولی ( و در برخی موارد پرس و جوهایی رو به محیط ایجاد روابط اضافه نمود) که نیاز به ایجاد ارتباط دارند را به پنجره Relationships اضافه نمایید. این پنجره یک طرح بصری از روابط برقرار شده، ارائه می دهد.

برقرار کردن یک رابطه بین دو جدول

برای برقرار کردن روابط بین دو جدول طبق گام های زیر عمل می کنیم:

  1. باز کردن پنجره Relationships
  2. اضافه کردن جداول مورد نظر برای ایجاد ارتباط در پنجره Relationships
  3. فیلدی را از یک جدول کلیک کرده و به طرف فیلد مطابق آن در جدول دیگر درگ کنید. کادر محاوره ای Edit Relationships ظاهر می شود.
  4. با کلیک بر چک باکس Enforce Referential Integrity اکسس نوع رابطه از نظر یک به یک، یک به چند و چند به چند را بر روی خط رابطه نشان می دهد.
  5. با کلیک بر روی چک باکس های Cascade Update Related Field فیلدهای مرتبط به روز رسانی می شود به این معنی که کاربر می تواند کلید اولیه رکورد طرف "یک" رابطه را تغییر دهد.این گزینه هیچگونه تاثیری روی فیلدهای AutoNumber ندارد و در صورتیکه فیلد مربوطه در طرف "یک" رابطه، یک فیلد AutoNumber باشد، نیازی به انتخاب این گزینه نیست زیرا هیچ گاه نمی توان یک فیلد AutoNumber  را تغییر داد.

دقت کنید که در یک رابطه یک به چند، خصوصیت Required از فیلد کلید خارجی را تبدیل به Yes کنید تا اجازه اضافه کردن رکوردهای بدون مادر به فیلد کلید خارجی داده نشود.

  1. با فشردن چک باکس Cascade Delete Related Records رکوردهای مرتبط حذف می شوند به این معنی که کاربر می تواند یک رکورد را در طرف "یک" رابطه یک به چند حذف کند حتی اگر رکوردهای مربوط به آن در جدول طرف "چند" رابطه وجود داشته باشد. به عنوان نمونه در جدول فهرست بها می شود یک آیتم را حذف کنیم بدون اینکه نیاز باشد آیتم های مشابه را در جدول صورتجلسات حذف کنیم.

گزینه Cascade Delete Related Records همواره گزینه مناسبی نیست. این گزینه ویژگی بسیار خوبی است، اما باید با احتیاط از آن استفاده کنید.

  1. اگر جدولی را با فشردن کلید Delete از پنجره Relationships حذف کنیم، روابط این جول حذف نمی شود و فقط از دید ما پنهان می شود. برای نمایش مجدد این روابط پنهان شده، کافی است گزینه Show All Relationships را کلیک نماییم.
  2. برای تغییر روابط موجود کافی است بر روی خط رابطه ایجاد شده کلیک راست نمایید و با اعمال تغییرات مورد نیاز خود، روابط بین جداول را اصلاح و یا حذف کنیم.

برقرار کردن Referential Integrity

برای ایجاد روابط صحیح بین جداول بهتر است با برخی پیش فرض های برنامه آشنا شویم. هنگامی که تلاش می کنید تا رابطه ای را بین دو جدول برقرار کنید:

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

قوانین Referential Integrity از ایجاد رکوردهای بدون مادر در جدول طرف "چند" از رابطه یک به چند جلوگیری می کند. قبل از اینکه بتوانید Referential Integrity را بین دو جدول ایجاد کنید، باید شرایط زیر برقرار شوند:

  • فیلد مشابه در طرف "یک" رابطه باید یک فیلد کلید اولیه یا دارای شاخص یگانه باشد.
  • نوع داده فیلد های مشابه باید یکسان باشند. (برای اهداف لینک کردن، فیلدهای AutoNumber باید با فیلدهای Long Integer تطبیق داده شوند) اندازه فیلدهای مشابه بجز فیلدهای Text، باید یکسان باشند. اندازه فیلدهای Number در هر دو طرف رابطه باید یکسان باشند. (برای مثال Long Integer)
  • هر دو جدول باید قسمتی از یک بانک اطلاعاتی اکسس باشند.
  • هر دو جدول باید با فرمت فایل های اختصاصی اکسس (.MDB) ذخیره شوند.
  • بانک اطلاعاتی حاوی این دو جدول باید باز باشند.
  • داده های موجود در دو جدول نمی توانند هیچ یک از قوانین Referential Integrity را نقض کنند.

پس از برقراری Referential Integrity بین دو جدول، اکسس قوانین زیر را اعمال می کند:

  • نمی توان در کلید خارجی جدول مرتبط شده، مقداری را که در کلید اولیه جدول اولیه وجود ندارد، وارد کرد.
  • در صورت وجود رکوردهای متناظر با یک رکورد در جدول مرتبط شده، نمی توان آن رکورد را از جدول اولیه حذف نمود. (بخش گزینه Cascade Delete Related Records را در بالا مطالعه نمایید)
  • نمی توان مقدار یک کلید اولیه در طرف "یک" رابطه را در صورت وجود رکوردهای متناظر با آن در جدول مرتبط شده، تغییر داد. (بخش گزینه Cascade Update Related Field را در بالا مطالعه نمایید)

آشنایی با تکنیک های قدرتمند جدول

لازم است در هنگام کار با جداول با برخی قوانین و تکنیک های کار در محیط جداول آشنا شویم تا در ورود اطلاعات و پایش آن با مشکل کمتری مواجه باشیم. پس از افزودن فیلدهایی به یک جدول، باید خصوصیات آنها را به دلخواه خود تنظیم نماییم. خصوصیات فیلد به شما اجازه می دهند تا نحوه ذخیره داده ها توسط اکسس و اینکه چه داده هایی را کاربر می تواند در یک فیلد وارد کند را کنترل نمایید. 
توجه کنید که بخش پایینی پنجره Design View قسمت Field Properties است. اینجا مکانی است که می توان خصوصیات را برای فیلدهای درون یک جدول تنظیم کرد. به دلیل مهم بودن این بخش، اشاره ای مختصر به آن می کنیم ولی به دلیل نیاز به مطالعه بیشتر در این خصوص پیشنهاد می کنیم حتما از منابع آموزشی در این خصوص استفاده نمایید.

  • Field Size : این گزینه تنها برای فیلدهای Text و Number فعال است و برای محدود کردن تعداد کاراکتری است که یک کاربر در فیلد وارد می کند و بهتر است به کوچکترین مقدار مورد نیاز محدود شود تا حجم فایل اکسس بی مورد اضافه نشود.
  • Format : این مورد برای تعیین چگونگی نمایش داده ها توسط اکسس به کار می رود. پیشنهاد می گردد برای داده های عددی از گزینه General Number و برای داده های متنی از گزینه @ در این بخش استفاده کنید.
  • Caption : به عنوان شرحی برای نام فیلدها در نمای Datasheet روی فرم ها و گزارش ها مورد استفاده قرار می گیرد.
  • Default Value : این مورد باعث پر شدن آن فیلد با یک مقدار مشخص در رکوردهای جدید می شود. این مورد باعث آسان شدن ورود داده های تکراری می شود.
  • Validation Rule : این خصوصیت در واقع آنچه را که کاربر می تواند در فیلد وارد کند را محدود می نماید. این گزینه دارای قوانین اعتبار سنجی است که بانک اطلاعاتی به شدت از این قوانین حمایت می کند.
  • Validation Text : این گزینه پیغام خطایی به مخاطب می دهد که هنگام نقض قانون اعتبار سنجی وضع شده توسط Validation Rule توسط کاربر، به کاربر نمایش داده می شود.
  • Required : این خصوصیت تعیین می کند که آیا لازم است کاربر مقداری را در یک فیلد وارد نماید یا خیر.این خصوصیت برای فیلدهای کلید خارجی و کلید اولیه، هنگامی که می خواهید مطمئن شوید کاربر حتماً در فیلد مورد نظر داده وارد می کند مفید است.
  • Allow Zero Length : این گزینه برای حالتی که داده ای وجود ندارد مناسب است و شما مشخص می کنید که هیچ مقداری برای فیلد وجود ندارد. البته این گزینه در صورت خالی بودن فیلد پیغامی نمی دهد و منافاتی با داشتن محتوا در فیلد مورد نظر ندارد.
  • Input Mask : این گزینه ظاهر داده ای که قرار است در فیلد مورد نظر وارد شود به کاربر دیکته می کند. این گزینه فقط در فیلدهای با محتوای Text و Date فعال است.
  • Indexed : با انتخاب این گزینه می توان تعیین کرد که در فیلد داده تکراری مجوز ورود توسط کاربر داشته باشد یا خیر.

گام به گام تهیه صورت وضعیت با اکسس (Access)-بخش پنجم

گام به گام تهیه صورت وضعیت با اکسس (Access)-بخش پنجم

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

معرفی پرس و جوها

در تعریفی ساده می توان گفت که پرس و جوها، پرسش های ذخیره شده درباره داده ها می باشند. پرس و جوها یک جنبه فوق العاده قدرتمند از مایکروسافت اکسس هستند. با استفاده از پرس و جوها می توانید تنها داده هایی را که می خواهید، همانگونه که آنها را نیاز دارید و هر زمان که آنها را خواستید بازیابی کنید.
پرس و جوی انتخابی (Select Query) یک پرسش ذخیره شده درباره داده های درون جداول یک بانک اطلاعاتی است و می توان گفت که پرس و جوهای انتخابی، پایه اکثر کارهایی است که در اکسس انجام می دهید. در حقیقت پرس و جوها زمینه اکثر فرم ها و گزارش ها هستند و به شما اجازه می دهند تا داده هایی را که می خواهید در هر زمان دلخواه مشاهده کنید. اکثر فرم ها و و گزارش هایی که به عنوان رابط کاربر برای یک برنامه کاربردی مشابه صورت وضعیت عمل می کنند، بر پایه پرس و جوها ایجاد شده اند. داشتن یک درک صحیح از پرس و جوها، برای موفقیت در ایجاد یک برنامه کاربردی اکسس امری ضروری است. ما در این مقاله با موارد زیر آشنا می شویم:

  • مبانی کار با پرس و جوها
  • چگونه پرس و جوها را ایجاد کنید
  • چگونه به پرس و جوهایی که ایجاد می کنید، جداول و فیلدهایی اضافه نمایید.
  • چگونه خروجی پرس و جو را مرتب کنید.
  • چگونه داده هایی را که در خروجی پرس و جو ظاهر می شوند، محدود کنید
  • نکات و ترفندهایی در مورد کار با پرس و جوها

مبانی پرس و جو

ایجاد یک پرس و جوی پایه بسیار آسان است. برای این منظور از تب Create آیکون Queriy Wizard را انتخاب می کنیم. کادر محاوره ای New Query باز می شود. گزینه Simple Query Wizard قدم به قدم شما را در ایجاد یک پرس و جوی پایه یاری می کند. سایر ویزاردها به شما کمک می کنند تا سه نوع خاص از پرس و جوها را ایجاد نمایید که شامل پرس و جوهای Crosstab , Find Duplicates , Find Unmatched

افزودن جداول به پرس و جوها

همانند جداول می توان پرس و جوها را در دو نمای Datasheet و Design باز کرد. اگر نمای Design را به جای یکی از ویزاردها انتخاب نمایید، کادر محاوره ای Show Table ظاهر می شود. در این کادر محاوره ای می توانید جداول یا پرس و جوهایی که داده ها را برای یک پرس و جو فراهم می کنند، انتخاب نمایید. برای اکسس فرقی ندارد که شما جداول و یا پرس و جوهای موجود را به عنوان پایه پرس و جوها قرار دهید.

اضافه کردن فیلد به پرس و جوها

پس از اینکه جداولی را به پرس و جو اضافه کردید، می توانید فیلدهایی را که می خواهید به پرس و جو اضافه کنید. پنجره پرس و جو به دو بخش تقسیم می شود. در نیمه بالای پنجره، جداول یا پرس و جوهای زیرین پرس و جویی که در حال طراحی آن هستید و نیمه پایینی، فیلدهایی که در خروجی پرس و جو قرار می دهید را نشان می دهند. برای اضافه کردن هر یک از فیلدها به پرس و جو کافی است بر روی آن فیلد در هر یک از جداول دبل کلیک کنیم و یا اینکه آن فیلد را درگ کنیم و در محل مورد نظر در پرس و جو رها کنیم. انتخاب چند فیلد کنار هم و یا با فاصله از هم با کمک از کلیدهای Ctrl و Shift هم امکان پذیر است.

کار با معیارهای ساده

می توان رکوردهایی را که در نتیجه یک پرس و جو ظاهر می شوند را با افزودن معیارهایی به پرس و جو محدود کرد. به عنوان نمونه شاید بخواهید فقط آیتم های مربوط به فصل سوم فهرست بهای ابنیه (عملیات خاکی با ماشین) نمایش داده شود که برای این منظور در فیلد شماره فصل و در ردیف Criteria مقدار 3 را تایپ می کنیم. حال با اجرا کردن پرس و جو فقط آیتم های مربوط به فصل سوم نمایش داده می شود. معیارها برای هر نوع فیلد دارای قواعد خاصی است که در صورت نیاز به آن می پردازیم.

ایجاد معیارها بر پایه چند شرط

گاهی ممکن است بخواهید پرس و جویی را ایجاد کنید که شامل دو یا چند شرط باشد. برای این منظور اولین معیار را در سطر Criteria در فیلدی که می خواهیم این شرط را داشته باشد تایپ می کنیم. در مرحله بعد در فیلد دوم که می خواهیم دومین شرط را داشته باشد نیز همین مراحل را انجام می دهیم. در واقع با اعمال معیارهایی به چند فیلد در یک خط یکسان از شبکه پرس و جو، یک شرط And ایجاد می کنیم. همچنین می توانیم از عملگرهای مقایسه ای ( =، >، <، =<، =>، <>، Between ) نیز به منظور استخراج نتایج مشخصی از مقادیر استفاده کنیم. 
همچنین می دانیم که شرط Or بیانگر این است که اگر بین دو شرط یکی هم برآورده شود، رکورد در مجموعه نتایج ظاهر شود. برای این منظور در فیلدی که می خواهیم این شرط اعمال شود در سطر مقابل Criteria اولین شرط را قید می کنیم. در سطر بعد در همین فیلد دومین و در سطر بعد سومین و به همین طریق چند شرط را در همان فیلد کورد نظر قید می کنیم. همچنین برای اعمال شرط Or برای دو فیلد باید مطابق روش ایجاد شرط And اقدام کنیم ولی دقت کنیم که شرط اول در سطر Criteria و شرط دوم در فیلد بعد یک سطر پایین تر و به همین طریق شروط در سطهای بعدی قید گردد. اگر معیارها در سطرهای مختلف نباشند اکسس آنها را به عنوان شرط And در نظر می گیرد.

مرتب کردن نتایج جستجو

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

به روز رسانی نتایج پرس و جو

می توان نتایج یک پرس و جو را به روز کرد بنابراین اگر داده های موجود در خروجی پرس و جو را تغییر دهید، اکسس داده های موجود در جداول مربوط به پرس و جو را به طور دائمی تغییر می دهد. بنابراین درک چگونگی به روز کردن نتایج پرس و جو توسط اکسس بسیار مهم است زیرا ممکن است بدون اینکه متوجه باشید داده های جداول را به روز کنید و این موضوع ناخواسته باشد.

ساخت پرس و جوها بر پایه چند جدول

اگر داده های جدول خود را به طرز صحیحی نرمال سازی کرده باشید، برای استخراج داده های مورد نظر خود از این جداول مشکلی نخواهید داشت. لازم به ذکر است که برای خروجی های مورد نظر در بخش صورتمجالس احجام که ما از یک جدول صورتجلسه و یک جدول فهرست بها استفاده نمودیم و در نهایت اطلاعات مورد نظر را پس از ایجاد روابط چند به چند در جدول سومی به نام جدول آیتم که خود از نوع جداول اتصال (Junction) می باشد، گردآوری کردیم، می توانیم با این روش اطلاعات جدول آیتم را پس از اعمال برخی فیلترها در پرس و جو بازخوانی کنیم.

جستجوی خودکار در پرس و جوهای چند جدوله

همانطور که مقادیر کلیدی در طرف "چند" از یک رابطه یک به چند در یک پرس و جوی چند جدوله را پر می کنید، اکسس به طور خودکار دنبال مقادیر غیر کلیدی در جدول مادر می گردد. یک کلید خارجی باید ابتدا در طرف "یک" پرس و جو وجود داشته باشد تا بتواند با موفقیت در طرف "چند" از آن پرس و جو وارد شود. همانگونه که هیچ وقت نمی خواهیم مقادیر آیتمی را وارد کنیم که آن آیتم در جدول فهرست بها وجود ندارد.

ایجاد فیلدهای محاسباتی

یکی از قوانین نرمال سازی داده ها این است که نتایج محاسبات را نباید در یک بانک اطلاعاتی قرار داد. می توان نتایج محاسبات را با ایجاد آن محاسبات توسط پرس و جوها به خروجی برد و همچنین می توان نتایج محاسبات را با ایجاد پرس و جو بر پایه یک فرم یا گزارش، نمایش داد. همچنین می توان به فرم ها و گزارش ها کنترل هایی را اضافه کرد که شامل محاسبات مورد نظر باشند. در موارد خاص این کار می تواند باعث افزایش کارایی شود. بنابراین می توانیم بهای کل را به شکل زیر داشته باشیم:
[بهای واحد]*[مقدار] این محاسبات به راحتی ستون یا فیلد بهای واحد را در فیلد مقدار ضرب می کند. توجه کنید که اکسس به ستونی که حاصلضرب عبارت فوق را در خود جای خواهد داد یک نام اختصاص می دهد. برای اینکه از نام انتخاب خود که همان "بهای کل" می باشد برای نام ستون استفاده کنیم به روش زیر عمل می کنیم:
[بهای واحد]*[مقدار]:بهای کل
در واقع متن قبل از دو نقطه که در این مثال عبارت "بهای کل" می باشد، نام ستون مورد نظر می باشد.
برای این منظور باید در نمای طراحی پرس و جوها به سمت راست پیمایش کرد تا یک ستون خالی را بیابید. سپس در سطر Field در ستون مورد نظر کلیک کنید. باید دقت نمود که استفاده از علامت [ و ] برای فرمول نویسی لازم است. برای جلوگیری از بروز خطا می توانید با کلیک راست بر روی سطر Field در ستون مورد نظر و انتخاب گزینه Build وارد کادر محاوره ای Expression Builder شوید و با استفاده از گزینه های موجود در آن با فرمت صحیح نسبت به ایجاد فرمول اقدام نمایید.

مروری بر بخش های اول تا پنجم

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

  • اولین جدولی که بدون هیچ گونه اما و اگری نیاز به وجود آن داریم جدول اطلاعات فهرست بها می باشد. در این جدول ردیف های شماره فصل، شماره آیتم، نوع آیتم (از نظر پایه و غیر پایه بودن آیتم)، شرح عملیات، واحد، بهای واحد و مقدار قرارداد را تشکیل می دهیم و اطلاعات مربوط به هر یک فهارس بهای ابنیه، برق و مکانیک را در آن وارد می کنیم (همانگونه که قبلا هم اشاره شد نباید محاسباتی در این جدول انجام داد و ستون بهای کل (قرارداد) را در ستون ها اضافه نمود. این کار بعدا از طریق پرس و جوها انجام خواهند شد). البته به دلیل حجم بالای آیتم ها بهترین کار این است که موارد فوق را در قالب یک فایل اکسل تهیه کنیم و سپس این فایل را از طریق نوار ابزار External Data و سپس انتخاب آیکون Import Excel Spreadsheet این فایل اکسل را به عنوان جدول وارد برنامه اکسس نماییم. 
  • دومین جدول مربوط می شود به جدول اطلاعات کلی صورتمجالس که در این جدول نیز ستون های شماره صورتجلسه، موضوع صورتجلسه، تاریخ تصویب، موضوع صورتجلسه، محل اجرای عملیات موضوع صورتجلسه و هر گونه اطلاعات کلی مربوط به صورتجلسات که برای هر صورتجلسه یک بار وارد می شود را وارد این جدول می کنیم. برای وارد کردن اطلاعات مربوط به آیتم های و مقادیر از جدول دیگری استفاده می کنیم.
  • سومین جدول مربوط می شود به جدول آیتم های صورتمجالس که این جدول شامل سه ستون شماره صورتجلسه، شماره آیتم و مقدار می باشد. البیته می توانستیم این جدول را با جدول صورتجلسات ترکیب کنیم ولی برای هر ردیف آیتم فهرست بها شما مجبور بودید که کل اطلاعات یک صورتجلسه را وارد نمایید که این اصلا منطقی نیست. همچنین با قوانین نرمال سازی مطابقت ندارد.
  • برای اینکه در هنگام تغییر مشخصات و عناوین هر یک از فصول مجبور نباشیم کل مشخصات فصول را تغییر دهیم جدولی به این منظور ایجاد می کنیم که شامل دو ستون شماره فصل و عنوان فصل باشد.
  • جدول مربوط به اطلاعات قراردادی و یا همان جدول ضرایب قراردادی، یکی از مهمترین جداولی است که باید تهی گردد و در بخش های مختلف مورد استفاده قرار گیرد. 
  • جدول مربوط به اطلاعات فواصل حمل
  • جدول مربوط به ضرایب فصل حمل و نقل

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

  • اولین پرس و جو مربوط می شود به فهرست بهای منضم به پیمان که از ستون های جدول فهرست بها به همراه مقدار (قرارداد) و همچنین ستونی که ما می سازیم و عنوان بهای کل (قرارداد) را با ضرب ستون های مقدار در بهای واحد به آن می دهیم، تشکیل شده است. هدف از این پرس و جو محاسبه مبلغ صورت وضعیت با مقادیر منضم به پیمان می باشد.
  • دومین پرس و جو یک پرس و جوی چند جدولی است که از چهار جدول ایجاد شده در بخش جداول تشکیل می شود به ترتیبی که فیلدهای شماره صورتجلسه و موضوع صورتجلسه از جدول صورتجلسات ابنیه می آید، فیلدهای شماره فصل فهرست بها، شرح عملیات، واحد و بهای واحد از جدول فهرست بهای ابنیه می آید، فیلد شرح فصل از جدول شماره فصول فهرست بها می آید و فیلدهای شماره آیتم فهرست بها و مقادیر نیز از جدول شماره آیتم می آید و علاوه بر این موارد فیلد بهای کل هم به نحوی که حاصلضرب فیلدهای مقدار و بهای واحد را در ستون مربوطه نشان دهد نیز ایجاد می شود. هدف از این پرس و جو محاسبه مبلغ هر یک از آیتم های صورتمجالس می باشد.
  • سومین پرس و جو یک پرس و جوی مربوط به محاسبه مبلغ کل هر صورتجلسه می باشد که در حقیقت این پرس و جو را از فیلدهای پرس و جوی فوق استخراج می شود. برای این منظور فیلدهای شماره صورتجلسه، موضوع صورتجلسه و بهای کل (ریال) مورد استفاده قرار می گیرند. در این پرس و جو برای محاسبه جمع مقادیر مربوط به آیتم های هر صورت جلسه با کلیلک بر آیکون Totals در بخش Design پرس و جو یک سطر به تمام فیلدها اضافه می کنیم که مقدار پیش فرض همه Group By می باشد که این بخش را برای ستون بهای کل به SUM تغییر می دهیم.

گام به گام تهیه صورت وضعیت با اکسس (Access)-بخش ششم

گام به گام تهیه صورت وضعیت با اکسس (Access)-بخش ششم

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

  • روش های فیلتر نمودن اطلاعات
  • ایجاد پارامترهایی که در زمان اجرا تغییر کنند
  • اضافه نمودن داده ها به جداول و اصلاح داده های موجود در جداول
  • جمع نمودن داده های جداول
  • برخی قابلیت های دیگر پرس و جو

اعمال فیلترهای پیشرفته

اصولا استفاده از فیلترها به منظور پالایش داده هایی است که در نتیجه یک پرس و جو ظاهر می شوند. به عنوان نمونه بعد از تهیه صورت وضعیت و ورود اطلاعات مربوط به صورتمجالس، نیاز است که سطرهای فاقد مقادیر که همان آیتم های بلا استفاده در صورت وضعیت می باشند را پنهان کنیم به گونه ای که در نمایش برخی نتایج صرفا آیتم هایی نمایش داده شوند که مورد استفاده قرار گرفته اند. بدین منظور مشابه نرم افزار اکسل از دستور فیلتر و دستورات پیشرفته آن بدین منظور استفاده می کنیم. دستورات بخش Sort&Filter در تب Home تمامی این امکانات را در اختیار ما قرار خواهد داد.

ایجاد و اجرای پرس و جوهای پارامتری

ممکن است در حین طراحی یک پرس و جو، پارامترهای خروجی آن را ندانید و ممکن است بخواهید از بین خروجی های یک پرس جو، فقط خروجی های خاصی که مربوط به زمان مشخصی است را بازیابی نمایید. نمونه این مورد را می توان به استخراج تغییر مقادیر یک آیتم در یک صورت وضعیت خاص اشاره نمود و یا اینکه آیتم های مربوط به صورتمجالس بازه زمانی خاصی مد نظر ما باشد. پرس و جوهای پارامتری به شما اجازه می دهند تا معیارهای خاصی را در زمان اجرا تعیین کنید تا هر بار هنگام تغییر معیارها نیازی به ویرایش پرس و جو نداشته باشید. برای این منظور از دستور زیر در ردیف Criteria و در ستون شماره صورتمجالس استفاده می کنیم و عبارت مورد نظر را بین دو کروشه قرار می دهیم:
Between [Enter Starting Number] And [Enter Ending Number] این معیار باعث می شود که هنگام اجرای پرس و جو توسط کاربر، دو کادر محاوره ای ظاهر شود. کادر محاوره ای اول با متن موجود در اولین جفت کروشه به کاربر پیام می دهد. اکسس متن و یا عدد تایپ شده توسط کاربر را جایگزین متن داخل کروشه می کند. پس از آن کادر محاوره ای دوم ظاهر می شود که با متن موجود در دومین جفت کروشه به کاربر پیام می دهد. اکسس از پاسخ های کاربر به عنوان معیار برای پرس و جو استفاده می کند.
می توانید به سادگی برای هر تعداد فیلد دلخواه، پارامتر ایجاد کرد. هر چه معیارهای بیشتری اضافه کنید پارامترهای بیشتری اضافه می شوند. به عنوان نمونه می توان برای فصول فهرست بها که نمایش داده می شود نیز محدودیت هایی منظور نمود و از کاربر درخواست که فصل های مورد نظر خود را به صورت دستی به سیستم اعلام نماید.
باید دقت نمود که آنچه در کاردهای محاوره ای Query Parameters وارد می کنید باید دقیقاً مطابق با محتوای کروشه ها باشد و نمی توان در جایی که باید متنی وارد کرد شما عددی را تایپ کنید و بالعکس و در غیر اینصورت اکسس با چند کادر محاوره ای دیگر به کاربر پیغام خطا می دهد. می توان هر تعداد پارامتر دلخواه به یک پرس و جو اضافه کرد، اما ممکن است کاربر در صورت نمایش تعداد زیادی کادر محاوره ای توسط اکسس، به دردسر بیوفتد. به جای این کار، باید با ایجاد یک فرم سفارشی اینگونه پرس و جوهای پارامتری را به صورتی که تمامی پارامترها در یک صفحه قابل رویت باشند تغذیه نمود.

ایجاد و اجرای پرس و جوهای Action

با استفاده از پرس و جوهای عملی (Action Query) می توان به سادگی و بدون نوشتن کد، داده های درون جداول بانک اطلاعاتی را تغییر داد. چهار نوع پرس و جو Action وجود دارد:

  1. Update : اصلاح و تغییر داده های درون یک جدول
  2. Delete : حذف رکوردها از یک جدول
  3. Append : افزودن رکوردها به یک جدول
  4. Make Table : ایجاد یک جدول جدید

ایجاد و اجرای پرس و جوهای Update

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

  1. از تب Create از نوار ابزار بر روی گزینه Query Design کلیک می کنیم تا کادر محاوره ای Show Table ظاهر شود.
  2. جداول یا پرس و جوهای شرکت کننده در پرس و جوی Update را از کادر محاوره ای Show Table انتخاب کنید و سپس دکمه Add را کلیک نمایید و در نهایت روی دکمه Close کلیک نمایید.
  3. برای اینکه به اکسس بگویید که در حال ایجاد یک پرس و جوی Update هستید، بر روی لیست بازشو Query Type موجود در نوار ابزار گزینه Update Query را انتخاب کنید.
  4. فیلدهایی را که می خواهید از آنها به عنوان معیار استفاده کنید یا اکسس آنها را به عنوان نتیجه پرس و جو به روز کند، به پرس و جو اضافه کنید. بنابراین یک فیلد را برای بررسی معیار مورد نظر ما و فیلد دیگر را برای اعمال تغییراتی که با این معیار از داده های جدول استخراج می شوند نیاز داریم. به عنوان نمونه اگر بخواهید ضریبی را به برخی فصول فهرست بها اضافه کنید نیاز است که ابتدا آن فصول را بازخوانی کنید. در مرحله بعد با تعریف ضریب و نحوه اعمال آن بر محتوای این رکوردها در فیلد مورد نظر، فیلد مقدار و یا بهای واحد را انتخاب می کنیم و در بخش Update To آن را قید می کنیم.
  5. بر روی دکمه Run در نوار ابزار کلیک می کنیم. کادر پیغامی ظاهر می شود که به ما یادآوری می کند که در صورت تایید شما قادر به بازگرداندن مقادیر قبل در رکوردهایی که اصلاح می شوند نخواهید بود. با تایید این پیغام اصلاحات مورد نظر ما بر روی رکوردهایی که فراخوانی کرده ایم اعمال خواهد شد.

بهتر است از پیشوند qupd برای ذخیره پرس و جوهای Update استفاده کنیم تا در انبوه پرس و جوها دچار مشکل نشویم. اکسس هر نوع پرس و جوی Action را با یک آیکون متفاوت در پنجره Database نمایش می دهد.

باید به این نکته نیز توجه نمود که نمی توان اصلاحات انجام شده توسط یک پرس و جوی Update یا هر پرس و جوی Action دیگری را خنثی کرد، بنابراین باید در هنگام اجرای هر پرس و جوی Action نهایت دقت را بکار برد.

ایجاد و اجرای پرس و جوهای Delete

پرس و جوهای Delete هر رکوردی که با معیارهای خاصی مطابقت داشته باشد را به طور دائمی از جدول حذف می کند. این پرس و جو معمولا برای حذف رکوردهای قدیمی مورد استفاده قرار می گیرند. این پرس و جوها اطلاعات مربوط به یک رکورد را به صورت کامل حذف می کنند و با مشخص نمودن حتی یک فیلد که دارای شرط مشخصی باشد نیز می توان آن را اجرا نمود. مراحل کار مشابه پرس و جو Update می باشد.

ایجاد و اجرای پرس و جوهای Append

می توان از پرس و جوهای Append برای افزودن رکوردهایی به جداول موجود استفاده کرد. معمولا این تابع در حین یک فرآیند آرشیو سازی بکار می رود. برای این کار ابتدا با استفاده از یک پرس و جوی Append رکوردهایی که قرار است آرشیو شوند را به جدول تاریخچه (History) اضافه کرده و سپس به کمک یک پرس و جوی Delete رکوردهای مازاد را از جدول اصلی حذف می کنیم. مراحل کار به شرح زیر است:

  1. در حالی که در نمای Design از یک پرس و جو هستید، از لیست Query Type موجود در نوار ابزار، گزینه Append Query را انتخاب می کنیم. 
  2. در کادر محاوره ای Append جدولی که قرار است به آن داده هایی اضافه شود و نیز بانک اطلاعاتی حاوی این جدول را تعیین می کنیم.
  3. تمام فیلدهایی که می خواهید داده های آنها در جدول دوم قرار گیرند را به سمت شبکه پرس و جو درگ می کنیم. اگر نام فیلدها در دو جدول مطابقت داشته باشند، اکسس به طور خودکار نام فیلدهای درون جدول منبع را با نام فیلدهای متناظر در جدول مقصد مطابقت می دهد. اگر نام فیلدها در دو جدول مطابقت نداشته باشند، باید به طور صریح تعیین کنید که کدام فیلدها در جدول منبع با کدام فیلدها در جدول مقصد مطابقت دارند.
  4. معیارهای مورد نظر را به شبکه پرس و جو وارد می کنیم. 
  5. برای اجرای پرس و جو روی دکمه Run در نوار ابزار کلیک می کنیم.
  6. کادر هشدار ظاهر می شود که با فشردن دکمه Yes عملیات انتقال انجام می گیرد.

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

ایجاد و اجرای پرس و جوهای Make Table

یک پرس و جوی Append رکوردهایی را به یک جدول موجود اضافه می کند، اما پرس و جوی Make Table یک جدول جدید ایجاد می نماید که این جدول معمولا یک جدول موقت بوده و برای پردازش میانی مورد استفاده قرار می گیرد. به عنوان مثال ممکن است بخواهید یک جدول موقت ایجاد کنید تا داده ها را در حین اجرای یک گزارش بدون تغییر نگه دارید. با ایجاد جداول موقت و اجرای یک گزارش از آنها، می توانید مطمئن شوید که کاربران نمی توانند داده های مربوط به گزارش را در حین فرآیند گزارش گیری تغییر دهند. مراحل ایجاد پرس و جو Make Table مشابه مراحل ایجاد پرس و جو Append می باشد.
اگر چند بار یک پرس و جوی Make Table را اجرا کنید، اکسس جدول همنام با جدولی که در حال ایجاد آن هستید را به طور دائم پاک می کند.

استفاده از توابع مجموع برای خلاصه کردن داده های عددی

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

  1. فیلدها یا عباراتی را که می خواهید خلاصه کنید، به شبکه پرس و جو اضافه نمایید. حتما فیلدها را به ترتیبی که می خواهید گروه بندی شوند، اضافه کنید. به عنوان نمونه برای محاسبه مجموع آیتم های هر فصل فهرست بها ابتدا شماره فصل، نام فصل و بهای کل را به پرس و جو اضافه می کنیم.
  2. روی گزینه Total موجود در نوار ابزار کلیک کنید تا سطر Total به پرس و جو اضافه شود. به صورت پیش فرض هر فیلد در پرس و جو دارای گزینه Group By در سطر Total می باشد.
  3. روی سطر Total موجود در شبکه پرس و جو کلیک کنید.
  4. کادر Combo را باز کرده و محاسبات مورد نظر را انتخاب نمایید.
  5. در سطر Total از هر فیلدی که می خواهید بر اساس آن گروه بندی کنید، Group By را اضافه کنید.
  6. معیارهای مورد نظر را به شبکه پرس و جو اضافه کنید.

کار با تلفیق های بیرونی

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

  1. روی خط رابط بین جداول در شبکه پرس و جو دبل کلیک کنید.
  2. پنجره Join Properties ظاهر می شود. نوع تلفیقی که می خواهید ایجاد کنید را انتخاب نمایید. برای ایجاد یک تلفیق بیرونی چپ ( تلفیق بیرونی چپ هنگامی مورد استفاده قرار می گیرد که بخواهید تمام رکوردهای موجود در طرف "یک" از یک رابطه یک-به-چند را بدون توجه به اینکه رکوردی در طرف "چند" رابطه وجود دارد یا نه، در خروجی پرس و جو قرار دهید. تلفیق بیرونی راست بدین معناست که تمامی رکوردهای موجود در طرف "چند" از یک رابطه یک-به-چند بدون توجه به اینکه رکوردی در طرف یک رابطه وجود دارد یا نه، در خروجی پرس و جو قرار گیرد. این مورد اخیر تقریبا کاربرد چندانی ندارد و با قوانین Referential Integrity تناسب ندارد) بین جداول، گزینه 2 را انتخاب کنید. و اگر می خواهید یک تلفیق بیرونی راست ایجاد کنید، گزینه 3 را کلیک نمایید. 
  3. برای تایید تلفیق دکمه OK را کلیک نمایید. در این هنگام باید یک تلفیق بیرونی بین جداول برقرار شود. توجه کنید که خط رابط دو جدول به پیکانی تبدیل می شود که به طرف "چند" از رابطه اشاره می کند.

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

گام به گام تهیه صورت وضعیت با اکسس (Access)-بخش هفتم

گام به گام تهیه صورت وضعیت با اکسس (Access)-بخش هفتم

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

معرفی فرم ها

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

  • ورود داده ها : فرم ها می توانند برای نمایش و ویرایش داده ها مورد استفاده قرار گیرند.
  • جریان برنامه کاربردی : فرم ها می توانند برای پیمایش درون یک برنامه کاربردی مورد استفاده قرار گیرند.
  • کادرهای محاوره ای سفارشی : فرم ها می توانند برای ارائه پیام ها به کاربران استفاده شوند.
  • چاپ اطلاعات : فرم ها برای چاپ اطلاعات مورد استفاده قرار می گیرند.

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

جابجا شدن بین رکوردها در یک فرم

نوار مکان یابی (Navigation Bar) که در پایین پنجره فرم ظاهر می شود به شما اجازه می دهد تا از یک رکورد به رکورد دیگر جابجا شوید. از کلیدهای صفحه کلید نیز می توانید برای حرکت از یک رکورد به رکورد دیگر استفاده کنید. فشردن Page Up شما را در لیست رکوردها، یک رکورد به عقب می برد و به همین ترتیب فشردن Page Down شما را در لیست رکوردها به صورت یک رکورد در هر زمان به جلو می برد. فشردن Ctrl+End شما را به آخرین رکورد و فشردن Ctrl+Home شما را به اولین رکورد می برد و فشردن Ctrl+ شما را به یک رکورد جدید خواهد برد. در هنگام کار با فرم ها می توانیم از فرامینی مشابه جداول و پرس و جوها بین حالت های مختلف نمایش یک فرم جابجا شویم تغییرات و اصلاحات مورد نظر خود را اعمال نماییم. بنابراین برای هرگونه اصلاحات می توانیم در نمای Datasheet نسبت به انجام این اصلاحات اقدام نماییم.
عملیات انتخاب یک یا چند رکورد، حذف رکوردها از یک فرم، افزودن یک رکورد جدید، کپی کردن رکوردها در داخل یک فرم، یافتن رکوردی که با معیارهای خاصی مطابقت می کند، جایگزین کردن داده های جدول مربوط به یک فرم (بدین منظور می توان از کاراکترهای عمومی که در بخش های قبل توضیح داده شده است استفاده نمود)، مرتب کردن رکوردها، فیلتر کردن داده های یک فرم، حذف یک فیلتر، استفاده از فیلتری با چند معیار از جمله مواردی است که به دلیل تشابه با مباحث جداول و پرس و جوها مجددا اشاره نمی شود.
بر اساس استانداردهای نامگذاری بهتر است از پیشوند frm برای نامگذاری یک فرم استفاده نمود. نام یک فرم می تواند حداکثر دارای 64 کاراکتر شامل حروف، اعداد و فاصله خالی باشد. فرم ها نیز مشابه برگه های داده می توانند شامل زیر برگه های داده باشند.

در این قسمت با یک تعریف جدید آشنا می شویم. یک کنترل (Control) شیئی است که به یک فرم یا گزارش اضافه می کنیم. انواع کنترل ها عبارتند از کادرهای متن، کادرهای Combo، لیست ها و کاردهای کنترلی.

ایجاد یک فرم در نمای Design

با وجود اینکه می توانیم فرم ها را با استفاده از ویزاردهای فرم به صورت حرفه ای بسازیم، اما در بسیاری موارد بهتر است که یک فرم را از ابتدا بسازید. بدین منظور مراحل گام به گام زیر را دنبال می کنیم:

  1. از تب Create در نوار ابزار، بر روی آیکون Form Design کلیک می کنیم.
  2. پنجره خام مربوط به ایجاد فرم باز می شود. اکسس ما را به صورت پیش فرض وارد نوار ابزار Form Desing Tools می کند.
  3. در نوار ابزار بر روی آیکون Add Existing Fields کلیک کنید تا لیستی از جداول یا پرس و جوها در اختیار شما قرار گیرد. می توانید از این لیست به عنوان پایه طراحی فرم عمل نمایید.
  4. با کلیک بر روی آیکون Property Sheet کادر محاوره ای آن باز می شود. با استفاده از خصوصیات موجود در این پنجره می توانید اشیای موجود در یک فرم را سفارشی نمایید.

انتخاب، انتقال، ترازبندی و اندازه گذاری اشیاء فرم

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

انتخاب کنترل صحیح برای یک کار خاص

برنامه نویسی اکسس تنها به نوشتن کد محدود نمی باشد. باید بتوانیم ارتباطی گیرا و جذاب با رابط و اپراتور نرم افزار برقرار کنیم. هر چه این ارتباط عمیق تر و جذاب تر باشد ما را به اهداف خود نزدیک تر خواهد نمود و به همین اندازه هر چقدر این ارتباط سست و بی مفهوم باشد ما را از رسیدن به ایجاد بستری مفید جهت استفاده کاربران فراوان دور خواهد نمود. محیط های برنامه نویسی اکسس کنترل های گوناگونی را ارائه می دهند که هر یک در موقعیت مختلفی مناسب هستند. در ادامه به بررسی این موارد می پردازیم:

  • برچسب ها

برچسب ها برای نمایش اطلاعات به کاربران مورد استفاده قرار می گیرند.هنگامی که کنترل های دیگری مانند متن و کادرهای Combo را به یک فرم اضافه می کنیم اکسس به طور خودکار برچسب های پیوست را به آن فرم اضافه می کند. در صورت نیاز می توانید این برچسب های پیوست را حذف کرده یا تغییر دهید. اگر مطلبی را در بخش Caption یک فیلد وارد نکرده باشید، اکسس نام فیلد را به عنوان شرح برچسب در نظر می گیرد. گاهی اوقات برچسب از کادر متن متصل به آن جدا می شود که در این حالت دیگر نمی توان برچسب را جابجا یا اندازه گذاری نمود. برای اینکه برچسب را مجدد به کادر متن متصل نمایید، باید برچسب را کات کنید و سپس روی کادر متن کلیک کنید تا انتخاب شود و سپس برچسب را Paste نمایید تا به کادر متن چسبانده شود. اگر بخواهید عمدا یک برچسب را از کنترل متصل به آن جدا کنید، کافی است برچسب را بریده و سپس دوباره آن را بدون انتخاب کنترلی که به آن متصل بوده، روی فرم بچسبانید. با این روش می توانید کارهایی همچون پنهان کردن کنترل بدون پنهان کردن برچسب را انجام دهید.

  • کادرهای متن (Text Boxes)

کادرهای متن برای گرفتن اطلاعات از کاربران مورد استفاده قرار می گیرند. کادرهای متن محدود، اطلاعات ذخیره شده در یک جدول را نمایش داده و بازیابی می کنند و کادرهای متن نامحدود، اطلاعاتی را که به هیچ فیلد خاصی در یک رکورد معین مرتبط نیستند، جمع آوری می کنند. هنگامی که روی یک فیلد در لیست فیلدها کلیک کرده و آن را تا یک فرم درگ می کنیم، اکسس به طور خودکار کادرهای متنی را به آن فرم اضافه می کند. باید دقت نمود که در تب Lookup مربوط به مشخصات فیلد مورد نظر در جدول داده ها، در خصوصیت Display Control باید گزینه Text Box اختصاص یافته باشد.

  • کادرهای Combo

این کادرها با کاربران اجازه می دهند تا از بین گزینه های مختلف که به صورت لیست در اختیار او قرار می گیرند، گزینه ای را انتخاب نمایند. اکسس روش های متعددی را برای افزودن کادر Combo به یک فرم در اختیار ما قرار می دهد. در صورتیکه خصوصیت Display Control از یک فیلد را به Combo Box اختصاص داده باشید، هنگام افزودن آن فیلد به یک فرم، اکسس یک کادر Combo به آن فرم اضافه می کند. کادر Combo به طور خودکار منبع داده ها و نیز سایر خصوصیات مهم دیگر خود را می داند. اگر می خواهید هنگام افزودن کادر Combo به فرم، اکسس برنامه Combo Box Wizard را برای شما اجرا کند، باید قبل از افزودن کادر Combo، روی گزینه Use Control Wizard موجود در جعبه ابزار کلیک کنید و سپس ابزار Combo Box را در جعبه ابزار انتخاب نمایید.

  • لیست ها (List Boxes)

لیست ها شبیه به کادرهای Combo می باشند، اما در سه مورد با آنها تفاوت دارند:

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

زمانی از کادرهای کنترلی استفاده می کنیم که بخواهیم کاربر را محدود به وارد کردن یکی از دو مقدار کنیم. برای این منظور باید در بخش Display Control مربوط به فیلد مورد نظر، گزینه Check Box را انتخاب کنیم و سپس فیلد را از لیست فیلدها کلیک کرده و تا روی فرم درگ کنیم. به عنوان نمونه می توان در برگه های مالی از چک باکس برای اختصاص برخی ضرایب به تجهیز کارگاه و یا هر فصل مورد نظری استفاده کرد.

  • دکمه های Option و Toggle

از این دکمه ها می توان به تنهایی و یا به عنوان قسمتی از یک گروه گزینه ها استفاده کرد. این دکمه ها برای فراهم نمودن امکان نمایش هر دو گزینه True/False به صورت نمایشی جهت انتخاب یک گزینه توسط کاربر مورد استفاده قرار می گیرد. به عنوان نمونه می توان از این گزینه ها برای اختصاص مقادیر و یا توضیحاتی در یکی از فیلدهای جداول موجود در بانک اطلاعاتی استفاده نمود. بنابراین دکمه های Option و Toggle به عنوان قسمتی از یک گروه از گزینه ها، کاربر را وادار می کنند تا از یک مجموعه منحصر بفرد از گزینه ها، گزینه ای را انتخاب نماید. تفاوت بین این دو گزینه در ظاهر آن ها است و از نظر عملکرد تفاوتی با هم ندارند.

  • گروهی از گزینه ها

یک گروه از گزینه ها به کاربر اجازه می دهد تا از یک مجموعه منحصر بفرد از گزینه ها، گزینه ای را اتخاب کند. این گروه ها می توانند شامل کادرهای کنترلی، دکمه های Toggle یا دکمه های Option باشند، اما متداول ترین روش پیاده سازی یک گروه از گزینه ها، استفاده از دکمه های Option می باشد.
ساده ترین روش افزودن گروهی از گزینه ها به یک فرم، استفاده از Option Group Wizard است. برای انجام این کار، ابتدا باید روس دکمه Use Control Wizards و سپس روی Option Group در جعبه ابزار کلیک کنید و پس از آن گروه گزینه ها را کلیک کرده و تا محل دلخواه بر روی فرم درگ نمایید تا به آن اضافه شود. این کار باعث اجرای Option Group Wizard می شود تا این امکان را فراهم نماید که متن مربوط به گزینه های موجود در گروه گزینه ها را تایپ کنید.

خصوصیات موجود برای فرم ها و دلایل استفاده از آنها

تا به این مرحله با گزینه های مختلف موجود در یک فرم به صورت اجمالی آشنا شدیم. این بخش از اهمین ویژه ای برخوردار است. فرم ها خصوصیات زیادی دارند که می توان از آنها برای تأثیر گذاشتن روی ظاهر و رفتار فرم ها استفاده کرد. این خصوصیات به چند دسته تقسیم می شوند که شامل Format، Data، Event و Other می باشند. پس از انتخاب یک فرم، می توانید روی دکمه Properties موجود در نوار ابزار کلیک کنید تا خصوصیات آن را مشاهده نمایید. کادر محاوره ای Properties شامل 5 زبانه می باشد که این زبانه ها شامل موارد فوق الذکر به همراه All می باشد.

  • گروه Format شامل تمام صفات فیزیکی فرم می باشد یعنی آنهایی که روی ظاهر فرم تاثیر می گذارند.
  • گروه Data شامل تمام خصوصیات داده هایی است که فرم به آنها محدود می باشد.
  • گروه Event شامل تمام رویدادهای ویندوز است که فرم می تواند به آنها پاسخ دهد. به عنوان نمونه می توان کدی نوشت که در پاسخ به بارگذاری فرم، فعال شود، رکورد دیگری را نمایش دهد و غیره.
  • گروه Other شامل تعداد اندکی خصوصیت هستند که در سه گروه دیگر جایی برای آنها ایجاد نشده است.

مطالعه این موارد به دلیل اینکه خارج از حوصله بحث ما می باشد را به همکاران گرامی واگذار می کنیم. این موارد می تواند در راستای ایجاد تغییرات و محدودیت ها در فرم ها بسیار مفید باشند.

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

گام به گام تهیه صورت وضعیت با اکسس (Access)-بخش هشتم

گام به گام تهیه صورت وضعیت با اکسس (Access)-بخش هشتم

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

خصوصیات فرم ها

در بخش قبلی به بررسی کادر محاوره ای Properties مربوط به فرم ها پرداختیم و به این موضوع اشاره کردیم که این کادر محاوره ای دارای 5 زبانه با نام های Format، Date، Event، Other و All می باشد. به منظور جلوگیری از اتلاف وقت بررسی زبانه های این کادر محاوره ای را به مخاطبان گرامی سپردیم ولی به دلیل اهمیت فراوان زبانه Other در این بخش به بررسی مختصر آن می پردازیم. موارد زیر از بخش های مختلف این زیبانه می باشد:

  • خصوصیت Pop Up : تعیین می کند که فرم همیشه در بالای سایر پنجره ها باقی بماند یا نه.
  • خصوصیت Modal : به منظور محدود کردن کار همزمان کاربر با سایر قسمت های برنامه کاربردی اکسس در زمان باز بودن فرم ها می باشد. گزینه Yes این محدودیت را برقرار می کند.
  • خصوصیت Cycle : رفتار کلید Tab موجود در یک فرم را کنترل می کند.
  • خصوصیت Menu Bar : نوار منوی مربوط به یک فرم را تعیین می کند که در آینده به آن می پردازیم.
  • خصوصیت Toolbar : نوار ابزار مربوط به فرم را تعیین می کند که در آینده به آن می پردازیم.
  • خصوصیت Shortcut Menu و Shortcut Menu Bar : خصوصیت Shortcut Menu تعیین می کند که وقتی کاربر روی یک شیء موجود در یک فرم کلیک راست می کند، یک منوی میانبر ظاهر شود یا خیر. خصوصیت Shortcut Menu Bar به شما اجازه می دهد تا یک منوی سفارشی را به یک کنترل موجود در فرم یا خود فرم مربوط کنید. در آینده به این موارد می پردازیم.
  • خصوصیت Fast Laser Printing : تعیین می کند که آیا خطوط و مستطیل ها همراه با یک فرم چاپ شوند یا خیر. گزینه Yes کیفیت چاپ را بالا خواهد برد.
  • خصوصیات Help File و Help Context ID : این خصوصیات برای مرتبط کردن یک فایل و عنوان Help مشخص با یک فرم استفاده می شوند.
  • خصوصیت Tag : برای ذخیره اطلاعات گوناگون برای درباره فرم استفاده می شود. این خصوصیت معمولاً در زمان اجرا تنظیم می شود تا اطلاعات لازم درباره با فرم را ذخیره کند. از خصوصیت Tag برای افزودن یک برچسب به هر یک از فرم هایی که باید به صورت گروهی بسته شوند، استفاده کرد.
  • خصوصیت Has Module : تعیین می کند که آیا فرم دارای ماژول کلاس می باشد یا خیر. اگر فرم دارای هیچ کد مربوطه ای نباشد، تنظیم این خصوصیت به No می تواند به طور قابل ملاحظه ای باعث کاهش زمان بارگذاری فرم و بهبود کارایی فرم شود.
  • خصوصیت Allow Design Changes : تعیین می کند که آیا می توان در حین مشاهده داده های یک فرم، تغییراتی را به شرح آن اعمال کرد یا خیر.

خصوصیات "کنترل" و دلیل استفاده از آن

با واژه "کنترل" در بخش قبل آشنا شدیم. همانگونه که بیان شد یک "کنترل" (Control) شیئی است که به یک فرم یا گزارش اضافه می کنیم. انواع کنترل شامل کادرهای متن، کادرهای Combo، لیست ها و کادرهای کنترلی می باشد. خصوصیات "کنترل" بسته به نوع آن متفاوت است. در این بخش به بررسی برخی خصوصیات عمومی کنترل ها می پردازیم:
خصوصیات Format از یک کنترل

  • خصوصیت Format : چگونگی نمایش داده های درون "کنترل" را توسط اکسس تعیین می کند. پیشنهاد می شود این خصوصیت را در زمان اجرا تغییر دهید تا بسته به موقعیت قالب کنترل تغییر یابد.
  • خصوصیت Decimal Place : تعیین می کند که چه تعداد رقم اعشار در کنترل ظاهر شوند.
  • خصوصیت Caption : برای تعیین اطلاعات مفید برای کاربر استفاده می شود.
  • خصوصیت Hyperlink Address : این خصوصیت تنها برای دکمه های فرمان، تصاویر و برچسب های متصل نشده موجود است.
  • خصوصیت Visible : تعیین می کند که آیا یک کنترل قابل رویت باشد یا نه. به عنوان نمونه یک سوال تنها در صورتی روی فرم ظاهر شود که مقدار کنترلی یک عدد مشخص باشد.
  • خصوصیت Display When : هنگامی مورد استفاده قرار می گیرد که بخواهید کنترل های مشخصی از فرم را تنها به صفحه یا تنها به چاپگر بفرستید. (دارای 3 حالت می باشد)
  • خصوصیت Scroll Bars : تعیین می کند که وقتی داده های موجود در یک کنترل درون آن گنجانده نمی شوند، نوارهای پیمایش ظاهر شوند یا خیر. (نوار پیمایش عمودی)
  • خصوصیت Scroll Bar Align : از این خصوصیت برای قرار دادن نوار پیمایش افقی استفاده می شود.
  • خصوصیت Can Grow و Can Shrink : تنها به نسخه چاپ شده یک فرم اعمال می شوند.
  • خصوصیات Left، Top، Width و Height : برای تنظیم موقعیت و اندازه یک کنترل مورد استفاده قرار می گیرند.
  • خصوصیت Back Style و Back Color : برای تنظیم رنگ پس زمینه کنترل کاربرد دارد.
  • خصوصیت Special Effect : به یک کنترل افکت های سه بعدی اضافه می کند.
  • خصوصیت Border Style، Border Color، Border Width : روی ظاهر، رنگ و پهنای حاشیه یک کنترل تاثیر می گذارند.
  • خصوصیت Text Align : این خصوصیت معمولا با توانایی ترازبندی کنترل ها اشتباه گرفته می شود، اما این خصوصیت روی چگونگی ترازبندی داده های درون یک کنترل تاثیر می گذارد.
  • خصوصیت Keyboard Language : وقتی با یک کنترل خاص کار می کنید، هنگام تایپ داده درون این کنترل، زبان صفحه کلید به زبان تعیین شده در این خصوصیت تبدیل می شود.
  • خصوصیت Line Spacing : برای تعیین فاصله بین خطوط متن موجود در یک کنترل چند خطی مورد استفاده قرار می گیرد.
  • خصوصیت Is Hyperlink : اگر این خصوصیت Yes باشد، داده های درون کنترل به عنوان یک فراپیوند قالب بندی می شود.

خصوصیات Data از یک کنترل

  • خصوصیت Control Source : فیلدی در منبع رکورد را مشخص می کند که با یک کنترل خاص مرتبط است.
  • خصوصیت Input Mask : این خصوصیت، داده هایی را که کاربر می تواند به کنترل وارد کند، تعیین می نماید. کنترل به طور پیش فرض، ماسک ورودی فیلد مربوط به خود را به ارث می برد و در صورت نداشتن ماسک ورودی فیلد، می توان در این بخش برای ورود اطلاعات یک قالب چیش فرض تعریف کرد.
  • خصوصیت Default Value : مقدار تخصیص داده شده به رکوردهای جدید وارد شده به یک فرم را تعیین می کند.
  • خصوصیات Validation Rule و Validation Text : این خصوصیات همان کارهایی را انجام می دهند که برای یک فیلد انجام می دهند که همان قانون اعتبار سنجی می باشد. باید دقت نمود که مجموعه قوانین اعتبار سنجی مربوط به یک کنترل نباید با مجموعه قوانین اعتبار سنجی مربوط به فیلدی که آن کنترل به آن فیلد محدود شده، در تضاد باشد. اگر این قوانین با هم تضاد داشته باشند، کاربر قادر به ورود داده در کنترل نخواهد بود.
  • خصوصیت Enabled : این خصوصیت تعیین می کند که آیا یک کنترل اجازه دارد فعال شود یا نه. اگر این خصوصیت به No تنظیم گردد، کنترل به صورت تیره یا غیر فعال ظاهر می شود.
  • خصوصیت Locked : این خصوصیت تعیین می کند که آیا کاربر می تواند داده های درون یک کنترل را تغییر دهد یا خیر. 
  • خصوصیت Filter Look Up : تعیین می کند که مقادیر مرتبط با یک کادر متن محدود در پنجره Filter By Form ظاهر شوند یا خیر.

خصوصیات Other از یک کنترل

  • خصوصیت Name : برای نامگذاری کنترل مورد استفاده قرار می گیرد.
  • خصوصیت Enter Key Behavior : تعیین می کند که کلید Enter باعث حرکت مکان نما به کنترل بعدی شود یا اضافه کردن یک خط جدید در کنترل جاری. 
  • خصوصیت Allow AutoCorrect : تعیین می کند که گزینه تصحیح خودکار در یک کنترل موجود باشد یا خیر. این گزینه خطاهای املایی معمول را به طور خودکار تصحیح می کند.
  • خصوصیت Vertical : برای تعیین اینکه متن داخل یک کنترل به صورت عمودی نمایش داده شود یا افقی، استفاده می شود.
  • خصوصیت Auto Tab : اگر این خصوصیت  Yes باشد، به محض اینکه کاربر آخرین کاراکتر از یک ماسک ورودی را وارد کند، مکان نما به طور خودکار به کنترل بعدی می رود.
  • خصوصیت Tab Stop : تعیین می کند که آیا کاربر می تواند از کلید Tab برای وارد شدن به یک کنترل استفاده کند یا خیر.
  • خصوصیت Status Bar Text : پیغامی را که هنگام فعال شدن کنترل در نوار وضعیت ظاهر می شود را مشخص می کند.
  • خصوصیت Tab Index : ترتیب جدول بندی را برای یک کنترل تنظیم می کند.
  • خصوصیت Shortcut Menu Bar : یک منوی خاص را به یک کنترل اضافه می کند. نوار منو هنگامی ظاهر می شود که کاربر روی کنترل، کلیک راست کند.
  • خصوصیت Control Tip Text : کادر شرح مربوط به یک کنترل را تعیین می کند. هنگامی که کاربر اشاره گر موس را روی کنترل قرار می دهد و با یک مکث آن را آنجا نگاه می دارد، کادر شرح به طور خودکار ظاهر می شود.
  • خصوصیت Help Context ID : عنوان Help مربوط به یک کنترل را تعیین می کند.
  • خصوصیت Tag : این خصوصیت برای ذخیره اطلاعات درباره یک کنترل استفاده می شود. قدرت تخیل شما، چگونگی استفاده از این خصوصیت را تعیین می کند.

کنترل های محدود، نامحدود و محاسباتی

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

  • یک برچسب که دستورالعمل هایی را برای کابر فراهم می کند
  • یک آرم که روی فرمی قرار داده شده است
  • یک کادر Combo یا کادر متن که روی فرمی قرار داده شده است و کاربر می تواند در آن معیارهای گزارش را وارد کند
  • یک مستطیل که روی فرمی قرار داده شده است تا کنترل ها را به طور منطقی گروه بندی کند

کنترل محاسباتی، نوعی خاص از کنترل است که نتیجه یک عبارت را نمایش می دهد. کاربر نمی تواند داده های درون یک کنترل محاسباتی را تغییر دهد و مقدار کنترل با تغییر مقادیر عبارت توسط کاربر، به طور خودکار تغییر می یابد. 

استفاده از عبارات برای بهبود فرم ها

هر کنترل می تواند شامل یک عبارت معتبر به عنوان منبع کنترل آن باشد. به این مفهوم که می توان در هر کنترل یک فرمول محاسباتی وارد نمود. هنگامی که یک عبارت را به عنوان منبع کنترل وارد می کنید یک علامت تساوی باید قبل از عبارت قرار گیرد. می توانید این عبارت را به صورت دستی وارد کرده و یا از Expression Builder استفاده کنید تا این فرآیند بسیار ساده تر انجام شود. برای این منظور در خصوصیت Control Source کلیک راست می کنیم و با انتخاب گزینه Build وارد کادر محاوره ای Expression Builder می شویم.

ایجاد سریع عملکردهای لازم در فرم ها

اکسس این امکان را برای کاربران فراهم نموده است که با کمک برخی ابزارها بتوانند یک سری فعالیت های روزمره و مهم را با کمترین زمان ایجاد نمایند. با کمک برنامه Command Button Wizard می توان به طور سریع و آسان به فرم ها، عملکرد های لازم را اضافه نمود. این ویزارد کد لازم برای اجرای بیش از 30 کار ضروری و معمول (شامل مکان یابی رکورد، عملیات رکورد، عملیات فرم، عملیات گزارش، عملیات برنامه کاربردی و سایر کارهای گوناگون دیگر) را می نویسد. اگر در حالتیکه ابزار Use Control Wizards انتخاب شده باشد، یک دکمه فرمان اضافه کنید (مانند دکمه Button) برنامه مذکور به طور خودکار ظاهر می شود. در کادر محاوره ای نمایش داده شده، گروه فعالیت و عمل خاصی که می خواهید دکمه فرمان انجام دهد را تعیین می کنید. قدم های بعدی این ویزارد بر حسب گروه و عملی که انخاب می کنید متفاوت است. به عنوان نمونه می توان برای فرم اصلی برنامه صورت وضعیت دکمه ای را اضافه نمود که با فشردن آن از برنامه صورت وضعیت خارج شویم. بدین منظور بعد از انتخاب کلید Button و بعد از باز شدن کادر محتوا، از بین موارد موجود در قسمت سمت چپ، گزینه Application را و از قسمت سمت راست گزینه Quit Application را انتخاب می کنیم. همانگونه که مشاهده می کنیم با فشردن این دکمه بر روی فرم اصلی (نحوه تهیه فرم اصلی را که با دستور Switchboard Manager آن را ایجاد می کنیم در بخش های بعدی توضیحات لازم را ارائه خواهیم کرد)، برنامه صورت وضعیت ما بسته می شود.

ایجاد فرم ها بر پایه چند جدول

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

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

گام به گام تهیه صورت وضعیت با اکسس (Access)-بخش نهم

گام به گام تهیه صورت وضعیت با اکسس (Access)-بخش نهم

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

معرفی گزارش ها

گزارش ها یک خروجی چاپ شده از داده های درون یک بانک اطلاعاتی فراهم می کنند بنابراین گزارش ها معمولاً هدف اصلی هر برنامه کاربردی بانک اطلاعاتی که ایجاد می کنیم، هستند. گزارش، روشی برای نمایش داده های یک جدول یا پرس و جو در یک سند قالب بندی شده است. با اینکه شما می توانید برگه های داده را هم چاپ کنید، اما گزارش ها چگونگی ارائه و خلاصه کردن داه ها را کنترل می کنند.
ویژگی Auto Report سریع ترین و ساده ترین روش ایجاد یک گزارش است. اکسس به کمک این گزینه یک گزارش را بدون اینکه هیچ سوالی از شما بپرسد، ایجاد می کند. با اینکه به وسیله این ویژگی بدون هیچ زحمتی می توانید گزارش هایی را ایجاد کنید، اما گزارش های حاصل قابلیت انعطاف ندارند زیرا اکسس در هنگام ایجاد آنها هیچ سوالی از شما نمی پرسد.
در حالی که فرم ها وسیله ای برای ورود داده ها فراهم می کنند، گزارش ها ابتدایی ترین وسیله خروجی در اکسس می باشند. شما می توانید گزارش ها را روی صفحه نمایش ببینید، به عنوان خروجی به چاپگر بفرستید، در یک مرورگر نمایش دهید و غیره. ایجاد گزارش ها نسبتاً ساده است، اما آنها بسیار قدرتمند می باشند.

انواع گزارش ها

انواع گزارش ها را می توان به شرح زیر تقسیم بندی نمود:

  1. گزارش های Detail
  2. گزارش های Summary
  3. گزارش های حاوی گرافیک و نمودار
  4. گزارش های حاوی فرم ها
  5. گزارش های حاوی برچسب ها
  6. گزارش های حاوی ترکیب هر یک از موارد فوق

گزارش های Detail

یک گزارش Detail برای هر رکورد موجود در گزارش، یک ورودی فراهم می کند. این گزارش ها بر پایه یک پرس و جو ایجاد شده است که داده های نمایش یافته در گزارش را بر اساس معیارهای تعیین شده توسط کاربر در زمان اجرا محدود می کند. در تهیه صورت وضعیت این گونه گزارشات را می توان برای تهیه ریزمتره ها از صورتمجالس احجام عملیات اجرایی استفاده نمود.

گزارش های Summary

یک گزارش Summary، برای تمام رکوردهای موجود در گزارش، داده های خلاصه ای را فراهم می کند. جزئیات مربوط به رکوردهایی که داده های خلاصه را تشکیل می دهند، در گزارش نمایش داده نمی شوند. از آنجایی که هیچ کنترلی در بخش Detail گزارش یافت نمی شود، اکسس تنها اطلاعات خلاصه را چاپ می کند.

گزارش های شامل گرافیک و نمودار

با اینکه جمله "یک تصویر گویای هزار کلمه است" یک جمله کلیشه ای است، اما تا حدی درست می باشد که بگوییم: تحقیقات ثابت کرده که انسان، داده ها را هنگامی که به جای اعداد به صورت تصویر نمایش داده می شوند، بسیار بهتر حفظ می کند. جالب است بدانید که اکسس افزودن گرافیک و نمودار به گزارش ها را بسیار آسان کرده است. بنابراین می توان یک گزارش را به گونه طراحی نمود که هم از اعداد و هم از نمودارها تشکیل شود. شما می توانید عکس ها، قطعات هنری، گرافیک های رسم شده با دست، نمودار ها و غیره را درون گزارش هایی که ایجاد می کنید، قرار دهید.

گزارش های حاوی فرم

اغلب کاربران به گزارش هایی نیاز دارند که شبیه به فرم‌های چاپ شده باشند. برنامه Report Builder موجود در اکسس، همراه با ابزارهای گرافیکی متعدد خود، شما را قادر به ایجاد سریع گزارش هایی می کند که حتی با زیباترین فرم‌های ورود داده رقابت می‌کنند. استفاده از گرافیک‌ها، رنگ، فونت‌ها، سایه و سایر افکت های ویژه به گزارش یک ظاهر حرفه ای می دهند. از این تنظیمات می توانید در ورود لوگو، ایجاد یک ظاهر مناسب برای برگه های آغازین صورت وضعیت و هرگونه کارهای گرافیکی مورد نیاز استفاده نمایید.

گزارش های حاوی برچسب

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

  1. بخش سربرگ
  2. بخش جزئیات
  3. بخش پایین صفحه

در واقع بخش جزئیات و یا همان Detail، بخش اصلی یک گزارش است. این بخش برای نمایش جزئیات داده های جدول یا پرس و جوی مربوط به گزارش مورد استفاده قرار می گیرد. برخی گزارشات همانند گزارشات Summary، چیزی در بخش Detail خود ندارد و در عوض این گزارشات حاوی داده هایی در Group Headers و Group Footers خود می باشند. بخش سربرگ و پایین صفحه، به صورت خودکار در بالا و پایین هر صفحه گزارش چاپ می شود. هر گزارش می تواند تنها شامل یک Header و یک Footer باشد.

علاوه بر این سه بخش که اکسس به صورت خودکار به هر گزارش اضافه می کند، یک گزارش می تواند شامل بخش های زیر نیز باشد:

  • بخش Report Header
  • بخش Report Footer
  • بخش Group Headers
  • بخش Group Footers

هر گزارش اکسس می تواند تنها شامل یک Report Header و یک Report Footer در شروع و خاتمه گزارش باشد. در واقع Report Header برای ایجاد صفحه جلد یک گزارش استفاده می شود و می تواند شامل گرافیک ها یا سایر افکت‌های فانتزی باشد که به گزارش یک ظاهر حرفه ای می دهد. معمول‌ترین مورد استفاده از Report Footer برای جمع کل است اما می تواند شامل هر نوع اطلاعات خلاصه دیگری برای یک گزارش نیز باشد.
همچنین هر گزارش اکسس می تواند علاوه بر Header و Footer های مربوط به صفحات گزارش، حداکثر 10 مورد Group Headers و Group Footers را نیز دارا باشد. گروه بندی های گزارش، داده ها را به صورت منطقی و فیزیکی از هم جدا می کند. Group Header قبل از جزئیات گروه و Group Footer بعد از جزئیات گروه چاپ می شوند. به عنوان نمونه می توانید آیتم های فهرست بها در هر صورت وضعیت را بر اساس فصول و یا رشته گروه بندی نمایید و در عین حال نام فصل و رشته فهرست بها را برای هر گروه مرتبط از رکوردها که همان آیتم های فهرست بها می باشند، چاپ نمایید. اگر بخواهید جمع آیتم های مربوط به هر فصل و یا رشته را جمع بزنید، می توانید نام فصل و یا رشته فهرست بها را در Group Header و سرجمع ها را در Group Footer مربوط به هر فصل و یا رشته قرار دهید.

ایجاد یک گزارش در نمای Design

با اینکه معمولا شروع بیشتر گزارشات با استفاده از Report Wizard کارآمدتر است، اما باید نحوه ایجاد یک گزارش جدید را در نمای Design بیاموزیم. در این بخش باید منبع رکوردهای گزارش را بر پایه جدول و یا پرس و جویی که می خواهید گزارش را بر پایه آن ایجاد کنید، تنظیم نمایید. عمده فعالیت زمان بر تهیه صورت وضعیت ها در اولین بار، ایجاد فرم ها و گزارشاتی مناسب که با ابزارهای متعدد و قوی گرافیکی اکسس ایجاد می شود، می باشد. با اختصاص زمان و ذوق در طراحی فرم ها و گزارشات زیبا که حاوی اطلاعات مورد نیاز کاربر باشد، می توانید ضمن جلب رضایت مخاطب از منظر ظاهری، کار در داخل برنامه را روان تر نموده و اطلاعات مودر نیاز خود را نمایش و یا بر روی برگه های صورت وضعیت چاپ نمایید.
ابزارهای متعددی برای کمک به شما در طراحی گزارش ها وجود دارندکه شامل پنجره های Properties، Toolbox، Field List، Sorting and Grouping هستند. دو نوار ابزار نیز در دسترس می باشند که ایجاد و سفارشی کردن گزارش ها را ساده تر می کنند. نوار ابزار Report Design ابزارهایی را برای ذخیره کردن، پیش نمایش و چاپ یک گزارش و نیز بریدن، کپی کردن و چسباندن اشیاء گزارش ارائه می دهد و نوار ابزار Formatting نیز بدین منظور طراحی شده است تا به شما در سفارشی کردن ظاهر یک گزارش کمک کند. این نوار ابزار شامل ابزارهایی برای تغییر فونت، اندازه فونت، تراز، رنگ، سایه و تغییر سایر صفات فیزیکی اشیاء گزارش می باشد.
کار با این ابزارها را به مخاطبین این مقاله واگذار می کنیم تا ضمن آشنا شدن با کاربرد هر یک، بتوانند از خلاقیت خود در تهیه گزارشاتی جذاب استفاده نمایند.
یک مشکل که در مورد افزودن فیلدها به گزارش وجود دارد، این است که اکسس هم فیلدها و هم برچسب های متصل به آنها را در یک بخش از گزارش قرار می دهد. این بدان معناست که اگر شما فیلدها را در پنجره Field List کلیک کرده و به سمت بخش Detail از گزارش درگ کنید، هم فیلدها و هم برچسب های متصل به آنها در بخش Detail ظاهر می شوند. این موضوع برای ما در زمانی که بخواهیم یک گزارش جدول بندی شده ایجاد نماییم، قابل قبول نیست بنابراین باید برچسب های متصل را ببریم و آنها را در بخش Page Header از گزارش بچسبانیم. این مورد یکی از دلایلی است که باعث می شود با برنامه Report Wizard شروع به کار کرده و سپس از نمای Design برای سفارشی کردن گزارش بر اساس نیازهای خود استفاده کنیم.
جا‌به‌جا کردن یک شیئ مستقل از برچسب متصل به آن، کمی سخت تر است. هنگامی که اشاره گر موس را روی مرکز یا حاشیه (نه روی یک دستگیره اندازه گذاری) یک شیئ انتخاب شده قرار می دهید، مکان نما شبیه به دستی خواهد شد که پنج انگشت آن به طرف بالا اشاره می کنند. این نشان می دهد که شیئ انتخاب شده و برچسب متصل به آن به عنوان یک واحد جا‌به‌جا شده و رابطه بین آنها نیز حفظ می شود. اما اگر اشاره گر موس را مستقیماً روی دستگیره انتخاب در گوشه بالا و چپ شیئ قرار دهیم، مکان نما شبیه به دستی خواهد شد که تنها انگشت نشانه آن به طرف بالا اشاره می کند. این نشان می دهد که شیئ و برچسب متصل به آن به صورت مستقل از یکدیگر جا‌به‌جا می‌شوند و بدین ترتیب می توان فاصله بین آنها را تغییر داد.
برای ترازبندی اشیاء با یکدیگر، باید ابتدا آنها را انتخاب نماییم. برای انجام این کار، فرمان Format/Align را انتخاب کرده و سپس یکی از گزینه های Left، Right، Top، Bottom و یا To Grid را برگزینید. بدین ترتیب اشیاء انتخاب شده خود را با یکدیگر تراز می کنیم.
ویژگی Snap to Grid یک سوئیچ است که در منوی Format یافت می شود. اگر این گزینه انتخاب شود، تمام اشیائی که در حال انتخاب یا اندازه گذاری آنها هستید، به خطوط شبکه گزارش می چسبند.
از منوی Format بسیاری از تنظیمات دیگر از قبیل تکنیک های قدرتمند اندازه گذاری، کنترل فاصله بندی اشیاء و موارد مشابه را می توانید برای بهبود زیبایی و ظاهر برگه های گزارش استفاده نمایید.

برچسب ها

برچسب ها برای نمایش اطلاعات به کاربر مورد استفاده قرار می گیرند. برچسب ها در یک گزارش عموما برای عنوان گزارش، عناوین ستون ها یا عناوین گروه ها استفاده می شوند. برای افزودن برچسب به یک گزارش، ابزار Label در کادر ابزار را انتخاب کرده و سپس برچسب را کلیک و درگ کنید تا آن را روی گزارش قرار دهید.

کادرهای متن

می توان از کادرهای متن برای نمایش اطلاعات فیلد و یا نتیجه یک عبارت در بخش های مختلف یک گزارش استفاده کرد. برای مثال کادر متن موجود در یک Page Header ممکن است شامل عبارتی باشد که تاریخ تنظیم و یا بازه زمانی یک صورت وضعیت را نشان دهد. کادر متن موجود در یک Group Header ممکن است برای نمایش عنوان گروه مورد استفاده قرار گیرد. امکانات مادرهای متن بی شمار است زیرا یک کادر متن می تواند شامل هر عبارت معتبری باشد.

خطوط

می توانید از خطوط برای تفکیک بصری اشیاء موجود در یک گزارش استفاده کنید. برای افزودن یک خط به گزارش، روی ابزار Line در جعبه ابزار کلیک کنید تا انتخاب شود و سپس خط را کلیک و درگ نمایید. برای اطمینان از صاف بودن خطی که می کشید در حین کشیدن خط کلید Shift را پایین نگه دارید.

مستطیل ها

از مستطیل ها می توان برای گروه بندی بصری اقلام موجود در یک گزارش (که منطقاً به یکدیگر مربوطند) استفاده کرد. علاوه بر این می توان از آنها برای ایجاد کنترل های خاصی در طرح یک گزارش استفاده نمود. برای افزودن مستطیل به یک گزارش، ابزار Rectangle موجود در جعبه ابزار را انتخاب کرده و سپس با کلیک و درگ کردن مستطیل را روی گزارش قرار دهید. یک مستطیل ممکن است باعث محو شدن اشیاء موجود در گزارش شود. برای حل این مشکل می توانید خصوصیت Back Style مربوط به مستطیل را به Transparent تنظیم کنید. این تنظیم بسیار خوب است. اگر بخواهید مستطیل یک پس زمینه داشته باشد، فرمان Format/Send to Back را انتخاب کنید تا اشیاء لایه بندی شده و مستطیل پشت سایر اشیاء موجود در گزارش قرار گیرد.

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

در راستای تهیه صورت وضعیت های کارگاه با نرم افزار اکسل می توانید از مقالات زیر استفاده نمایید:

آموزش تهیه صورت وضعیت با اکسل (قسمت اول)

آموزش تهیه صورت وضعیت با اکسل (قسمت دوم)

آموزش تهیه صورت وضعیت با اکسل (قسمت سوم)

به منظور آشنایی بیشتر با این مبحث و رسیدن به جواب سوالات خود و یا ارائه هر گونه انتقاد و پیشنهاد به بخش مشاوره آنلاین کارگشا مراجعه فرمایید. 

منابع :

  • دپارتمان متره و برآورد سامانه جامع صنعت ساختمان
  • کتاب خود آموز مایکروسافت اکسس در 24 ساعت
  • کتاب خود آموز جامع مایکروسافت اکسس

مشاهده بیشتر

نوشته های مشابه

1 دیدگاه

  1. سلام و عرض تبریک و خسته نباشید
    دوست عزیز نقد کوچکی در جهت بهبود سامانه ی مذکور دارم که خدمتتون عرض میکنم:
    راستش سامانه تحت وب رو نگاه کردم، با کمال احترام باید بگم که نه تنها ابزار و حرف جدیدی نداشت بلکه یه کپی ضعیف بود.

    ای کاش حداقل یکم در مورد محتوای این سامانه کار می شد. مثلا یکی از صفحات اختصاص داده شده به نحوه ی استفاده از اکسس برای تهیه صورت وضعیت، ولی در واقع محتوای اون کپی پیست کلیت اکسس هست. مثال های آورده شده هم اکسل هستن!
    https://kargosha.com/fa/content/id/1757/گام-به-گام-تهیه-صورت-وضعیت-با-اکسس-(Access)-بخش-اول

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

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

    با آرزوی  موفقیت و تعالی
    جعفر دارائی
    http://www.SmartMng.ir

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا