一 生成查询表
Dim q As new QueryBuilde
q.Cq.TableName = "生产备料表"
q.SelectString = "select * from {IaV_STSCBlb}"
q.Build
With Tables("生产备料表")
.Cols("iPSQuantity").GrandTotal = True
.Cols("iPlanQuantity").GrandTotal = True
.GrandTotal = True
End With
MainTable = Tables("生产备料表")
结果出现错误提示,检查后发现特别之处在于SQL视图中有除法表达式,请问是否这个原因?(其他普通视图能成功)
有什么解决办法呢?
CREATE VIEW dbo.IaV_STSCBlb
AS
SELECT w.cWhCode, w.cWhName, d .cDepCode, d .cDepName, CONVERT(varchar(40),
s.cSOCode) AS cSOCode, ISNULL(m.cVouchCode, '') AS cVouchCode,
CONVERT(varchar(30), i.cInvCode) AS cInvCode, ISNULL(i.cInvAddCode, '')
AS cInvAddCode, i.cInvName, i.cInvStd, m.cFree1 AS bFree1, m.cFree2 AS bFree2,
i.cInvM_Unit, m.Quantity, CONVERT(varchar(30), ivs.cInvCode) AS scInvCode,
ISNULL(ivs.cInvAddCode, '') AS scInvAddCode, ivs.cInvName AS scInvName,
ivs.cInvStd AS scInvStd, ms.cFree1 AS sbFree1, ms.cFree2 AS sbFree2,
round(ms.iPlanQuantity / m.Quantity,4) AS iPSQuantity, round(ms.iPlanQuantity,4) iPlanQuantity,
round(isnull(ms.iSumActiQuantity, 0),4) AS iSumActiQuantity,
CASE WHEN ms.iPlanQuantity - isnull(ms.iSumActiQuantity, 0)
>= 0 THEN round(ms.iPlanQuantity - isnull(ms.iSumActiQuantity, 0),4) ELSE 0 END AS ibl,
m.PlanDate, m.dIntend, m.dFinished
FROM MatchVouch m LEFT JOIN
MatchVouchs ms ON m.cVouchCode = ms.cVouchCode LEFT JOIN
Warehouse w ON ms.cWhCode = w.cWhCode LEFT JOIN
Department d ON m.cDepCode = d .cDepCode LEFT JOIN
SO_SODetails s ON s.isosid = m.isosid LEFT JOIN
SO_SOMain sm ON sm.cSOCode = s.cSOCode LEFT JOIN
Inventory i ON i.cInvCode = m.cPSPCode LEFT JOIN
Inventory ivs ON ivs.cInvCode = ms.cInvCode
WHERE 1 = 1 AND (m.cPSPCode <> ' ')