我在 MS-Access Pro Plus 2021 中创建了一个基于交叉表查询 (qrySales) 的数据表表单 (frmSales) 用于报告。“qrySales”本身从 SQL Server 2019 后端的链接视图 (dbo_Sales) 中读取数据。一切都很好,结果符合我的预期。
由于我不想过多地处理后端并且不需要更新数据,因此我创建了一个传递查询 (PTSales),从 SQL 视图中复制了相同的 SQL 代码。查询 (qrySales) 现在从 Pass-Through (PTSales) 读取数据。交叉表查询 (qrySales) 的输出与以前相同并且很好,但问题是我的数据表表单 (frmSales) 现在什么也没有显示。我在数据表形式中使用了记录集类型、数据输入和允许添加,但没有得到任何结果。这是视图 (dbo_Sales) 和传递查询 (PTSales) 中使用的代码。
SELECT
c.CompanyName AS Customer
,p.TotalOfItem AS Sales
,q.ExchangeRate AS ExRate
,q.LastStatus AS Status
,q.IsProject AS Type
,q.INVDate AS [Invoice Date]
FROM dbo.tblProducts p
INNER JOIN dbo.tblQuotations q
ON p.QuotationID = q.QuotationID
INNER JOIN dbo.tblCompany c
ON q.CompanyID = c.CompanyID
WHERE q.RevActivated = 1
AND q.StatusCode IN (10, 11)
这是交叉表查询:
TRANSFORM Sum(IIf(DoExRate(),[Sales]*[ExRate],[Sales])) AS Sum1
SELECT
PTSales.Customer
, Sum(IIf(DoExRate(),[Sales]*[ExRate],[Sales])) AS [Sum]
FROM
PTSales
WHERE
(
(
(
PTSales.[Invoice Date]
)
Between [Forms]![frmReportsMenu]![FromDate] And [Forms]![frmReportsMenu]![ToDate]
)
AND
(
(
PTSales.Type
)
ALike IIf(IsProjectRun()=0,"%",IsProjectRun())
)
)
GROUP BY
PTSales.Customer PIVOT PTSales.Status In ("Invoiced","Paid");
这里有什么问题?