SQL = "(SELECT H.TakeDateEnd As [Adjusted On], (L.[Count]-L.[InStock]) As [Chg Qty], L.[Count] As [In Stock], IIF(IsNull(H.StockTakeType),'ST',H.StockTakeType) as Reason " & _
"FROM StockTakeHead H INNER JOIN StockTakeLine L " & _
" ON H.StockTakeNumber = L.StockTakeNumber " & _
"WHERE L.StockCode = '" & mvarStockCode & "' AND H.TakeDateEnd IS NOT NULL ) "
SQL = SQL & _
" UNION ALL " & _
"(SELECT H.ReceiptDateEnd As [Adjusted On], (L.[QuantityReceived]) As [Chg Qty], L.[InStock] As [In Stock], 'RC' as Reason " & _
"FROM RecHead H INNER JOIN RecLine L " & _
" ON H.ReceiptNumber = L.ReceiptNumber " & _
"WHERE L.StockCode = '" & mvarStockCode & "' ) "
SQL = SQL & _
" UNION ALL " & _
"(SELECT H.TransferDate As [Adjusted On], (L.[Quantity]) As [Chg Qty], L.[InStock] As [In Stock], 'TR' as Reason " & _
"FROM StockTransferHead H INNER JOIN StockTransferLines L " & _
" ON H.TransferNumber = L.TransferNumber " & _
"WHERE L.StockCode = '" & mvarStockCode & "' ) "
SQL = SQL & _
" UNION ALL " & _
"(Select H.SD ,(-1 * L.Quantity), L.InStock ,iif(L.Quantity>0, 'SL','RT') " & _
"From (SALEHEAD H INNER JOIN SALELINE L ON H.SALE_NO = L.SALE_NO) " & _
" INNER JOIN StockMst M ON L.StockCode = M.StockCode " & _
"Where L.StockCode = '" & mvarStockCode & "' AND H.T_Type IN ('SALE','REFUND','EXCHANGE') AND M.Stock_Type IN ('V','N') ) "
SQL = SQL & _
" UNION ALL " & _
"(Select H.SD ,(-1 * L.Quantity), L.InStock, 'WO' " & _
"From (SALEHEAD H INNER JOIN SALELINE L ON H.SALE_NO = L.SALE_NO) " & _
"INNER JOIN StockMst M ON L.StockCode = M.StockCode " & _
"Where L.StockCode = '" & mvarStockCode & "' AND H.T_Type IN ('MARKDOWN') ) "
SQL = SQL & _
" UNION ALL " & _
"(Select H.SD, (-1 * K.Quantity * L.Quantity), K.InStock, 'SK' " & _
"From (SaleHead H INNER JOIN SaleLine L ON H.Sale_No = L.Sale_NO) " & _
"INNER JOIN SaleKit K ON K.Sale_No = H.Sale_No AND K.Line_No = L.Line_Num " & _
"WHERE Kit_Item = '" & mvarStockCode & "' ) " & _
"ORDER BY 1, 3 "