این مورد شاید به انبارداری پیشرفته در اکسل مربوط باشد ولی خوشبختانه بیشترین مطلب و آموزش را در حوزه انبارداری در اکسل را در این وبسایت منتشر کرده ایم و حالا در راستای تکمیل مطالب این حوزه می خواهیم بر خروج اقلام از انبار را بر اساس محصول انجام دهیم.
پیشنهاد مهم
اگر مطلب پیشنهادات مختلف برای انبارداری را ندیده اید ، پیشنهاد می کنم ابتدا آن را مشاهده کنید و اگر نیاز شما فقط انبارداری ساده است و نیازی به یادگیری ندارید از نرم افزارهای انبارداری ما استفاده کنید.
فهرست محتوا
شرح بخشی از انباردرای پیشرفته در اکسل
فرض کنیم انباری دارید که شامل محصولات و قطعات تشکیل دهنده آنها می باشد مثلا یک محصول دارید با کد 1001 به نام پنج شعله آرتمیس که اجاق گاز می باشد و این محصول در سالن تولیدی که قطعات آن هم از انبار خارج می شود تولید شده است.
به عنوان مثال برای تولید یک محصول از کد 1001 باید مثلا تعداد 2 عدد سینس کف و یک عدد شیشه و 10 عدد پیچ و مهره و غیره مصرف شود .
به عبارتی هر محصول پنج شعله آرتمیس که وارد انبار می شود ، قطعات تسکیل دهنده آن باید انبار خارج شود ، به عبارتی به صورت همزمان یک سند ورود محصول به انبار صادر می شود و تعدادی سند خروج از انبار که در واقع قطعات تشکیل دهنده آن محصول هستند.
ایجاد جداول مربوطه
برای حل این مسئله نیاز به دو جدول داریم یکی به نام tblProduct که نام حصولات در آن وارد شود و یکی به نام tblDetail که در آن قطعات تشکیل دهنده محصول به همراه ضریب استفاده وارد می شود .
برای درک بهتر تصویر زیر را ببینید که به عنوان مثال قطعات تشکل دهنده محصول با کد 1001 مشخص شده اند .
این دو جدول در شیت Admin قرار دارند .

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

در تصویر می بینید نام هر آبجکت مشخص شده و نام خود فرم هم frmProduct می باشد ، از آنجا کدنویسی ها بر ساس همین نامها انجام شده ، پس مهم است که همین نامگذاری ها را داشته باشید ، مگر اینکه خودتان بتوانید کدهای VBA را تغییر دهید. دوره آموزش کامل VBA اکسل
ثبت نهایی اسناد ورود و خروج
در نهایت وقتی طراحی فرم تمام شد در رویداد کلیک btnSave باید کدی بنویسیم که کارهای زیر را انجام دهد که البته در فایل نمونه که برای دانلود قرار داده شده وجود دارد.
- یک حلقه تکرار ایجاد کند به تعداد قطعات تشکیل دهنده محصول تکرار شود
- سطر خالی در شیت inOut را پیدا کرده و اطلاعات تاریخ و نوع سند را در جایگاههای خود قرار دهد .
- در حلقه ایجاد شده تعداد هر قطعه را در مقدار درون txtQty ضرب کرده و در ستون تعداد قرار دهد.
- فرم بسته شود .
دقت داشته باشید که قبل از ایجاد حلقه اول باید یک رکورد از نوع ورود برای کالا ثبت شود
همچنین تاریخ باید با فرمت عددی ثبت شود پس باید تابع cLng قبل از txtDate نوشته شود .
سخن پایانی بخشی از انبارداری پیشرفته در اکسل
در این مطلب من قصد داشتم ذهن شما را نسبت به کارهایی که می توانید در انبار خود انجام دهید بازتر کنم و این آموزشی که قرار دادم هم بخشی از پروژه ای بود که برای یک کارفرما انجام شد .
فایل ساخته شده که حاوی کدها می باشد هم در ادامه برای دانلود قرار گرفته ، اگر نظر و پیشنهادی در این خصوص دارید لطفا در کامنتها عنوان نمائید.
همچنین ویدیو ساخت انبارداری ساده در اکسل قبلا قرار داده شده است .
انبارداری ساده در اکسل در یوتویوب
