>>from ; >> trn_rqb3; >> where ; >> trn_rqb3.str_nmbr = C_QualifiedStockItems.str_nmbr; >> AND trn_rqb3.stk_code = C_QualifiedStockItems.stk_Code; >> AND BETWEEN (TRN_DATE,thisform.text2.Value,thisform.text3.Value); >> >>>>thanks
>>>lnStockNumber = Thisform.text1.value >>>lnStockClassFrom = Thisform.text4.value >>>lnStockClassTo = Thisform.Text5.value >>> >>>*/ First, get qualified stock items and their respective opening balances >>>*/ I am adding a few "place-holder" columns that will be updated during >>>*/ the scan loop. Not all 3 are required, but will allow for you to see >>>*/ what I am getting values from. >>>SELECT ; >>> str_nmbr,; >>> stk_name,; >>> stk_clas,; >>> stk_code,; >>> stk_opbl,; >>> 000000000 as Qty_In,; >>> 000000000 as Qty_Out,; >>> 000000000 as NewBalance; >>> FROM ; >>> stk_clas ; >>> WHERE ; >>> str_nmbr = lnStockNumber; >>> AND between( stk_clas, lnStockClassFrom, lnStockClassTo ); >>> INTO ; >>> CURSOR C_QualifiedStockItems READWRITE >>> >>>*/ Now, use THIS cursor to loop and get sum of inventory in/out >>>select C_QualifiedStockItems >>>scan >>> use in select( "C_Subtotal" ) >>> select ; >>> sum( Trn_Qnty * iif( trn_typ = 1, 1, 0 )) as Qty_In,; >>> sum( Trn_Qnty * iif( trn_typ= 44 or trn_typ=55, 1, 0 )) as Qty_Out; >>> from ; >>> trn_rqb3; >>> where ; >>> trn_rqb3.str_nmbr = C_QualifiedStockItems.str_nmbr; >>> AND trn_rqb3.stk_code = C_QualifiedStockItems.stk_Code; >>> into ; >>> cursor C_Subtotal >>> >>> select C_QualifiedStockItems >>> replace Qty_In with C_Subtotal.Qty_In,; >>> Qty_Out with C_Subtotal.Qty_Out,; >>> NewBalance with Stk_Opbl + C_Subtotal.Qty_In - C_Subtotal.Qty_Out >>> >>>endscan >>> >>>*/ You should be good to go from here... with whatever adjustments you need. >>> >>> >>>