تبدیل اکسل به اکسس | راهنمای کاربردی و به زبان ساده
با توجه به سهولت ثبت اطلاعات در قالب csv یا Comma Separated Value، که برای دادههای ساختیافته مناسب است، اکثر نرمافزارهایی که به نوعی عمل پردازش دادهها را اجرا میکنند، برای ورود یا خروج اطلاعات از چنین قالبی بهره میبرند. از طرفی اکسل به عنوان یک صفحه گسترده، قادر است این اطلاعات را دریافت کرده و پردازشهای سطری و ستونی را به سادگی روی آنها انجام دهد. به همین دلیل، در اغلب موارد، از نرمافزار مایکروسافت اکسل (MS-Excel) برای ویرایش فایلهای csv و ثبت اطلاعات متنی و عددی استفاده میکنند. از طرفی قدرت گزارشگیری مایکروسافت اکسس (MS-Access) به عنوان یک بانک اطلاعاتی، لزوم انتقال این گونه اطلاعات را در اکسس افزایش میدهد. به همین جهت، میخواهیم در این متن از مجله فرادرس، نحوه انتقال دادهها و تبدیل اکسل به اکسس را مرور کرده و طی گامهایی عملیات مورد نظر را اجرا نماییم.
برای آشنایی با اکسل و اکسس، بهتر است مطالب آموزش اکسل — به زبان ساده و آموزش اکسس (Access) — به زبان ساده | رایگان و کامل را از مجله فرادرس مطالعه کنید. همچنین خواندن نوشتارهای کوئری در اکسس و انواع آن — راهنمای کاربردی و Microsoft Power Query چیست و چه مزایایی دارد؟ — راهنمای کاربردی نیز خالی از لطف نیست.
تبدیل اکسل به اکسس
همانطور که میدانید، ساختار یک «صفحه گسترده» (Spreadsheet)، براساس جدول است. چنین جدولهایی دارای تعدادی مشخص، سطر (Row) و ستون (Column) هستند. این ساختاری برای ورود و محاسبه روی سلولها که از محل تقاطع سطرها و ستونها ساخته میشوند، مناسب است. در این حالت، کاربر اجازه دارد، دادهها و مقادیر را به هر شکلی که مورد نظرش است (سطری، ستونی، سلولی) درون کاربرگ (Worksheet) وارد کند. اکسل (MS-Excel) نیز یک صفحه گسترده بوده و چنین خصوصیاتی دارد.
از طرفی در یک «بانک اطلاعاتی» یا «پایگاه داده» (Database) اجزای دیگری به کار گرفته میشوند. «جدول» (Table)، «فرم» (Forms) و «پرسوجو» (Query) و همچنین گزارش (Report) و رابطه بین جدولهای اطلاعاتی (Relations)، تشکیل یک بانک اطلاعاتی میدهند. از آنجایی که «اکسس» (MS-Access)، یک بانک اطلاعاتی محسوب میشود، چنین بخشهایی در این نرمافزار برای پردازش دادهها در نظر گرفته شده است.
هر چند اکسل به عنوان یک صفحه گسترده محبوب، برای نگهداری و ثبت اطلاعات به کار میرود، ولی گاهی لازم است که این اطلاعات را برای گزارشگیری به اکسس منتقل کنیم. شاید محدودیت ستونها و سطرهای اکسل دلیلی برای انتقال دادهها به اکسس محسوب میشود. به این ترتیب لازم است که مثلاً برای ایجاد فرمهای ورود (Forms) یا خروجی (Report) و همچنین پرسوجو (Query) از مجموعه داده، از امکانات اکسس استفاده کنیم. این مطلب به منظور معرفی راهکاری برای انتقال دادهها از اکسل به اکسس نوشته شده است.
مراحل و گامهای مربوط به اجرای این عملیات در ادامه قابل مشاهده است. البته توجه داشته باشید که این مراحل، براساس نسخه ۲۰۱۶ نرمافزار اکسس قابل اجرا است. همچنین فرض کنید که اطلاعاتی که در اکسل وجود دارد، مطابق با جدول زیر است و باید آنها را به اکسس منتقل کنیم.
First_Name | Last_Name | Age |
Bob | Lee | 23 |
James | Ford | 57 |
Nancy | Silva | 34 |
Maria | Green | 28 |
Jack | May | 45 |
مشخص است که سه ستون با مقادیر متنی و عددی داریم. هر یک از ستونها دارای اسامی مشخصی بوده و مقادیری که در هر ستون نوشته شده، همگی یکدست و از یک نوع هستند. برای مثال در ستون Age همه سلولها، با مقدار عددی (Integer) پر شدهاند ولی در ستونهای Last_Name و First_Name، عبارتهای متنی (Text) ثبت شدهاند. تصویر ۱، چنین اطلاعاتی را در محیط اکسل نشان میدهد.
گام صفر: محدودیتهای انتقال
قبل از اینکه مراحل اجرای این عمل را معرفی کنیم، محدودیت و شرایطی که تحت آن تبدیل اکسل به اکسس قابل اجرا است، خواهیم پرداخت. از آنجایی که این گام اختیاری است، آن را گام صفر نام نهادهایم. در ادامه به بعضی از مهمترین این شرایط میپردازیم.
- با هر بار انجام عملیات تبدیل اکسل به اکسس تنها قادر به انتقال یک «کاربرگ» (WorkSheet) از فایل اکسل هستید و نمیتوان کل فایل اطلاعاتی اکسل یعنی «کارپوشه» (WorkBook) را به اکسس انتقال داد.
- فرمولها و محاسباتی که درون سلولهای اکسل نوشته شدهاند، به اکسس منتقل نمیشوند، بلکه فقط مقدار محاسبه شده، در جدول اکسس ثبت خواهد شد. بنابراین انتظار نداشته باشید که جدول اکسس، امکان اجرای محاسبات مانند اکسل را داشته باشد.
- در حین فرآیند تبدیل اکسل به اکسس هرگز تصاویر و نمودارهای کاربرگها منتقل نخواهند شد. فقط محتویات سلولها در هنگام انتقال، جابجا میشوند.
- محدودیت در نوع فیلدهای متنی اکسس را فراموش نکنید. هر فیلد متنی حداکثر ۲۵۵ حرف را در خود جای میدهد. در صورتی که محتویات سلول بیش از ۲۵۵ حرف باشد، نوع فیلد به «یادداشت» (memo) تغییر خواهد کرد.
گام اول: آمادهسازی اطلاعات در اکسل
یکی دیگر از مقدمات انتقال فایل از Excel به Access، آماده سازی اطلاعات در اکسل است. این کار را باید به شکلی انجام دهید که ساختار جدول (Table) در اکسس محقق شود. از آنجایی که اکسل برای کاربر هیچ محدودیتی برای ورود دادهها اعمال نمیکند، در نظر گرفتن ساختار بانک اطلاعاتی برای دادههایی که قرار است منتقل شوند، امری واجب محسوب میشود. در غیر اینصورت شاید اکسس منظور شما را از انتقال اطلاعات درک نکرده و نتیجه به نحوی که میخواهید صورت نگیرد.
لیستی که در ادامه مشاهده میکنید، میتواند به عنوان چک لیست مطابقت دادهها برای انتقال آن ها از اکسل به اکسس محسوب شود.
- ابتدا اطمینان حاصل کنید که در سطر اول کاربرگ اکسل و درست بالای هر ستون اطلاعاتی، وجود دارند. این اسامی در جدول اکسس به عنوان نام «فیلد» (Field) به کار خواهند رفت. این کار باعث میشود که پردازش اطلاعات برای تبدیل اکسل به اکسس با سهولت بیشتری صورت گیرد.
- تمامی سطرها یا ستونهای خالی را (که به صورت ناخواسته) در بین اطلاعات فایل اکسل و کاربر، ایجاد شدهاند را حذف کنید. مجموعه داده برای ورود به اکسس باید به صورت یکپارچه باشند و بین سطرها یا ستونها، فاصله خالی وجود نداشته باشد.
- تمامی مقادیری که شامل مقدار خطا (مثلا !value#) در اکسل هستند را از بین ببرید. بهتر است این خطاها را با استفاده از ابزارهای جستجو و جایگزینی، پیدا کرده و تغییر دهید. بهتر است مطلب جستجوی متن در اکسل — به زبان ساده را برای انجام سریعتر این کار بخوانید.
- تمامی مقادیر ستونها را از لحاظ نوع داده (عددی، تاریخی، متنی و ...) و شیوه ورود آنها بررسی کنید. تمامی مقادیر یک ستون باید نوع داده یکسانی داشته باشند. هماهنگی بین این مقادیر، اکسس را در تشخیص نوع داده برای فیلدها یاری میرساند.
- ستونی (در حقیقت فیلد) که قرار است هر رکورد را به طور انحصاری مشخص کند را در کاربرگ تعیین کنید. البته در اکسل نیاز به انجام عملی نیست ولی در ادامه، اکسس نیاز به چنین فیلدی خواهد داشت. اگر در کاربرگ، چنین ستونی ندارید، اکسس یک فیلد را به طور خودکار برای این مورد در نظر میگیرد تا سرعت جستجو و مرتبسازی جدول را افزایش دهد.
فرض بر این است که این کاربرگ، همان Sheet1 بوده و ناحیه اطلاعاتی پیوسته و شامل سه ستون است.
گام دوم: اجرای عملیات انتقال
پس از رعایت موارد ذکر شده در بالا که یک انتقال موفق را رقم خواهد زد، زمان اجرای عملیات انتقال یا Import است. برای این منظور طبق عملیات زیر پیش میرویم.
در داخل پنجره نرمافزار اکسس و از برگه External Data در بخش Import & Link، روی دکمه مربوط به نماد اکسل (Excel) از فهرست From File کلیک میکنیم. محل قرارگیری این دکمه در تصویر ۲ دیده میشود.
با انجام این کار، «راهنمای گام به گام» (Wizard) برای اجرای عملیات، ظاهر شده که اولین پنجره آن با عنوان Get External Data — Excel Spreadsheet مشخص شده است. هر یک از بخشهای این پنجره، در ادامه معرفی شدهاند.
در قسمت File Name مسیر و نام فایل اکسل را وارد کنید، برای این کار میتوانید از دکمه Browse کمک گرفته، محل و نام فایل مورد نظرتان را پیدا کنید. در بخش بعدی این پنجره، گزینه اول یعنی Import the source data into a new table in the current database را برای انتقال اطلاعات فعال در نظر بگیرید. به این ترتیب، کاربرگ اکسل به یک جدول جدید در بانک اطلاعاتی جاری تبدیل خواهد شد. گزینه دوم یعنی Link to the data source by creating a linked table، باعث خواهد شد به جای ایجاد یک جدول اطلاعاتی، یک جدول پیوندی ساخته شود و بین کاربرگ و آن جدول ارتباط برقرار گردد. به این ترتیب هر گاه اطلاعات کاربرگ اکسل تغییر یابد، جدول اکسس نیز تغییر خواهد کرد.
با اجرای این محله و فشردن دکمه OK یک راهنمای گام به گام برای انتقال و شناسایی دادههای کاربرگ اکسل ظاهر خواهد شد.
گام سوم: تعیین فیلدها و ویژگیهای جدول اکسس
پنجرهای که به عنوان اولین مرحله «راهنمای گام به گام» (Wizard) مشاهده میکنید، مطابق با تصویر ۴ است. در این گام با انتخاب گزینه First Row Contains Column Headings، نشان میدهید که اسامی فیلدها باید از اولین سطر کاربرگ استخراج شود. پیشنمایش رکورد و فیلدها در قسمت پائینی و به شکل یک جدول قابل مشاهده است. اسامی فیلدها نیز استخراج شده و در این قسمت به خوبی دیده میشوند.
در این پنجره با کلیک روی دکمه Next به مرحله بعدی خواهیم رفت. اگر دکمه Finish را کلیک کنید، ادامه کار و اجرای مراحل بعدی، طبق پیشفرضهای اکسس، تنظیم شده و جدول اطلاعاتی ساخته خواهد شد.
گام چهارم: تعیین کلید نوع داده برای فیلدها
همانطور که گفته شد، اکسل مقادیر ستونها را بدون هیچ محدودیتی از طرف کاربر قبول میکند ولی اکسس برای فیلدها و مقادیر آنها ساختار مشخصی قائل است. اگر فیلدی از نوع عددی است، اجازه ورود مقادیر متنی وجود ندارد. به همین دلیل، نحوه ثبت و نگهداری اطلاعات در اکسس به صورت ساختیافته است.
در این مرحله، نوع داده برای فیلدها را مشخص میکنیم. توجه داشته باشید که اگر مرحله یا گام صفر را به درستی اجرا کرده باشید، در این بخش، با مشکلی مواجه نخواهید بود. در تصویر ۵، نمایی از پنجره تعیین نوع داده در راهنمای ورود و تبدیل اکسل به اکسس را مشاهده میکنید.
در این مرحله قادر به انجام تنظیمات مربوط به فیلدها در بخش Field Options هستیم. با کلیک کردن روی هر یک از ستونهای کاربرگ که در پائین تصویر ۵ مشخص است، تنظیمات مربوط به «نام فیلد» (Field Name)، «نوع دادهها» (Data Type) و «اندیسگذاری» (Indexed) برای این فیلد را مشخص میکنیم. به عنوان مثال در این تصویر، ستون اول به صورت فیلدی با نام First_Name با نوع داده «متن کوتاه» (Short Text) تعیین شده است. توجه دارید که اندیسگذاری برای این فیلد صورت نگرفته.
در تصویر ۶، فیلد «سن» (Age) با مقادیری از نوع «عدد» (Integer) شناسایی شده است. واضح است که از این مقادیر برای انجام محاسبات (مثلا بدست آوردن میانگین سن افراد) میتوان استفاده کرد.
نکته: اگر گزینه (Do not import field (Skip را انتخاب کنید، این ستون از کاربرگ در جدول اکسس قرار نگرفته و تنظیماتی برای آن در نظر گرفته نخواهد شد.
به صورت مشابه میتوانید برای تمامی ستونها، تنظیمات دلخواه را اعمال کنید و یا اصلاً بدون اعمال تغییرات و با توجه به تنظیمات پیشفرض، مرحله بعدی را آغاز کنید. با کلیک بر روی دکمه Next، پنجره مربوط به پارامتر فیلدها در گام بعدی ظاهر خواهد شد.
گام پنجم: تعیین کلید اصلی برای جدول
در این مرحله قادر به انتخاب کلید اصلی (primary key) برای جدول مورد نظر هستید. اگر فیلدی در کاربرگ وجود ندارد که به عنوان کلید اصلی به کار رود، بهتر است با انتخاب گزینه Let Access add primary key، اکسس را وادار به ایجاد یک کلید اصلی (مثلا فیلدی با نام ID با مقادیر یکتا) بکنید. به تصویر ۷ توجه کنید.
با انتخاب گزینه choose my own primary key از بین فیلدهای موجود، یکی که شرایط کلید اصلی را دارد انتخاب کنید. همچنین گزینه No primary key، جدول را بدون کلید اصلی خواهد ساخت. پس از انجام این مرحله، با انتخاب دکمه Next، مرحله نهایی ظاهر خواهد شد.
نکته: توجه داشته باشید که کلید اصلی، فیلدی است که مقدار منحصر به فرد داشته و برای همه رکوردها، مقدار دهی شده است. از این فیلد اغلب برای ارتباط (Relation) بین جدولهای بانک اطلاعاتی و جلوگیری از مشکل افزونگی، استفاده میشود.
گام ششم: تائید مراحل طی شده
در آخرین مرحله، برای جدول مورد نظر در اکسس، یک نام انتخاب خواهید کرد. نحوه تعیین نام در این گام، در تصویر ۸ دیده میشود. توجه دارید که هنگام اجرای اکسس، یک نام برای پایگاه داده (بانک اطلاعاتی) در نظر گرفتید. نامی که در این گام مشخص میکنید، فقط برای جدول تبدیل اکسل به اکسس لازم است.
بر روی دکمه Finish کلیک کنید تا راهنمای گام به گام با عنوان Get External Data — Excel Spreadsheet پایان یابد.
نکته: با انتخاب ...I would like a wizard to analyze، به اکسس اجازه میدهید که جدول ساخته شده را مورد تحلیل قرار داده و پس از ورود دادهها آن را از لحاظ وجود افزونگی و ویژگیهای یک جدول ایدهآل در بانک اطلاعاتی، آنالیز کند.
به این ترتیب پنجرهای دیگری مانند تصویر ۹، خاتمه عملیات را نشان خواهد داد. اگر میخواهید مراحل طی شده و تنظیمات صورت گرفته در این راهنما را ذخیره کرده و برای کاربرگهای دیگر اکسل یا همین کاربرگ، دوباره اجرا کنید، گزینه save import steps را فعال کرده تا مراحل گفته شده ذخیره شود.
با این انتخاب، باید به این راهنمای گام به گام یک اسم اختصاص دهید و آن را ذخیره کنید. توجه داشته باشید که برای اجرای دوباره این راهنمای گام به گام (Wizard) باید مطابق با تصویر ۲، گزینه Saved imports را انتخاب و از لیست ظاهر شده، نام راهنمای دلخواه را انتخاب کنید.
نمایش جدول ایجاد شده در اکسس
همانطور که گفته شد، پس از پایان گامهای تبدیل اکسل به اکسس باید یک جدول در بانک اطلاعاتی ایجاد شده باشد. برای نمایش اطلاعاتی که در این جدول ذخیره شده، کافی است روی نام آن در بخش Table، دوبار کلیک کنید تا جدول باز شده و اطلاعات آن نمایش داده شود. در تصویر ۱۰، نمونهای از جدول تولید شده در اکسس که توسط این راهنما، ساخته شده را مشاهده میکنید.
فرض کنید جدولی که ایجاد شده با People نامگذاری شده است و میخواهیم اطلاعات آن را مشاهده کنیم. به این منظور، روی نام این جدول دوبار کلیک میکنیم. جدول به حالت datasheet view که برای دیدن اطلاعات مناسب است، باز خواهد شد. تصویر ۱۱، اطلاعات چنین جدولی را نشان میدهد. به فیلد جدیدی که با نام ID مشخص شده دقت کنید. این فیلد نقش کلید اصلی را برای جدول ایفا کرده است، زیرا گزینههای تنظیمی، انتخاب کلید اصلی را به عهده اکسس گذاشته بود
همانطور که مشخص است، این جدول شامل ۴ فیلد و ۵ رکورد است. برای اضافه کردن رکورد روی گزینه (New) کلیک کنید. همچنین اگر لازم است فیلد جدیدی به این جدول اضافه شود، در ستون آخر با برچسب Click to Add، نام فیلد را نوشته و مقادیر مورد نظر را در سطرهای بعدی این ستون قرار دهید.
نکته: به یاد داشته باشید که این مراحل برای وارد کردن یک کاربرگ اکسل به کار میآید. اگر کاربرگ دیگری باید به بانک اطلاعاتی اضافه شد، مراحل و گامهای گفته شده را برای آن کاربرگ تکرار کنید.
خلاصه و جمعبندی
مراحلی که برای انتقال داده و تبدیل اکسل به اکسس لازم بود در این متن مورد توجه قرار گرفت. همانطور که دیدید، تبدیل اطلاعات، به صورت گام به گام انجام شده.ولی قبل از آن باید، ویژگیهای یک جدول اطلاعاتی در بانک اطلاعاتی را در اکسل رعایت کنیم تا هنگام تبدیل، مشکلی پیش نیاید. مشخص است که از لحاظ حجم و سرعت پردازش اطلاعات، اکسس بسیار برتر از اکسل عمل میکند ولی محدودیتهایی که برای ساختار جدول و گزارشات دارد، کاربران تازه کار را آزار میدهد. در حالیکه برعکس در اکسل دست کاربر باز بوده و به هر شکل ممکن، اطلاعات را وارد و ثبت میکند. وجود ساختار جدولی و فیلد و رکورد، باعث میشود که گزارشگیری از اکسس نسبت به اکسل سادهتر باشد. به همین جهت اغلب احتیاج به تبدیل اکسل به اکسس داریم.