报告

时间:2016-02-03 15:43:13

标签: ms-access report

美好的一天。

我有一个库存应用程序。将项目移入生产时,需要使用客户名称和产品名称打印票证。我创建了一张报告作为报告。我在报告中使用了以下查询作为记录源,它完全按照我的意愿工作。

    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 

我想要做的是将查询移到我的程序中,因为我需要更改某些项的值。例如,我需要将ODEPriority更改为不同的数字,例如2或3,即将其更改为变量。这将触发ORDCustomerID更改但不会更改ProductID。

我已经从查询中创建了一个字符串并尝试了

DoCmd.OpenReport "rptProductPaperLabelTCTRlogo", acViewPreview, , , , Qstring

但是我得到#Name?在所有文本框中。 (我首先从报告中的记录源中删除了查询。)

我曾尝试使用querydef,但似乎无法正确使用语法。

有人可以帮我解决如何将查询移动到使报告动态化的过程中的问题。

由于

1 个答案:

答案 0 :(得分:1)

from django.db.models.signals import m2m_changed def add_parent_categ(sender, instance,action,reverse, *args, **kwargs): if action == 'post_add' and not reverse: for categ in instance.category.all(): for parent in categ.get_ancestors(): if parent not in instance.category.all(): instance.category.add(parent) m2m_changed.connect(add_parent_categ, sender=Item.category.through) 参数只是传递给报告。它不会自动用于任何事情,但可以在报告事件过程中使用。

所以在OpenArgs,您可以这样做:

Report_Open()

它应该有用。

旁注:在最后一行,它应该是Me.RecordSource = Me.OpenArgs 而不是>0