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

Ms access 如何从多个数据表创建单个报表,ms-access,vba,report,Ms Access,Vba,Report,我不是IT专业(材料工程tbh),如果我的问题不太清楚,请原谅 我目前正在研究MS Access 2013,现在正在创建一个表 详情请参阅: 表的结构如下所示: +----+--------+---------+--------------+-----------+---------+-----------+ | ID | Order | Vendor | Attachments | Customer | AWB no | Due Date | +----+--------+---

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

我目前正在研究MS Access 2013,现在正在创建一个表 详情请参阅:

表的结构如下所示:

+----+--------+---------+--------------+-----------+---------+-----------+
| ID |  Order |  Vendor |  Attachments |  Customer |  AWB no |  Due Date |
+----+--------+---------+--------------+-----------+---------+-----------+
我创建了一个新表单,添加了一个按钮来打开这个表单,创建了带有宏的报表,并使用它来创建报表

我只想使用表中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

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

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

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

tbl_客户(id、姓名、姓氏……更多客户详细信息)
tbl_订单(id、客户id、日期……更多订单详情)
tbl_附件(id、价格、供应商id…更多附件详细信息)
tbl_订单_附件(id、订单id、附件id、数量……其他所需详细信息)

tbl_供应商(id、名称……更多供应商详细信息)

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

DoCmd.OpenReport report_name, acViewPreview, , condition"
例如:

确保在单词acViewPreview后写两个冒号


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

感谢Dylan的更正,它是一个列,而不是表格。客户、订单等是行。是否使用表单向导创建了所需的表单?是的,我创建了模板,但问题是报表包含表中所有列的所有数据。因此,我尝试使用对话框样式创建表单,希望将数据限制在一列中,创建宏将对话框与列链接,并添加打印按钮。但是,报告中仍然显示所有列,而不仅仅是一列。有什么建议吗?据我所知,你基本上想查询你的数据。我的建议是使用简单的SQL语句。使用WHERE子句可以帮助您获得所需的结果。也许这个链接会有帮助->这个问题的表述不是很清楚,但我猜你的答案不是原始海报想要的。
DoCmd.OpenReport "rpt_Demo", acViewPreview, , "City='London'"