1- برنامه پیوست دقیقا پاسخ شما نبود، فقط یک ایده میداد که چگونه خواسته تون رو پیاده کنین.
تا حدی تونسته بودین اون رو پیاده کنین، ولی اسامی فیلدها چندان گویا نیست و تشخیص منطق محاسبات رو مشکل میکنه.
2- نوع معامله * چه فرقی با + داره؟ در محاسبات فقط + و - رو منظور کردین.
3- برای هر کد کالا و نوع معامله باید محاسبه جداگانه انجام بدین، بعبارت دیگه اینها هم باید در شرط های update گنجانده بشن.
4- یک چیزی شبیه به زیر برای فیلدهای جدول استفاده کنین:
id , autonumber
product id , number
trans id , text (+/-/*)
quantity , long
unit price , long
amount , calculated=iif(transid="-" , -quantity*unitprice , quantity*unitprice)
last total quantity , long (computed by code)
total quantity , calculated=iif(transid="-" , -quantity , quantity) + last total quantity
last total amount , long (computed by code)
total amount , calculated=amount+last total amount
last average amount , double/decimal , (computed by code)
average amount , calculated