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