我需要根据Unbound表单上的用户输入创建报表。
我有两个表格,数据来自:
Table Name: RMAMaster
Fields:
RMANbr (5 digit number)
DateIssued (date in MM/DD/YYYY format)
CompanyName (text)
CustNbr (6 digit number)
Table Name: RMAItems
Fields (that are relevant for the search):
RMANbr (relationship established to RMAMaster.RMANbr)
PartNbr (text)
Warranty (Yes/No)
Disposition (lookup from another table)
表单(名称:RMA报告搜索)上有以下控件,其思路是用户可以填写任意数量的字段。空白字段的意思是“搜索所有字段”,填写的字段将是“搜索这些字段中的数据”。
CustNbr (being in the RMAMaster table)
PartNbr (being in the RMAItems table)
Date Opened <start> to <end> (being in the RMAMaster table)
Disposition (being in the RMAItems table)
Warranty (drop down with choice "Yes", "No" and "Any") (being in the RMAItems table)
(可以根据用户的需要添加更多字段)
例如,我输入部件号“G-5645”并将“保修”保留为“任意”,它将搜索所有部件号为“G-5645”的RMA并在报告中显示。该报告的支付方式如下:
RMAMaster.RMANbr RMAMaster.DateIssued RMAMaster.CustNbr, RMAMaster.CompanyName
|
|-- RMAItems.PartNbr RMAItems.Warranty RMAItems.Disposition
|-- RMAItems.PartNbr RMAItems.Warranty RMAItems.Disposition
|-- (possibly repeated depending on how many items the customer sent back
我可以构建报告,但我并不是要从表单RMA报告搜索中获取数据并从中构建报告。我使用查询吗?调用报告的VBA代码?不知道我应该怎么做。任何帮助将不胜感激。
谢谢!
答案 0 :(得分:0)
如果我了解您,您希望根据搜索表单“构建”报告。如果这是正确的,您不需要在运行时构建报表,而是基于查询来构建报表,该查询组合了您最终要从RMAItems,RMAMaster表中显示的字段。此报告的记录源应为此查询。
接下来,从搜索表单中,用户将选择所有适用的字段并打开报告(可能是按钮单击)?单击此按钮将根据所选字段生成WHERE语句。 Rpt_Results
将是您要生成的报告,stLinkCriteria
是您要传递的条件。通过添加到stLinkCriteria
来迭代地构建链接条件。
Dim stLinkCriteria As String
dim stDocName as String
stDocName = "RPT_Results"
stLinkCriteria = "[" & [PARTNumber] & "]=" & forms!FRM_Search.PartNumber
...
DoCmd.OpenForm stDocName, , , stLinkCriteria