访问从表单输入创建报告

Posted

技术标签:

【中文标题】访问从表单输入创建报告【英文标题】:access create a report from a form input 【发布时间】:2016-01-22 15:37:26 【问题描述】:

我需要根据未绑定表单上的用户输入创建报告。

我有两个数据来自的表:

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代码?不知道我应该怎么做。任何帮助将不胜感激。

谢谢!

【问题讨论】:

【参考方案1】:

如果我理解您的意思,您想“构建”基于搜索表单的报告。如果这是正确的,您不需要在运行时构建报告,而是基于一个查询构建一个报告,该查询组合了您最终希望从 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

【讨论】:

所以这个报告的查询....我只会让它选择我需要显示的报告字段,而不需要任何 WHERE 语句?然后使用DoCmd.OpenFormDoCmd.OpenReport? 没错。报告本身不会有任何内置过滤器/where 语句。 where 语句将根据搜索表单动态构建。

以上是关于访问从表单输入创建报告的主要内容,如果未能解决你的问题,请参考以下文章

访问报告中的空白数据

如何使用 vb.net 从查询创建访问报告

访问报告中的绑定组合框为空

从一个未绑定的表单 vba 访问添加多条记录

根据组合框输入打开报表

如何用一个条目替换另一个 MS Access 报告?