2016-03-11 27 views
0

我使用下面的代碼打印生產票的報告:的MS Access動態更改標籤上的報告

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 

的各種文本框上報告使用以下作爲其控制來源:等級,Expr1,ProductPrintName,Pkg和CompanyName。 (Expr1產生用於掃描票證的條形碼。)

它完美地工作。但是,我還需要打印一個標籤,或者可以是一個文本框,以在報告上形成邊框。此標籤/文本框將是分配給CompanyName的顏色。因此,通過了解該標籤/文本框的顏色,可以快速查看該門票並知道客戶是誰。

任何人都可以幫助我根據公司名稱更改報表上的標籤/文本框的顏色。我們有大約20個不同的客戶。

回答

0

將顏色屬性添加到客戶表的表定義中。將該顏色屬性添加到窗體的記錄源。使用該顏色在窗體的相應事件處理程序中設置報表上控件的背景顏色屬性,可能是onChange?

+0

Access有點新 - 我會試試看。謝謝 –

+0

我有我的邊框作爲文本框。我已將colorAttribute字段添加到公司表中。我在Select stmt中添加了對該字段的引用。當然,我在文本框中獲得的是color屬性的字符串值。你建議一個事件處理程序。我不知道要使用哪一個,因爲似乎沒有合適的代碼(基於我對這些的理解)。該文本框沒有更改/更新事件。 –

+0

關於 – nicomp