View Full Version : ركودست در انباداري!!!
ali190
چهارشنبه 20 آبان 1388, 22:34 عصر
باسلام خدمت تمام اساتيد و دوستان محترم
بنده يه برنامه انبارداري از همين سايت پيدا كردم
يه تغييرات كوچيكي توش دادم
حالا در يك قسمت مشكل اساسي پيدا كردم
زماني كه با هردو فرم خريد و فروش ورود اطلاعات ميكنم در هر دو فرم اطلاعات ورودي از طريق دكمه ذخيره اطلاعات را بصورت يكجا به جدول اصلي برنامه كه همان product هست در اين جدول برآيند اعداد صادر شده از دو فرم با جمع جبري ميشود (فروش-خريد) و در نتيجه موجودي در دست هر كدام از كالاها مشخص ميشود
حالا مشكل من دقيقاً مربوط ميشه به كدهايي كه بر روي اين دكهاي ذخيره دو فرم نوشته شده است.اين كدها بيانگر چه روشي است.
من از شما اساتيد دو درخواست داشتم:
1-به جاي اين كدهاي سردرگم كننده از يك متد قابل فهم و جمع و جورتر استفاده كنيد(مثلاً ركوردست ، البته با حجم كمتر و قابل فهم تر)
2-اگر شما دوستان ميخواستيد يه برنامه انباداري با اين شرايط درست كنيد كه موجودي در دست هر يك از كالا را بتفكيك به شما بدهد (بعداز update كردن اطلاعات) چطور اين بانك اطلاعاتي رو در نهايت سادگي طراحي ميكرديد.
خواهش ميكنم نمونه هايي رو كه طراحي ميكنيد براي ما آپ كنيد.
در آخر باز هم تاكيد ميكنم برنامه انبارداري در هر شركتي يه بحث داغ و پركاربرديه ، پس خواهش ميكنم به اين تايپيك عنايت ويژه بكنيد.
باز هم از تمام شما عزيزان ممنون و متشكرم.
nabeel
چهارشنبه 20 آبان 1388, 23:30 عصر
سلام ali190
ای کاش مورد پیغام خصوصی رو همینجا مطرح میکردید
این فایل که همون نمونه Northwind.mdb موجود به همراه خود اکسس هستش که یه مقدار تغییر داده شده !
دوست من چند تا توصیه دارم :
خوشبختانه در مورد این مثال در داخل کتابهای موجود در بازار معمولاً صحبت شده , به اونها رجوع کنید ( کتاب خاصی خاطرم نیست )
این برنامه یه سیستم خرید و فروش , به اون معنایی که شما فکر میکنید نیست , کلیات رو به خوبی پوشش داده , به عنوان الگو ازش استفاده کنید یکی از بهترین مثالهای مایکروسافته ( البته نسخه اصلی اون و نه این مثال تغییر داده شده )
ساده تر از این دیگه نمیشه , کد نویسیهاش در حد متعادلیه , نمیدونم شما چه چیزی رو میخواید که ساده تر شه
به اين تايپيك عنايت ویژه بكنيد
دوست من خود مایکروسافت عنایت کامل داشته
يك متد قابل فهم و جمع و جورتر استفاده كنيد(مثلاً ركوردست ، البته با حجم كمتر و قابل فهم تر
این بنده خدا که همین الان هم از Recordset استفاده میکنه , ساده تر از این دیگه نمیشه
خداییش , پرنده با کمتر از دو بال دیگه اسمش پرنده نمیشه , میشه : چرنده !
بعضی کارها رو در سیستمهای خرید و فروش با Query نمیشه انجام داد , که این بنده خدا هم همون ها رو با برنامه نویسی و در ساده ترین حالت اجرا کرده
حالا اگه بخواید من میتونم پیچیده ترش کنم ! ولی ساده تر واقعاً بلد نیستم و از عهده من خارجه
شرمنده که نتونستم بهتون کمک کنم دوست عزیز
موفق باشید
ali190
پنج شنبه 21 آبان 1388, 00:46 صبح
با سلام خدمت اساتيد محترم
در مورد اين سئوال يا خود كدهاي مود در دكمه هاي ذخيره رو يه جور قابل فهم تر كنيد و يا اينكه در مورد خود اين كده يه توضيح بديد كه اگر خواستم يه جا ديگه از اين كدها استفاده كنم بتونم.
ممنوم و متشكر
amirzazadeh
پنج شنبه 21 آبان 1388, 08:02 صبح
با سلام خدمت اساتيد محترم
در مورد اين سئوال يا خود كدهاي مود در دكمه هاي ذخيره رو يه جور قابل فهم تر كنيد و يا اينكه در مورد خود اين كده يه توضيح بديد كه اگر خواستم يه جا ديگه از اين كدها استفاده كنم بتونم.
ممنوم و متشكر
دوست من كدهاي مربوط به دگمه هاي ذخيره رو من از كتاب برنامه نويسي اكسس تاليف پيتر نورتون استخراج كردم و با ديتابيس ارائه شده مچ كردم براي مطالعه جزئيات ميتونين به اون كتاب مراجعه كنين.(گو اينكه توضيحات در كد نيز آورده شده)
.........................
موفق باشيد
ali190
پنج شنبه 21 آبان 1388, 09:32 صبح
استاد گرامي جناب آقاي amirzazade
از راهنماييتون خيلي خيلي ممنونم
ولي من خيلي دنبال كتاب پيترنورتن گشتم ولي پيداش نكردم
اگر ميشه لطف كنيد فقط فقط كدهاي مربوط به اون دو دگمه رو كه اصلي ترين عمليات رو انجام ميدن رو قدم به قدم راهنمايي كنيد تا بدونم چيه مثلاً منظور از كدها چيه:
blnInTrans = False
Set wsp = DBEngine.Workspaces(0)
Set dbscurrent = CurrentDb()
Set rstPost = dbscurrent.OpenRecordset("PostKH Query")
If rstPost.RecordCount = 0 Then
wsp.BeginTrans
blnInTrans = True
مثلاً wps يا blnInTrans كارشون چيه
تورو خدا توضيح بديد من گيج شدم
amirzazadeh
پنج شنبه 21 آبان 1388, 10:44 صبح
blnInTrans = False
Set wsp = DBEngine.Workspaces(0)
Set dbscurrent = CurrentDb()
Set rstPost = dbscurrent.OpenRecordset("PostKH Query")
If rstPost.RecordCount = 0 Then
wsp.BeginTrans
blnInTrans = True
سلام دوست منali190
blnInTrans متغيري از نوع boolean يا همون true / false براي كنترل عمليات هست .
(Set wsp = DBEngine.Workspaces(0
دامنه كاري شما رو به دامنه ديتابيس حاضر نسبت ميده.
() Set dbscurrent = CurrentDb
ديتابيس شما رو به بانك مورد استفاده ست ميكنه.
Set rstPost = dbscurrent.OpenRecordset("PostKH Query")
If rstPost.RecordCount = 0 Then
كوئري poskh query رو باز كرده و تعداد ركورد اون رو چك ميكنه اگر بزرگتر از صفر بود.
wsp.BeginTrans
blnInTrans = True
عمليات انتقال شروع ميشه.
در غير اينصورت عمليات لغو ميشه.
اميدوارم قابل استفاده باشه.
.........................
موفق باشيد
ali190
پنج شنبه 21 آبان 1388, 10:48 صبح
منظور از عمليات انتقال چيه؟
amirzazadeh
پنج شنبه 21 آبان 1388, 11:47 صبح
منظور از عمليات انتقال چيه؟
افزودن مقادير خريداري شده از هر كالا به روي موجودي قبلي از همون كالا.
ali190
پنج شنبه 21 آبان 1388, 15:02 عصر
آيا دوستان در اين زمينه (انبارداري و موجودي كالا) برنامه اي كه تحت اكسس باشه رو سراغ دارن يا اگر هم خودشون درست كردند معرفي و آپ كنند تا ما استفاده كنيم.البته برنامه اي كه بشه در هر لحظه از موجودي كالاي در دست با احتساب ورودي و خروجي كالا از انبار.
mosaArabi
شنبه 23 آبان 1388, 15:30 عصر
دوست گرامي علي190
يك نمونه كم حجم كه قبلا برا جايي درست كرده بودم را برات گذاشتم . برنامه اي كه در تايپيك منوها عكسش را گذاشتم نمونه كامل شده همين برنامه است. اميدوارم بدردت بخوره
موفق باشي
ali190
دوشنبه 25 آبان 1388, 16:49 عصر
توي اين برنامه شما از طريق دو فرم خريد و فروش ورود اطلاعات ميكنيد و موجودي تمام محصولات رو توي جدول products ميبينيد.حالا مشكل اين برنامه ايه كه وقتي شما مثلاً در فرم فروش از طريق دكمه حذف اقدام به حذف يك فاكتور ميكنيد اون مقدار حذف شده از محصولات تاثير خودش رو توي جدول products كه در واقع موجودي در دست رو به ما ميده رو نميذاره(خودتون امتحان كنيد، مقدار يه محصول رو توي جدول products قبل و بعد از اصلاح توسط دكمه حذف فرم فروش ) حالا من اومدم يه كوئري درست كردم (query1) كه مجودي در دست محصولات را با انجام محاسبات حذف ركورد نيز حساب ميكند.فقط يه مشكل داره اونم اينه كه موجودي محصولاتي رو كه هنوز روي اونها هيچ خريدو فروشي انجام نشده رو به ما نميده (مثل كپسول هيدروكسي اوره).اين مشكل دقيقاً در مورد ويرايش ركوردهاي فرم خريد و فرم فروش نيز صلدق است يعني شما ديگه نميتونيد اطلاعات رو ويرايش كنيد يعني يجورايي اين اطلاعات فقط بصورت يكطرفه از طريق كدنويسي موجو در اين دو فرم وارد ميشود و حالت برگشت پذيري جهت ويرايش و اصلاح ندارد.اميدوارم كه تونسته باشم مشكلات رو به روشني بيان كرده باشم.
dadsara
دوشنبه 25 آبان 1388, 18:11 عصر
سلام
به نظر بنده مقادیری که جنبه محاسباتی دارند اصلا ذخیره نمی شوند و کافی برای هر بار رویت آن یک کوئری ساده اجرا کنید . در اینحالت شما درعوض اجرای هربار تصحیح مقدار در جدول فقط یکبار هنگام اجرای کوئری موجودی فقط آنرا اجرا می کنید و مقدار موجودی را ملاحظه می کنید
nabeel
دوشنبه 25 آبان 1388, 21:53 عصر
سلام
من فایل رو دانلود نکردم , استناد کردم به متن مورد اشاره .
شما مجاز به حذف یک سند انبار داری نیستید , الزاماً باید بخشی رو جهت برگشت از خرید و یا فروش ایجاد کنید و سند پایاپای رو تون اون ثبت کنید .
با ثبت برگشت از خرید و فروش و اضافه نمودن برگشت از فروش به موجودی انبار ( در محاسبات ) مشکل شما حل میشه , و در خصوص برگشت خرید هم با کسر کردن از موجودی انبار
شما در جایی موجودی رو نباید نگهداری کنید , این موجودی باید حاصل محاسبات آنلاین شما باشه
در خصوص جزئیات چگونگیش , متاسفانه از نظر زمانی مقدور نیست برام تا مشکل رو به صورت بایسته براتون حل کنم
موفق باشید
ali190
سه شنبه 26 آبان 1388, 20:34 عصر
با سلام خدمت دوستان و اساتيد بزرگوار
اولاً ميخواستم بدونم كه سال مالي در انبارداري چيه و با چه هدفي انجام ميشه؟
و آيا ميشه كه در همين برنامه سال مالي ايجاد كرد؟
اگر ميشه چجوري؟
لطفاً در صورت مثبت بودن جواب اون رو در آخرين نمونه پيوستي همن تايپيك اجراء كنيد.
ali190
چهارشنبه 27 آبان 1388, 09:43 صبح
اگر یک فایل نمونه هم (مشابه)در زمینه ایجاد و استفاده سال مالی در انبارداری باشه عالی میشه.
ali190
چهارشنبه 27 آبان 1388, 22:41 عصر
آيا بود يا نبود سال مالي تاثيري بر عملكرد نرم افزار انبارداري دارد؟(خواهشاً توشيح داده شود)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.