J'utilise la commande ado shape sur mon rapport de données, ça fonctionne bien mais quand ma fonction d'agrégation CALC (agrProfit/agrExtended * 100) est nulle ou 0/0 * 100 il montre l'erreur générale et le rapport de données ne montrant pas. S'il vous plaît aidez.VB6 CALC Agrégation sur ADO Shape quand retourne Null obtenir Erreur générale dans le rapport de données
mRS.Open "SHAPE {select products.productid,products.productcode,isnull(products.description,descr) as description,isnull(vendor.description,'*** NOT FOUND ***') as groupdescription, " & _
"isnull(sum(totalcost),0) as mTotalCost,isnull(sum(extended) - (sum(totalcost)),0) as mProfit, " & _
"sum(charges) as mCharges,sum(discount) as mDiscounts, sum(retextended) as mReturns, " & _
"reportuom, sum(totalcost) as mTotalCost, isnull(case when sum(extended) = 0 then 0 else (sum(extended) - (sum(totalcost)))/sum(extended)*100 end,0) as mgpm, sum(totalcost) as mTotalCost, case when sum(extended) = 0 then 0 else (sum(extended) - (sum(totalcost)))/sum(extended)*100 end as mgpm, sum(case when extended < 0 then (0 - (totalqty/products.reportqty)) else (totalqty/products.reportqty) end) as mTotalQty, isnull(sum(extended),0) as mExtended, sum(case when extended < 0 then (0 - (totalqty/products.reportqty)) else (totalqty/products.reportqty) end)/" & mTotalQty & " * 100 as mPercTotalQty, sum(extended)/" & mTotalExtended & " * 100 as mPercExtended " & _
"From " & _
"(select finishedsales.QtyReturned,finishedsales.productid,finishedsales.description as descr, finishedsales.averageunitcost* case when [return]=1 then convert(money,0-totalqty) else totalqty end as TotalCost,(chargeallowance * qty) + (chargeamountdiscounted * qty) as charges,(allowance * qty) + (amountdiscounted * qty)+ (extended-(extended * multiplier)) as discount,0 as rettotalqty, 0 as retextended,totalqty,round(extended * multiplier,4) as extended From finishedsales " & _
" left join products on products.productid = finishedsales.productid " & _
.gReportCriteria & _
"Union All " & _
"select finishedsales.QtyReturned, finishedsales.productid,finishedsales.description as descr,0 as totalcost,0 as charges,0 as discount,totalqty as rettotalqty ,abs(round(extended,4)) as retextended,0 as totalqty, 0 as extended From finishedsales " & _
"left join products on products.productid = finishedsales.productid " & _
Replace(UCase(.gReportCriteria & " and [RETURN] = 1"), "[RETURN] = 0", "[return] = 1") & _
") as finishedsales " & _
"left join products on products.productid=finishedsales.productid " & _
"left join vendor on products.vendorcode=vendor.vendorcode " & _
"group by descr,products.productid,products.productcode,products.description,vendor.description,reportuom " & _
"order by groupdescription, " & IIf(frmReportProducts.chkTop And fVal(frmReportProducts.txtTop) > 0, "finishedsales.mtotalqty desc,", "") & " products.description} AS Command1 COMPUTE Command1, SUM(Command1.mTotalQty) AS agrTotalQty, SUM(Command1.mExtended) AS agrExtended, SUM(Command1.mProfit) AS agrProfit, CALC(agrProfit/agrExtended*100) As agrGPM BY groupdescription", mcn
Est-ce que c'est dans MS Access? –
nope SQL Server – FatalError