Ms access 在报表中访问和使用查询
你好 我有一个库存申请。当一个项目进入生产时,需要打印一张带有客户名称和产品名称的票据。我创建了一个报告。我使用以下查询作为报告中的记录源,它的工作方式完全符合我的要求Ms access 在报表中访问和使用查询,ms-access,report,Ms Access,Report,你好 我有一个库存申请。当一个项目进入生产时,需要打印一张带有客户名称和产品名称的票据。我创建了一个报告。我使用以下查询作为报告中的记录源,它的工作方式完全符合我的要求 SELECT [PkgSize] & " " & [PkgUnit] AS Pkg, tblProducts.ProductID, tblProducts.ProductPrintName, tblProducts.Grade, tblCustomers.CompanyName, tbl
SELECT [PkgSize] & " " & [PkgUnit] AS Pkg, tblProducts.ProductID, tblProducts.ProductPrintName,
tblProducts.Grade, tblCustomers.CompanyName, tblOrderDetails.ODEPriority
FROM tblCustomers INNER JOIN (tblOrders INNER JOIN (tblProducts INNER JOIN tblOrderDetails
ON tblProducts.ProductID = tblOrderDetails.ODEProductFK)
ON tblOrders.ORDOrderID = tblOrderDetails.ODEOrderID)
ON tblCustomers.ID = tblOrders.ORDCustomerID
WHERE (((tblProducts.ProductID)=[Forms]![frmInventoryTransfers]![cboTransferProductID])
AND ((tblOrderDetails.ODEPriority)=1)
AND (([tblOrderDetails]![ODEQtyOrdered]-[tblOrderDetails]![ODEQtyProduced])>"0"));
打开报告时,将显示以下内容:
DoCmd.OpenReport "rptProductPaperLabelTCTRlogo", acViewPreview
我想做的是将查询移动到我的过程中,因为我需要更改某些项的值。例如,我需要将优先级更改为不同的数字,例如2或3,即将其更改为变量。这将触发ORDCustomerID的更改,但不会触发ProductID的更改
我已经从查询中创建了一个字符串并尝试
DoCmd.OpenReport "rptProductPaperLabelTCTRlogo", acViewPreview, , , , Qstring
但我有名字?在所有文本框中。(我首先从报告中的记录源中删除了查询。)
我曾尝试使用querydef,但似乎无法获得正确的语法
有人能帮助我将查询移动到一个过程中以使报表动态化吗
谢谢只需将
OpenArgs
参数传递给报表。它不会自动用于任何用途,但在报告事件过程中可用
因此,在Report\u Open()
中,您可以执行以下操作:
Me.RecordSource = Me.OpenArgs
它应该会起作用
旁注:在最后一行,它应该是
>0
,而不是>“0”
谢谢Andre。在字符串中,我确实将其更改为>0,但在查询中它似乎工作为>“0”。我也会在那里换。否则,你的建议就完全奏效了。非常感谢你。我在任何地方都找不到这个答案。@LesProgrammer:是的,Access对这些东西都很宽容,通常会根据需要自动将数字转换为字符串,反之亦然。但是,您仍然要计算一个数字(一个差),因此您应该将其与一个数字进行比较。:)