PDA

View Full Version : آموزش: ثبت خودکار خروجی کالا هنگام ورود کالا به مرحله بعد



abdoreza57
دوشنبه 04 خرداد 1394, 09:56 صبح
سلام
من برنامه ای برای کنترل موجودی کالا طراحی کرده ام که خصوصیات زیر را داره :
هر کالا از زمان تولید تا انبارش ، مراحلی را طی میکند و در هر ایستگاه کار خاصی رو اون انجام میشه . برای کنترل موجودی کالا در هر ایستگاه باید هنگام ثبت تعداد تولید کالا خروچ همان کالا از مرحله قبلی زده شود !
تو فایل ضمیمه همانطور که میبینید یه کالا ممکنه از مرحله 1 تا 8 به ترتیب وارد ایستگاه ها شود یا از مرحله 3 وارد مرحله 8 شود پس تو کالای دوم با ورود مرحله 8 یه خروج برای مرحله 3 زده میشود و تو کالای اول با ورود تعداد کالا تو هر مرحله همان تعداد از مرحله قبلی کسر میشود .

چون تعداد این خروجی ها برابر همان ورودی تو ایستگاه بعد هست لذا میخوام تابعی بتونه این عملیات را تو رکورد جدید و همون روز ثبت کنه و کاربر با ثبت تعداد تولید شده (ورودی همان ایستگاه است) روزانه این مقدار از ایستگاه قبلی کسر گردد

ممنون میشم اگه دوستان راهنمایی کنند
البته اگه استاد امیری لطف کنند و در مورد این ایده هم نظرشون را بگند ممنون خواهم شد

منتظر نظرات و راهکارهای دوستان و اساتید هستم
خدانگهدار

mehdi.fni
دوشنبه 04 خرداد 1394, 14:43 عصر
من برای این کار ابتدا شماره ورودی مرحله قبل را از کاربر میگیرم ، سپس گزارش میگیرم و هنگام ثبت وروردی جدید اطلاعات ورودی قبلی را منفی کرده و به عنوان خروجی (ورودی قبلی) ذخیره میکنم و ادامه ...

abdoreza57
سه شنبه 05 خرداد 1394, 08:19 صبح
من برای این کار ابتدا شماره ورودی مرحله قبل را از کاربر میگیرم ، سپس گزارش میگیرم و هنگام ثبت وروردی جدید اطلاعات ورودی قبلی را منفی کرده و به عنوان خروجی (ورودی قبلی) ذخیره میکنم و ادامه ...
سلام
دوست من ، همانطور که عرض شد مشکلی تو ثبت نیست . اگه فایل ضمیمه را بررسی میکردید متوجه میشدید که هم فیلد ورود و هم فیلد خروج تو جدول هست و نیاز به وارد کردن مقدار منفی نمیباشد فقط میخوام ثبت یه رکورد به صورت خودکار صورت بگیره
یعنی با ورود کالا به ایستگاه بعد ، همان تعداد کالا از قسمت قبل کسر بشه

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

خدا نگهدار

Abbas Amiri
سه شنبه 05 خرداد 1394, 19:47 عصر
سلام
من برنامه ای برای کنترل موجودی کالا طراحی کرده ام که خصوصیات زیر را داره :
هر کالا از زمان تولید تا انبارش ، مراحلی را طی میکند و در هر ایستگاه کار خاصی رو اون انجام میشه . برای کنترل موجودی کالا در هر ایستگاه باید هنگام ثبت تعداد تولید کالا خروچ همان کالا از مرحله قبلی زده شود !
تو فایل ضمیمه همانطور که میبینید یه کالا ممکنه از مرحله 1 تا 8 به ترتیب وارد ایستگاه ها شود یا از مرحله 3 وارد مرحله 8 شود پس تو کالای دوم با ورود مرحله 8 یه خروج برای مرحله 3 زده میشود و تو کالای اول با ورود تعداد کالا تو هر مرحله همان تعداد از مرحله قبلی کسر میشود .

چون تعداد این خروجی ها برابر همان ورودی تو ایستگاه بعد هست لذا میخوام تابعی بتونه این عملیات را تو رکورد جدید و همون روز ثبت کنه و کاربر با ثبت تعداد تولید شده (ورودی همان ایستگاه است) روزانه این مقدار از ایستگاه قبلی کسر گردد

ممنون میشم اگه دوستان راهنمایی کنند
البته اگه استاد امیری لطف کنند و در مورد این ایده هم نظرشون را بگند ممنون خواهم شد

منتظر نظرات و راهکارهای دوستان و اساتید هستم
خدانگهدار

سلام
راه ساده تر اینه که در رکورد جاری ، تعداد خروجی و شماره مرحله بعدی را وارد کنید و قبل از رفتن به رکورد بعدی مقادیر کد کالا ،تعداد ، شماره مرحله بعدی و ... را در چند متغیر ذخیره کنید و پس از رفتن به رکورد جدید آنها را در جای خود قرار دهید:
تعداد خروجی >> تعداد ورودی
شماره مرحله بعدی >> فعلی
کد کالا >> کد کالا
....
آنطور هم که منظور شماست ، قابل انجام است
در رکورد جدید بعد از انتخاب کد کالا:
Private Sub IdCod_AfterUpdate()
Dim rs As Recordset
If Not IsNull(IdCod) Then
Set rs = CurrentDb.OpenRecordset("SELECT * FROM Kar WHERE IdCod='" & _
IdCod & "' ORDER BY [Day],IdCod,IdNoe")
IdNoe = rs.Fields("IdNoe") + 1
End If
Set rs = Nothing
End Sub

و در AfterUpdate تعداد ورودی عبارت
CurrentDb.Execute "UPDATE Kar SET TedadK=" & TedadV & " WHERE IdCod='" & IdCod & "' AND IdNoe=" & Before
را درج کنید

abdoreza57
چهارشنبه 06 خرداد 1394, 00:06 صبح
ُسلام

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


تو نمونه ارسالی به عنوان مثال کد کالایی که همه 8 مرحله را طی میکنه آورده شده البته کالایی هست که بعد از مرحله 3 وارد مرحله 8 یعنی انبار میشه من برای سادگی فقط به یه مورد اشاره کردم
تو مثال مجموعا 30000 عدد کالا کلا تولید شده و 12000 عدد وارد مرحله 2 شده است ( در واقع 18000 عدد از این محموله تو ایستگاه مونده ) کل این مقدار وارد مرحله 3 و 10000عدد به مرحله 4 فرستاده شده ( پس 2000 عدد هنوز تو مرحله 3 بلقی مانده است )



10 رکورد اول جدول همون ثبت آمار تولید توسط کاربر هست و 8 رکورد بعدی اون چیزی هست که من میخوام با کدنویسی و خودکار ایجاد بشه ( اعداد تقریبا واقعی است )
{وقتی مرحله جاری 1 هست مرحله اول تولید میباشد نیاز به ایجاد رکورد و کسر کردن نیست }
اینجوری میشه فیلتر کرد که هر کالا در هر مرحله چقدر تولید و چقدر به مرحله بعد فرستاده شده است ( موجودی درهر بخش به دست میاد )

ممنون ازحوصله ای که به خرج میدید و پاسخ خواهید داد
خدا نگهدار

abdoreza57
چهارشنبه 06 خرداد 1394, 00:09 صبح
لطفا جدول Kar را بررسی کنید
و با توجه به اون توضیحات را بخونید

Abbas Amiri
چهارشنبه 06 خرداد 1394, 20:00 عصر
ُسلام

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


تو نمونه ارسالی به عنوان مثال کد کالایی که همه 8 مرحله را طی میکنه آورده شده البته کالایی هست که بعد از مرحله 3 وارد مرحله 8 یعنی انبار میشه من برای سادگی فقط به یه مورد اشاره کردم
تو مثال مجموعا 30000 عدد کالا کلا تولید شده و 12000 عدد وارد مرحله 2 شده است ( در واقع 18000 عدد از این محموله تو ایستگاه مونده ) کل این مقدار وارد مرحله 3 و 10000عدد به مرحله 4 فرستاده شده ( پس 2000 عدد هنوز تو مرحله 3 بلقی مانده است )



10 رکورد اول جدول همون ثبت آمار تولید توسط کاربر هست و 8 رکورد بعدی اون چیزی هست که من میخوام با کدنویسی و خودکار ایجاد بشه ( اعداد تقریبا واقعی است )
{وقتی مرحله جاری 1 هست مرحله اول تولید میباشد نیاز به ایجاد رکورد و کسر کردن نیست }
اینجوری میشه فیلتر کرد که هر کالا در هر مرحله چقدر تولید و چقدر به مرحله بعد فرستاده شده است ( موجودی درهر بخش به دست میاد )

ممنون ازحوصله ای که به خرج میدید و پاسخ خواهید داد
خدا نگهدار

سلام

کد زیر را در روال کلیک باتن مربوط درج کنید
Private Sub Command21_Click()
If IdNoe > 1 Then
If DCount("*", "Kar", "IdCod='" & IdCod & "' AND IdNoe=" & Before & " AND TedadK > 0") = 0 Then
CurrentDb.Execute "INSERT INTO Kar (IdCod,IdNoe,TedadV,TedadK) " & _
"VALUES('" & IdCod & "'," & Before & ",0," & TedadV & ")"
MsgBox "درج خروجی مرحله قبل انجام شد"
End If
End If
End Sub
در این روال ابتدا نبودن در مرحله یک چک می شود و سپس چنانچه قبلا عملیات خروجی جهت مرحله قبل انجام نشده باشد رکورد جدید اضافه میشود. اگر به مورد اخیر احتیاج ندارید شرط آنرا حذف کنید

abdoreza57
پنج شنبه 07 خرداد 1394, 00:37 صبح
سلام
بابت توجهتون ممنون بدون شرط درست عمل میکنه ولی بازم یه کم مورد داره :ناراحت::متفکر::خجالت::خجالت:
رو کدهایی که ارایه نمودید دارم کار میکنم سعی میکنم به صورت مورد نظر تغییر بدم اگر نشد
ممنون میشم راهنمایی کنید
یه سوال : نیاز به فیلد before اگه نیست حذفش کنم چون فرمودید با ایجاد یه متغیر این دستور را میشه داد!

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

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

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

خدا نگهدار

Abbas Amiri
پنج شنبه 07 خرداد 1394, 15:14 عصر
سلام
بابت توجهتون ممنون بدون شرط درست عمل میکنه ولی بازم یه کم مورد داره :ناراحت::متفکر::خجالت::خجالت:
رو کدهایی که ارایه نمودید دارم کار میکنم سعی میکنم به صورت مورد نظر تغییر بدم اگر نشد
ممنون میشم راهنمایی کنید
یه سوال : نیاز به فیلد before اگه نیست حذفش کنم چون فرمودید با ایجاد یه متغیر این دستور را میشه داد!

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

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

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

خدا نگهدار

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

abdoreza57
پنج شنبه 07 خرداد 1394, 18:40 عصر
:خجالت::خجالت::خجالت:
سلام
خواهش میکنم خدمت از ماست در مورد کوتیشن هم حق با شما بود
درسته ! متاسفانه خیلی از مطالب داره فراموشم میشه
در هر صورت از لطفتون ممنونم
با کمک شما خوشبختانه تا بخشی از برنامه درست شده و اون مورد اخیر که بالاخره تونستم
یه مورد دیگه هم میخوام به برنامه اضافه کنم و اونم اینکه در صورت مغایرت تعداد تولید شده با دپوی قسمت قبل بتونم ویرایش لازم را انجام بدم ، روشی که به نظرم رسید به نتیجه برسه این فایل ضمیمه هست
لطفا یه نگاه بهش بندازید در صورت امکان تغییرات لازم را بفرمایید انجام بدم
از اینکه بتونم این برنامه را به اتمام برسونم خیلی ذوق زده خواهم شد ، باور کنید دیگه فکرم به جایی قطع نمیده :متعجب:
خدا نگهدار

abdoreza57
جمعه 08 خرداد 1394, 20:51 عصر
سلام

من شرطهای داخل کوئری را برداشتم و کد زیر را در باتن گذاشتم که با کدنویسی انجام بشه ! ولی ایراد داره
میشه بگید این کد چرا اجرا نمیشه و کجا ایراد داره ؟


If Nz(DLookup(jam, "Tedad", "IdCod='" & IdCod & "' AND IdNoe=" & Before), 0) > Nz(DLookup(jam, "Tedad", "IdCod='" & IdCod & "' AND IdNoe=" & IdNoe), 0) Then
MsgBox "اين مقدار کالا در دپو موجود نبود اصلاح کنيد"
End If


ضمنا تو پست 7 شما پیش بینی این مورد را کرده بودید ولی نه به اون صورت که مد نظر بود لذا با توجه به این ضمیمه اخیر اگه راهکار بدید
ممنون خواهم شد

خدا نگهدار

Abbas Amiri
جمعه 08 خرداد 1394, 22:44 عصر
سلام

من شرطهای داخل کوئری را برداشتم و کد زیر را در باتن گذاشتم که با کدنویسی انجام بشه ! ولی ایراد داره
میشه بگید این کد چرا اجرا نمیشه و کجا ایراد داره ؟


If Nz(DLookup(jam, "Tedad", "IdCod='" & IdCod & "' AND IdNoe=" & Before), 0) > Nz(DLookup(jam, "Tedad", "IdCod='" & IdCod & "' AND IdNoe=" & IdNoe), 0) Then
MsgBox "اين مقدار کالا در دپو موجود نبود اصلاح کنيد"
End If


ضمنا تو پست 7 شما پیش بینی این مورد را کرده بودید ولی نه به اون صورت که مد نظر بود لذا با توجه به این ضمیمه اخیر اگه راهکار بدید
ممنون خواهم شد

خدا نگهدار

سلام
شما در هردو عبارت Dlookup نام فیلد Jam رو داخل دابل کوتیشن قرارنداده اید

abdoreza57
شنبه 09 خرداد 1394, 12:27 عصر
سلام

ممنون از راهنماییتون
کاش در مورد ضمیمه پست 10 هم میفرمودید که چطور فرم ویرایش را مطابق اطلاعات ورودی فراخوانی کنم

خدا نگهدار

Abbas Amiri
شنبه 09 خرداد 1394, 23:05 عصر
سلام

ممنون از راهنماییتون
کاش در مورد ضمیمه پست 10 هم میفرمودید که چطور فرم ویرایش را مطابق اطلاعات ورودی فراخوانی کنم

خدا نگهدار

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

abdoreza57
چهارشنبه 24 تیر 1394, 15:52 عصر
با سلام و آرزوی قبولی طاعات خدمت همه دوستان خوبم

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

1) همانطور که تو ضمیمه خواهید دید ، خطا در ثبت عملیات به علت تفاوت ترتیب فرایند های قبلی و بعدی کالا ها ، زیاد هست
یه کار تکراری هم تو هر رکورد جدید باید انجام بشه !!!تغییر و ویرایش این اطلاعات سخت تر هم هست
2)در صورت ضایعات خط این مقدار برای ایستگاههای بعدی و موجودی چطور باید اعلام بشه ؟
البته یه فیلد برای ضایعات ایجاد کردم ولی نمیدونم چطور اینها را بهم ربط بدم


اساتید دیگر تالار هم اگه راه حلی دارند لطف کنند راهنمایی کنند
خدا نگهدار

abdoreza57
جمعه 16 مرداد 1394, 23:55 عصر
سلام

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

فایل ضمیمه پست اخیر، همون برنامه ایست که الان داریم ازش استفاده میکنیم!
خواهش میکنم بررسی کنید اگه راهکاری به ذهنتون میرسه راهنمایی کنید...

مراحل تولید هر کد کالا (فرایند) را اگه بشه جایی ذخیره کنیم، تو فرم ثبت آمار خط تولید فرا خوانی کنیم و مجبور به وارد کردن دوباره تو فرم اصلی نشیم، تمومه.


اگر هم راه حلی برا این موضوع نیست بفرمایید، که بتونم تصمیم دیگه بگیرم



خدا نگهدار همگی

Abbas Amiri
سه شنبه 20 مرداد 1394, 14:10 عصر
سلام

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

فایل ضمیمه پست اخیر، همون برنامه ایست که الان داریم ازش استفاده میکنیم!
خواهش میکنم بررسی کنید اگه راهکاری به ذهنتون میرسه راهنمایی کنید...

مراحل تولید هر کد کالا (فرایند) را اگه بشه جایی ذخیره کنیم، تو فرم ثبت آمار خط تولید فرا خوانی کنیم و مجبور به وارد کردن دوباره تو فرم اصلی نشیم، تمومه.


اگر هم راه حلی برا این موضوع نیست بفرمایید، که بتونم تصمیم دیگه بگیرم



خدا نگهدار همگی

سلام

در فایل ضمیمه تغییراتی ایجاد شد تا کمی از مشکلات شما را کم کند . اولا یک فیلد به جدول kar اضافه شد به نام ProblemQty که تعداد کالاهای مسئله دار و نه ضایعاتی درآن ذخیره شود . همچنین در فرم Kar فیلدهای ضایعات و ProblemQty اضافه شد تا کابر بتواند به آنها دسترسی داشته باشد . در روال codnam_AfterUpdate هم تغییراتی انجام شد تا تعداد مرحله قبلی پس از کسر ضایعات و ProblemQty در فیلد TedadV وارد شود.
معمولا برای فیلدهایی که با محاسبه بدست می آید ، احتیاجی به درج در جدول نیست چرا که کار را پیچیده تر خواهد کرد ( مگر درورژنهای بالاتر که امکان تعریف فیلد محاسباتی در جدول وجود داشته باشد)

abdoreza57
سه شنبه 20 مرداد 1394, 23:21 عصر
سلام

بسیاررررررر ممنونم
خیلی زحمت کشیدید، باور کنید نمیدونم چطور پاسخ لطفتان را بدم
ضمن اینکه متاسفانه دسترسی به ویندوز نداشتم ولی تا فردا بررسی میکنم
مطمین هستم با توضیحات کاملی که دادید برنامه بدون مشکل خواهد بود
(دسترسی به دکمه تشکر یا دریافت ضمیمه، تو حالت موبایل ممکن نبود)



بازم ممنون و خدا نگهدار

abdoreza57
یک شنبه 25 مرداد 1394, 12:30 عصر
سلام جناب آقای امیری
فایل ضمیمه تون را امروز بررسی کردم ! ( سیستم مشکل داره و هر چند وقت ویندوز میپره ) در هر صورت بابت وقتی که گذاشتید ممنون
متاسفانه با روش فوق نتیجه حاصل نمیشه !
کدها و راهکارهای پست های قبلیتون مشکل را تا حدودی برطرف کرده بود .
ضمیمه پست 15 در واقع به خوبی کار میکنه منتها قبل از نهایی شدن به دو مورد اشکال برخوردم که اگه حل میشد تمام بود
اول تشخیص مرحله قبل کالا با وارد کردن کد کالا
دوم تهیه فرم ویرایش که بتونم خروجی مرحله قبل را هم تغییر بدم چون خودکار ثبت میشه


لازمه اضافه کنم که اون دو تا فیلد را که فرمودید ( مشکل دار و ضایعات ) هم به جدول اضافه کردم و کمی تو برنامه تغییر دادم و خیلی بهتر شد

میخوام بدونم اساسا امکان این وجود داره که ترتیب فرایند کالا را جایی ذخیره کنم و تو فرم ثبت گزارش تولید (همون فرم اصلی ) برنامه بدون وارد کردن فیلد Before توسط کاربر ، مقدار اون را وارد کنه ؟
یعنی اعلام این فرمول :
کالای الف دارای مراحل به ترتیب 1 -----2------3-------4-------6-------7-------8
بنابر این زمانی که گزارش تولید مرحله 6 وارد میشود سیستم به صورت خودکار از مرحله 4 همان مقدار را کسر میکند


در حالت فعلی حتما باید تو فرم وارد بشه که مرحله قبلی چی هست (اون کد را هم به صورت عدد وارد کردم ) که بقیه کار انجام بشه


خدا نگهدا

Abbas Amiri
چهارشنبه 28 مرداد 1394, 09:25 صبح
سلام جناب آقای امیری
فایل ضمیمه تون را امروز بررسی کردم ! ( سیستم مشکل داره و هر چند وقت ویندوز میپره ) در هر صورت بابت وقتی که گذاشتید ممنون
متاسفانه با روش فوق نتیجه حاصل نمیشه !
کدها و راهکارهای پست های قبلیتون مشکل را تا حدودی برطرف کرده بود .
ضمیمه پست 15 در واقع به خوبی کار میکنه منتها قبل از نهایی شدن به دو مورد اشکال برخوردم که اگه حل میشد تمام بود
اول تشخیص مرحله قبل کالا با وارد کردن کد کالا
دوم تهیه فرم ویرایش که بتونم خروجی مرحله قبل را هم تغییر بدم چون خودکار ثبت میشه


لازمه اضافه کنم که اون دو تا فیلد را که فرمودید ( مشکل دار و ضایعات ) هم به جدول اضافه کردم و کمی تو برنامه تغییر دادم و خیلی بهتر شد

میخوام بدونم اساسا امکان این وجود داره که ترتیب فرایند کالا را جایی ذخیره کنم و تو فرم ثبت گزارش تولید (همون فرم اصلی ) برنامه بدون وارد کردن فیلد Before توسط کاربر ، مقدار اون را وارد کنه ؟
یعنی اعلام این فرمول :
کالای الف دارای مراحل به ترتیب 1 -----2------3-------4-------6-------7-------8
بنابر این زمانی که گزارش تولید مرحله 6 وارد میشود سیستم به صورت خودکار از مرحله 4 همان مقدار را کسر میکند


در حالت فعلی حتما باید تو فرم وارد بشه که مرحله قبلی چی هست (اون کد را هم به صورت عدد وارد کردم ) که بقیه کار انجام بشه


خدا نگهدا

سلام
مسئله ای که در اینجا وجود دارد اینست که آیا ممکن است کالایی چند بار در طی دوره پروسه را طی کند ؟ در این صورن این باید دز برنامه لحاظ شود .

در مورد وارد کردن کد کالا و مشخص شدن مرحله قبل کدهای زیر را جایگزین کنید:
Private Sub codnam_AfterUpdate()
Me.LB.Visible = True
Before = Nz(DMax("IdNoe", "Kar", "IdCod='" & IdCod & "'"))
If Before Then
TedadV = DLookup("Tedadv - Pert - ProblemQty", "kar", "IdNoe=" & Before & " AND IdCod='" & IdCod & "'")
End If
codsefaresh = Before + 1
End Sub
باید توجه داشت که چنانچه پروسه های چندگانه برای یک کالا باشد باید تغییراتی در آن بوجود آورد.

abdoreza57
دوشنبه 02 شهریور 1394, 01:20 صبح
سلام
جناب امیری فوق العاده ای!
ممنون از زحمتی که کشیدید. این کد آخر را کمی تغییر دادم، درست شد...

فایل نهایی را در صورت نیاز ضمیمه خواهم کرد

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

abdoreza57
شنبه 26 تیر 1395, 12:41 عصر
سلام
من تو پست شماره 19 سوالی کردم در صورتی که از دستان کسی میتونه کمکی کنه ، ممنون میشم راهنمایی کنه
با این کار میخوام یه روال کاری برای هر کالا داشته باشم که چه فرایندی پس و پیش این کالا وجود داره


منتظر راهنمایی دوستان هستم
خدا نگهدار