如何从多个数据表创建单个报告
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 之后写两个冒号。
在条件字段中,您可以选择自己的条件。
【讨论】:
这个问题的表述不是很清楚,但我想你的答案不是原始发帖人想要的。以上是关于如何从多个数据表创建单个报告的主要内容,如果未能解决你的问题,请参考以下文章