صفحه 1 از 3 123 آخرینآخرین
نمایش نتایج: از شماره 1 تا 10 , از مجموع 26

موضوع: آیا این مسئله نگهداری و تعمیرات با vba قابل حل هست؟

  1. #1


    آخرین بازدید
    2016/07/05
    تاریخ عضویت
    March 2010
    نوشته ها
    151
    امتیاز
    41
    سپاس
    9
    سپاس شده
    28 در 15 پست
    تعیین سطح نشده است

    آیا این مسئله نگهداری و تعمیرات با vba قابل حل هست؟

    با سلام
    من در حال نوشتن برنامه نگهداری وتعمیرات هستم.(هنوز در فاز های اولیه هستم)
    در این برنامه اگر یک ماشین خراب بشه برای تعمیر اون اقدام میکنند و یک سری قطعات رو تعویض یا تعمیر میکنند.
    من با صحبت هایی که کردم نهایتا برای یک ماشین تا 10 قطعه رو تعویض میکنند
    با توجه به عکس برای ماشین 1000 در تاریخ 88/01/01 نیز 10 نوع قطعه مصرف شده که مقدار مصرف اون جلوش هست می بینید.
    و این روند تا 31 هر ماه ادامه دارد.

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









    آیا اشکال من در ایجاد دیتا بیس بوده و باید به گونه ای دیگر طراحی شود؟
    ممنون
    نمونه فایل:
    http://www.4shared.com/file/qjyV4vYy/net.html


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

  2.  

  3. #2


    آخرین بازدید
    2022/06/28
    تاریخ عضویت
    May 2010
    محل سکونت
    بلژیک
    نوشته ها
    174
    امتیاز
    108
    سپاس
    0
    سپاس شده
    119 در 53 پست
    تعیین سطح نشده است

    RE: آیا این مسئله نگهداری با vba قابل حل هست؟

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

    شکستن جداول: این جدولی که دارید را به حداقل سه جدول بشکنید به صورت زیر:
    1- جدول لیست دستگاه ها
    2- جدول لیست قطعات
    3- جدول لیست قطعات مصرفی در دستگاه ها

    هر جدول در یک شیت
    -------
    http://md6712.com
    جامعه ایده پردازان: http://idekadeh.com

  4. #3


    آخرین بازدید
    2021/12/05
    تاریخ عضویت
    February 2010
    محل سکونت
    بوشهر
    نوشته ها
    940
    امتیاز
    718
    سپاس
    29
    سپاس شده
    863 در 365 پست
    تعیین سطح نشده است

    shamsololama به Yahoo ارسال پیام

    RE: آیا این مسئله نگهداری با vba قابل حل هست؟

    نقل قول نوشته اصلی توسط m_d6712
    طراحی دیتابیس مقوله ایست که باید در آن دقت زیادی شود!
    کلا اگر این برنامه رو با Access بنویسید خیلی بهتر و کارامد تر خواهد بود.
    اکسس یک برنامه مدیریت بانک اطلاعاتی است که به صورت تخصصی برای تهیه نرم افزار های سیستمی مورد استفاده قرار میگیرد که در درس MIS رشته صنایع تدریس می شود.
    اکسل نرم افزار تخصصی برای ایجاد این برنامه نیست! ولی اگر می خواهید با اکسل این برنامه را بنویسید. این روند را انجام دهید:

    شکستن جداول: این جدولی که دارید را به حداقل سه جدول بشکنید به صورت زیر:
    1- جدول لیست دستگاه ها
    2- جدول لیست قطعات
    3- جدول لیست قطعات مصرفی در دستگاه ها

    هر جدول در یک شیت

    با درود فراوان
    دوست خوبم m-d6712 در مورد جواب بالا دقت فرمائید این سایت و این قسمت برای هم فکری و جواب به سئوالات هست نه مقایسه نرم افزارها با هم و دوستانی که در مورد اکسل سئوال دارند حتما مایلند این سئوالشان در مورد اکسل حل شود وگرنه ممکن است با کلی نرم افزار های دیگه هم آشنایی داشته باشند و اگر زحمت جواب دوستان متحمل می شوید جواب را کامل بنویسید و یا دقیق تر راهنمائی فرمائید که مورد استفاده دوستان قرار بگیرد

  5. #4


    آخرین بازدید
    2021/12/05
    تاریخ عضویت
    February 2010
    محل سکونت
    بوشهر
    نوشته ها
    940
    امتیاز
    718
    سپاس
    29
    سپاس شده
    863 در 365 پست
    تعیین سطح نشده است

    shamsololama به Yahoo ارسال پیام

    RE: آیا این مسئله نگهداری با vba قابل حل هست؟

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

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

  6. #5


    آخرین بازدید
    2022/06/28
    تاریخ عضویت
    May 2010
    محل سکونت
    بلژیک
    نوشته ها
    174
    امتیاز
    108
    سپاس
    0
    سپاس شده
    119 در 53 پست
    تعیین سطح نشده است

    RE: آیا این مسئله نگهداری با vba قابل حل هست؟

    با تشکر از دوست عزیز جناب آقای شمس العلماء
    توانایی اکسل بسیار بالاست و خیلی از کارها رو می تونه انجام بده! در این هیچ شکی نیست! اما وظیفه خودم دونستم که راه های بهتر رو هم برای دوستان مشخص کنم! همچنان معتقدم اکسس برای این کار بهتره! و انجام صحیح این پروژه با اکسل بسیار دشوار تر است! با این وجود به توصیه شما گوش کردم و یک نمونه از این پروژه که با اکسل ایجاد شده برایتان میگذارم!

    [size=medium]
    اصل فایل اکسل کامل:
    http://www.mediafire.com/file/xqgcmvn28e4ah2k/Repair-Cm.xlsm
    [/size]


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


    توضیحات:

    ابتدا پیکربندی به صورت زیر است:




    به ترتیب جداول به صورت زیر می باشد.
    1- جدول قطعات:


    2- جدول ماشین ها:


    3- جدول تعمیرات:


    4- جدول قطعات استفاده شده در تعمیرات:



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


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

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

    کد زیر برای وصل شدن به فایل اکسل کنونی است. (activeWorkBOOK)
    [size=medium]البته قبل از نوشتن این کد برای فعال سازی ADODB که کلاس خاصی برای وصل شدن به بانک های اطلاعاتی می باشد باید آن را به فایل خود Add کنید. برای این کار به روی Tools و در آن References را انتخاب کنید. در لیست کتابخانه Mirosoft ActiveX Data Objects 2.8 Library را انتخاب کرده و تیک آن را بزنید. و Ok را بفشارید.[/size]



    کد:
    Dim cn As ADODB.Connection
    Set cn = New ADODB.Connection
    cn.Provider = "MSDASQL"
    cn.Open "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" & _
    "DBQ=" & ThisWorkbook.Path & "\" & ThisWorkbook.Name & "; ReadOnly=True;"
    در کد بالا cn شی مورد نظر ماست که ایجاد کردیم. در انتها connectionstring برای وصل شدن به فایل اکسل کنونی را وارد کردیم! دقت فرمایید که از دو مشخصه ThisWorkbook.Path و ThisWorkbook.Name برای ایجاد آدرس فایل کنونی استفاده شده است.

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

    به عنوان مثال برای درخواست و چاپ تمامی خرابی ها در ماه 05 می توان از فرمان زیر استفاده کرد.
    کد:
     strQuery = "Select * From [Sheet1$L:N] where CMDate Like '89/05/%'"
        Set RsReport = cn.Execute(strQuery)
        Sheet2.Range("A2:Z10000").CopyFromRecordset RsReport
    در کد بالا StrQuery متن درخواست است. ترجمه متن درخواست به این صورت است: "همه (*) اطلاعات از جدول [Sheet1$L:N] (که همان ستون های L,M,N از شیت 1است) را انتخاب کن(Select) به شرطی که (where) تاریخ آنها مشابه '05/89' باشد.
    "




    یا اگر بخواهیم بدانیم هر کدام از ماشین ها چه روز هایی خراب شده اند:
    کد:
    Dim StrMachineName As String
        StrMachineName = 'نام ماشین مورد نظر مثلا سنگ'
        strQuery = "Select [Sheet1$M:N].CMDate From [Sheet1$A:B],[Sheet1$M:N] where [Sheet1$A:B].MachineCode=[Sheet1$M:N].MachineCode And [Sheet1$A:B].MachineName= '" + StrMachineName + "'"
        Set RsReport = cn.Execute(strQuery)
        Sheet2.Range("A2:Z10000").CopyFromRecordset RsReport
    همچنین به عنوان مثال می خواهیم بدانیم از هر کدام از قطعات چقدر مصرف شده است. از این کد استفاده می کنیم:

    کد:
    strQuery = "Select First([Sheet1$G:H].PartName),Sum([Sheet1$P:R].ComsumeNum) From [Sheet1$P:R],[Sheet1$L:N],[Sheet1$G:H] where [Sheet1$P:R].CMCode=[Sheet1$L:N].CMCode And [Sheet1$P:R].CMPart=[Sheet1$G:H].PartCode Group By [Sheet1$G:H].PartCode"
      
        Set RsReport = cn.Execute(strQuery)
        Sheet2.Range("A2:Z10000").CopyFromRecordset RsReport
    گزارش دیگری که می توان ایجاد کرد گزارش قطعات مصرفی یک ماشین است:

    کد:
     strQuery = "Select First(PartName), Sum(ComsumeNum) From [Sheet1$P:R],[Sheet1$L:N],[Sheet1$G:H],[Sheet1$A:B] where [Sheet1$A:B].MachineCode=[Sheet1$L:N].MachineCode   And [Sheet1$P:R].CMCode=[Sheet1$L:N].CMCode And [Sheet1$P:R].CMPart=[Sheet1$G:H].PartCode and [Sheet1$A:B].MachineName = '" + machine + "' Group BY PartName"
    
        Set RsReport = cn.Execute(strQuery)
        Sheet2.Range("A2:Z10000").CopyFromRecordset RsReport



    و هر گزارش دیگری که دوست داشته باشید را می توانید با 4 خط برنامه ایجاد کنید.
    جستجو، مرتب سازی و ... از مزیت های این روش است.
    -------
    http://md6712.com
    جامعه ایده پردازان: http://idekadeh.com

  7. #6


    آخرین بازدید
    2023/08/14
    تاریخ عضویت
    March 2010
    محل سکونت
    تهران
    نوشته ها
    2,034
    امتیاز
    4508
    سپاس
    2,467
    سپاس شده
    4,096 در 1,241 پست
    سطح اکسل
    85.00 %

    khakzad به Yahoo ارسال پیام

    RE: آیا این مسئله نگهداری با vba قابل حل هست؟

    با سلام
    من یه راهی به نظرم رسید برای تشکیل دیتابیس

    اینطوری 2 محدودیت از بین میره:
    1)تعداد قطعه تعویضی در هر روز(چون ممکنه بنا به دلایلی از 10 بیشتر بشه)
    2)ممکنه در هر روز بیشتر از یک ماشین نیاز به تعمیر داشته باشه

    در ضمن، برای درج تاریخ از فرمت 00"/"00"/"00 استفاده کنید که مشکلی پیش نیاید.

    در اینصورت می توانید در یک بازه مشخص همه اطلاعات خواسته شده را بدست بیاورید. با استفاده از فرمول vlookup و برای تعداد از sumif و در نهایت برای یافتن انواع قطعات استفادده شده از autofilter و unic code استفاده کنید
    اینا به ذهنم رسید.حالا در اجرا اگر مشکلی داشتی در خدمتم
    امیدوارم بتونم کمک کنم
    (در شیت 2 فایل خودتون نمونه دیتابیس رو گذاشتم)
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: xlsx net.xlsx اطلاعات (11.1 کیلو بایت, 24 نمایش)

  8. #7


    آخرین بازدید
    2016/07/05
    تاریخ عضویت
    March 2010
    نوشته ها
    151
    امتیاز
    41
    سپاس
    9
    سپاس شده
    28 در 15 پست
    تعیین سطح نشده است

    RE: آیا این مسئله نگهداری با vba قابل حل هست؟

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

  9. #8


    آخرین بازدید
    2023/08/14
    تاریخ عضویت
    March 2010
    محل سکونت
    تهران
    نوشته ها
    2,034
    امتیاز
    4508
    سپاس
    2,467
    سپاس شده
    4,096 در 1,241 پست
    سطح اکسل
    85.00 %

    khakzad به Yahoo ارسال پیام

    RE: آیا این مسئله نگهداری با vba قابل حل هست؟

    پس مشکل کجا بود؟[hr]
    به نکته ای برخورد کردید لطفا به من هم بگید.ممنون

  10. #9


    آخرین بازدید
    2021/12/05
    تاریخ عضویت
    February 2010
    محل سکونت
    بوشهر
    نوشته ها
    940
    امتیاز
    718
    سپاس
    29
    سپاس شده
    863 در 365 پست
    تعیین سطح نشده است

    shamsololama به Yahoo ارسال پیام

    RE: آیا این مسئله نگهداری با vba قابل حل هست؟

    با درود فراوان
    فایلی که براتون میل کردم رو نگاه کردین؟ من فکر کردم مشکل حل شده چون با روش میشه تمام اطلاعات خواسته شده رو یک جا جستجو کرد حتی با چند شرط (مثلا ماشینهای کد 1000 که بین تاریخ مشخصی تعمیر شده و همچنین قطعه کد 3 تعویض شده برابر با 5 قطعه باشد)
    و حتی اگر تعداد قطعه تعویضی آن از 10 بیشتر باشه نیز مشکلی ایجاد نمی کند
    فایلی که فرستادم جستجو را شکل بالا که گفتم انجام میدهد که قسمتی از آن را به عنوان نمونع برای شما تغییر داده بودم
    و اگر برای قرار دادن روی فایل خود مشکلی داری تا نمونه کامل آن را آماده کنم برایتان میل کنم و اگر حس می کنی جوابگوی خواسته شما نیست بگویید تا روشی دیگر را برایتان بگویم.

  11. #10


    آخرین بازدید
    2023/08/14
    تاریخ عضویت
    March 2010
    محل سکونت
    تهران
    نوشته ها
    2,034
    امتیاز
    4508
    سپاس
    2,467
    سپاس شده
    4,096 در 1,241 پست
    سطح اکسل
    85.00 %

    khakzad به Yahoo ارسال پیام

    RE: آیا این مسئله نگهداری با vba قابل حل هست؟

    سلام
    این فایل رو مبتونم ببینم؟منم داشته باشم؟


صفحه 1 از 3 123 آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. نگهداری و تعمیرات و MIS با استفاده از اکسل
    توسط m_d6712 در انجمن مهندسی صنایع و اکسل
    پاسخ ها: 14
    آخرين نوشته: 2015/01/20, 17:42
  2. امکان مرتب سازی چند ستون هست؟
    توسط majid_a110 در انجمن سوالات اكسل - Excel Questions
    پاسخ ها: 4
    آخرين نوشته: 2012/09/13, 23:56
  3. تنظيم فرمت نوشته هاي داخل combobox‌ هاي متعلق به form control
    توسط mostafap4 در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 4
    آخرين نوشته: 2012/09/09, 11:50
  4. معادل vlookup در vba چی هست؟
    توسط esyoo در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 26
    آخرين نوشته: 2010/08/28, 03:28
  5. پاسخ ها: 0
    آخرين نوشته: 2010/03/03, 09:06

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

how can i write vba code in xls format

کد نویسی sql در vba

http:forum.exceliran.comshowthread.phpt=226

نوشتن برنامه تعميرات و نگهداري در اکسس

شیت تعمیرات xlsx

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است
با ما در تماس باشيد