如何从多个数据表创建单个报告

Posted

技术标签:

【中文标题】如何从多个数据表创建单个报告【英文标题】:How to create single report from multiple data tables 【发布时间】:2017-01-08 13:56:47 【问题描述】:

我不是 IT 专业的(材料工程 tbh),如果我的问题不是很清楚,请原谅我。

我目前正在学习 MS Access 2013,现在正在创建一个表 详细信息:

.

表的结构在这里:

+----+--------+---------+--------------+-----------+---------+-----------+
| ID |  Order |  Vendor |  Attachments |  Customer |  AWB no |  Due Date |
+----+--------+---------+--------------+-----------+---------+-----------+

我创建了一个新表单,添加了一个打开此表单的按钮,并使用宏创建了报表,并使用它来创建报表。

我想只使用表格中 1 行的数据创建报告,但报告包含表格中的所有数据,就像普通报告一样。

有什么建议可以仅从 1 行的数据中生成 1 份报告吗?

请参阅此报告示例:

更新:我尝试按照“打印一条记录”的一些说明并找到此 VBA 代码:

Option Compare Database

Private Sub BttnPrint_Click()
Dim strReportName As String
Dim StrCriteria As String

If NewRecord Then
    MsgBox "This record contains no data, Please select a record to print or save this record" _
         , vbInformation, "Invalid Action"
    Exit Sub

Else
strReportName = "REPORT"

 StrCriteria = "[ID]= " & Me![ID]

       DoCmd.OpenReport strReportName, acViewPreview, , StrCriteria
   End If

End Sub

此代码嵌入在表单上的“打印”按钮中。此代码可以仅基于一条记录创建报告,但是我无法切换到另一条记录,无论我打开哪条记录,都只能停留在一条记录中。如果我想为其他记录创建报告,我应该怎么做?

【问题讨论】:

【参考方案1】:

我不明白您为什么要创建 3 个相同的表,也许我不了解您的情况。但是您可以使用创建 -> 表单向导 工具来选择收集的数据以及从哪些表中获取数据。

从给出的表格数据中我可以看出,您的数据库应该有大约 5 个表格。

tbl_Customers(id、name、surname ... 更多客户详细信息) tbl_Orders(id, customer_id, date ...更多订单详情) tbl_Attachments(id, price, vendor_id...更多附件详情) tbl_Order_Attachments(id、order_id、attachment_id、数量...更多所需的详细信息) tbl_Vendors(id, name, ...更多供应商详细信息)

【讨论】:

感谢 Dylan 的更正,它是一个列,而不是表格。而客户、订单等就是这一行。 您是否设法使用表单向导创建了所需的表单? 是的,我设法创建了模板,但问题是报告包含来自表内所有列的所有数据。因此,我尝试使用对话框样式创建表单,希望仅将数据限制在一列中,创建宏以将对话框与列链接,并添加打印按钮。但是,报告中仍然显示所有列,而不仅仅是一列。有什么建议吗? 据我了解,您基本上是想查询您的数据。我的建议是使用简单的 SQL 语句。使用 WHERE 子句应该可以帮助您获得所需的结果。也许这个链接会有所帮助-> WHERE clause in Microsoft Access【参考方案2】:

要打开报告,请在表单中创建一个按钮并使用“点击”事件并编写以下代码:

DoCmd.OpenReport report_name, acViewPreview, , condition"

例如。 :

DoCmd.OpenReport "rpt_Demo", acViewPreview, , "City='London'"

确保在 acViewPreview 之后写两个冒号。

在条件字段中,您可以选择自己的条件。

【讨论】:

这个问题的表述不是很清楚,但我想你的答案不是原始发帖人想要的。

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

如何从单个输入值中获取分类报告

如何从不同的可发送电子邮件的 html 文件构建单个 testNG 可发送电子邮件的报告

从多个 OHLCV 数据帧创建单个 pandas 数据帧

从单个数据帧创建多个子集,无需替换

将多个数据集读/写到单个 HDF5 文件

如何从我拆分的单个字符串创建一个对象?