# Native Code > برنامه نویسی در 6 VB > مطالب مرتبط با بانکهای اطلاعاتی در VB6 >  محاسبه قیمت میانگین

## milad3em

سلام جدول زیر رو در نظر بگیرید
ردیف           نوع             کد کالا             تاریخ              تعداد             فی         
   1            خرید           101002     1392/01/01         100             5000
   2            خرید           101002     1392/01/05         200             5100 
   3           فروش          101002     1392/01/06         75-              5500
   4            خرید           101002     1392/01/09         50               6000
   5           فروش          101002     1392/01/15         90-              6200
-------------------------------------------
حالا من می خوام قیمت تمام شده رو در بیارم به روش میانگین 
نگاه کنید محاسبه اش به شکل زیر است 
برای فروش اول 
(100*5000)+(200*5100)/300=5066.67
برای فروش دوم 
200+100-75=225  - موجودی باقیمانده
[(225*5066.67)+(50*6000)]/275=5236.37
کوئری این مورد تو اکسس چطوری باید نوشته شود
خدایی انقدر گشتم تو سایت چیزی نیافتم 
یه چیزایی هست اما اشتباه در اشتباه

----------


## milad3em

این پست جوابش انقدر سخته یا ارزش جواب دادن نداره

----------


## m.4.r.m

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

----------


## میلاد علوی

Untitled.gif 
دوست عزیز خیلی گذشته از این پست ولی هنوز در کوئری اکسس نتونستم این مورد رو درست کنم با برنامه دستی درست کردم و مقداری زمانبره 
ببینید در عکس بنده می خوام قیمت میانگین موبایل رو حساب کنم 
در ابتدا بنده 200 موبایل خریدم 5000 ریال سپس 300 تای دیگه خریدم 6000 ریال با توجه به میانگین وزنی من الان 500موبایل دارم به قیمت میانگین 5600 ریال 
در ردیف سوم موبایل فروختم 200 عدد به قیمت 7000 و چون خریدی نداشتم قیمت میانگینم همون 5600 ریاله در ردیف 4 هم 200 موبایل دیگه فروختم 7000 ریال ب همون قیمت میانگین 
اما در ردیف پنجم 500 موبایل 5000 ریالی خریدم حالا قیمت میانگین من میشه 5100 ريال
چرا ؟
چون من 100 عدد از قبل 5600 ریالی برام مونده بود و اکنون با خرید ردیف پنجمم قیمت میانگینم اینطور حساب میشه 
AVERAGE =( ( 100*5600)+(500*5000))/600
اگر میشه کوئری اینو می خواستم 
مشکل خودم هم در این مورد هست که در کوئری نمی تونم یک ردیف قبل رو بفهمم که خرید بوده یا فروش و قیمت تا اونجا چقدر بوده 
اگر امکانش هست همین جدول رو در اکسس پیاده کنید و کوئری این رو بنویسید تا عمر دارم دعا تون میکنم

----------


## m.4.r.m

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

----------


## میلاد علوی

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

مثلا خودم محاسبه کردم قیمت خرید در زمانی که فروش 170 تایی داشتم برای هر واحد بوده : 1357.14 
و با خرید های بعد از فروش که در جدول مشخص کردم میشه : 2791.76
با تشکر

----------


## vbhamed

سلام
اصلا چه کاریه که میانگین موزون رو با کوئری حساب کنید، حالا اگر از امکانات Sql server مثل stored procedure بخواین بهره ببرین یه چیزی ولی تو اکسس بخواین همچین کاری رو انجام بدین هم پیچیده تر از برنامه نویسیه هم کم سرعت تر




> نوشتن کوئریش چیزی نیست فقط من یکم گنگ موندم که  شما چی می خوای من برات مشخص می کنم چیکار کنی شما جدول و کدش رو تا جایی  که بلدی بنویس من برات اصلاح کنم.
> شما یه ستون میزاری مقدارش یا 1 باشه یا 2 اگه 1 باشه خرید اگه 2 باشه فروش  تا توی کوئری بشه با این مقدار مقایسه کرد . چون نمیشه بدون این روش جوی  دیگه محاسبه کرد مگه اینکه با منفی یا مثبت بودن عدد بشه مقایسه کرد که  اونم منطقی نیست. جدول رو بساز کد رو برات می سازم


وقتی یک کالا طی خریدهای مختلف با قیمت های متفاوت خریداری میشه و میخوایم قیمت متوسط خرید کل اون کالا رو بدست بیاریم از میانگین موزون که یک روش استاندارد حسابداریه استفاده می‌کنیم، روش FIFO و LIFO هم دو روش دیگه هستن که جهت کسب اطلاعات بیشتر می‌تونید به کتابهای حسابداری دبیرستان هم مراجعه کنید

----------

