چگونگی تبادل اطلاعات بین اکسس و اکسل

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

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

برای این کار هم دلایل متعددی می توان برشمرد .

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

حالا می خواهید اطلاعات موجود در خصوص مقادیر فروش را مورد تجزیه و تحلیل قرار دهید .

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

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

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

همه ما بخوبی می دانیم که نرم افزار اکسس در خانواده آفیس به نحوی یک نرم افزار تخصصی حساب می شود .

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

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

و داستان دقیقا از همین جا شروع می شود .

برای اینکه ما اطلاعات خود را از اکسس به اکسل منتقل کنیم اول باید به این سوالات پاسخ دهیم :

–  اول باید مشخص کنیم که اطلاعات موجود در کدام بخش از اکسس را می خواهیم به نرم افزار اکسل مورد نظر بفرستیم .

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

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

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

پاسخ هر کدام از این سوالات متفاوت می باشد .

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

 

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

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

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

راه اول استفاده از قابلیت Wizard در اکسس است. 

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

اما راه دوم که راه حرفه ای تری است استفاده از کد نویسی و برنامه نویسی VBA  است .

 راه اول که گفتیم ساده تر است را در قالب یک آموزش ویدیویی می توانید در اینجا مشاهده کنید . 

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

تبادل اطلاعات بین اکسس و اکسل

 

همانگونه که گفتیم در سمت اکسل با دو گزینه روبرو هستیم .

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

یا اینکه اصلا فایل اکسلی وجود ندارد.

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

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

در این حالت یعنی زمانی که از قبل فایل اکسلی نداریم برای فرستادن اطلاعات از اکسس به سمت اکسل از دستور DoCmd.OutputTo استفاده کنیم .

پس در قدم اول باید با این دستور آشنا شویم .

ساختار کلی این دستور بصورت زیر است :

همانگونه که می بینید این دستور دارای  چند ورودی می باشد .

برای اینکه بهتر بتوانیم کار با این تابع را یاد بگیریم یک به یک این ارگومان ها را بررسی کرده و همزمان کار تکمیل و مقدار دهی آنها را را نیز پیش می بریم .

ورودی اول : ObjectType

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

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

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

لیست اشیا  در متد OutputTo  در اکسس  .

اگر به این لینک مراجعه کنید می بینید این جدول دارای دو ستون است .

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

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

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

پس تابع خود را اینگونه مقدار دهی می کنیم .

 اول یک روال ایجاد می کنیم . 

در داخل این روال تابع مورد نظر را درج می کنیم . به محض اینکه یک فاصله جلوی تابع را ایجاد کنیم اکسس بصورت خودکار یک لیست کشویی را به ما نمایش می دهد.

تبادل اطلاعات بین اکسس و اکسل

این لیست شامل تمامی اشیایی است که ما می توانیم انتخاب کنیم .

در اینجا شی مورد نظر ما یک جدول است پس گزینه مربوط به جدول را انتخاب می کنیم .

در نتیجه کد ما بصورت زیر مقدار دهی می شود ..

ورودی دوم : ObjectName 

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

بنابراین باید دقیقا نام جدول مورد نظر خود را در این ورودی درج کنیم .

جدولی که من در اینجا دارم به نام tbl_sale  نام گذاری شده است .

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

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

حالا به سراغ ورودی بعدی می رویم .

ورودی سوم : OutputFormat 

در اینجا باید فرمت فایل اکسل مورد نظر خود را برای خروجی اطلاعات تعیین کنیم .

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

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

برای مشاهده لیست مربوط به این فرمتها می توانید از تصویر زیر کمک بگیرید .

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

 در این بین ۳ فرمت از فرمت های خروجی مربوط به نرم افزار اکسل است که در تصویر آنها را از بقیه متمایز کرده ایم .

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

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

ورودی چهارم : OutputFile .

این ورودی شامل یک متن است .

این متن شامل آدرس کاملی است از مسیری که می خواهیم فایل اکسل ما ایجاد شود .

از طرفی هم نام فایل مورد نظر و فرمت ان را در این متن باید ذکر کنیم .

بعنوان مثال به کدی که با استفاده از این ورودی تکمیل کرده ایم دقت کنید .

در این کد ما تعیین کرده ایم که فایل اکسل مورد نظر ما در درایو C  در پوشه ای تحت عنوان myexcelfile  قرار بگیرد .

 فقط باید حتما دقت کنید که از قبل پوشه ای تحت همین عنوان باید حتما در مسیر معرفی شده قرار داشته باشد .

در غیر اینصورت اجرای این کد با خطا مواجه خواهد شد .

در انتها هم نام فایل اکسل مورد نظر را به همراه فرمت آن برای تابع تعریف می کنیم .

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

ورودی چهارم : AutoStart.

این آرگومان دو تا ورودی می تواند قبول کند یا True یا False .

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

اگر مقدار False  باشد فایل اکسل بصورت خودکار اجرا نمی شود.

حالا کد خود را با استفاده از این ورودی  به پیش می بریم .

 تا به اینجای کار و با استفاده از همین پارامترهایی که استفاده کردیم به راحتی می توانیم نتیجه کار مورد نظر خود را مشاهده کنیم .

هر چند که در این تابع ورودی های دیگری هم وجود دارند که در زیر فقط به آنها اشاره می کنیم .

البته استفاده از تمامی این آرگومان ها یا پارامتر ها ضرروی نمی باشد .

ورودی پنجم: TemplateFile.

این آرگومان می تواند آدرس یک فایل اکسل باشد که قرار است بعنوان الگویی برای فرمت فایل اکسل ما قرار بگیرد .

ورودی ششم: Encoding.

این آرگومان فرمت کد شده کاراکترها را تعیین می کند  . اگر آن را خالی بگذارید اکسس از تنظیمات پیش‌فرض ویندوز استفاده می کند .

ورودی هفتم: OutputQuality.

کیفیت خروجی را تعیین می کند و می تواند یکی از دو حالت زیر را بپذیرد .

acExportQualityPrint : کیفیت فایل  خروجی را برای حالت پرینت بهینه سازی می کند  .

acExportQualityScreenکیفیت فایل  خروجی را برای حالت نمایش بر روی صفحه بهینه سازی می کند .

 

این مطلب ادامه دارد …………..

تبادل اطلاعات بین اکسس و اکسل

آموزش اکسس بازدید : 303 views 1 آگوست, 2020 ۰