我使用以下代码将生产票据打印为报告:
Dim strCriteria As String
strCriteria = "SELECT [PkgSize] & chr$(32) & [PkgUnit] AS Pkg, tblProducts.ProductID, tblProducts.ProductPrintName, tblProducts.Grade, " _
& " tblCustomers.CompanyName, tblOrderDetails.ODEPriority, chr$(33) & chr$(70) & [tblProducts].[ProductID] & [tblCustomers].[ID] & chr$(33)as Expr1" _
& " 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]![frmInventoryTransfersManual]![cboTransferProductID]) " _
& " AND ((tblOrderDetails.ODEPriority)= " & varPriority & ") AND (([tblOrderDetails]![ODEQtyOrdered]-[tblOrderDetails]![ODEQtyProduced])>0))"
DoCmd.OpenReport "rptProductPaperLabelTCTRlogo", acViewPreview, , , , strCriteria
在报告中我有:
Private Sub Report_Open(Cancel As Integer)
Me.RecordSource = Me.OpenArgs
End Sub
报告中的各个文本框使用以下内容作为其控制来源:Grade,Expr1,ProductPrintName,Pkg和CompanyName。 (Expr1生成用于扫描票证的条形码。)
完美无缺。但是,我还需要打印一个标签,或者可能是一个文本框,以在报告上形成边框。此标签/文本框将是分配给CompanyName的颜色。因此,可以快速查看故障单,并通过了解此标签/文本框的颜色来了解客户是谁。
任何人都可以帮我改变报告上标签/文本框的颜色,具体取决于公司名称。我们有大约20个不同的客户。
答案 0 :(得分:0)
将颜色属性添加到customer表的表定义中。将该颜色属性添加到表单的记录源。使用该颜色在窗体的相应事件处理程序中设置控件的backcolor属性,可能是onChange?