首页 > 解决方案 > 使用组合框创建 ms 访问报告

问题描述

我在 YouTube 上看了一个月,学习 MS Access。我创建了一个 MS Access 报告,该报告显示了我库存中 45 个不同系统的三个表中的所有必需信息。我想创建一个组合框,以便只为特定系统生成报告,而不是像现在这样为所有 45 个系统生成报告。数据库由称为 Acronym 的数据字段连接。我可以创建一个带有显示首字母缩写词的组合框的表单,并且可以在组合框中选择首字母缩写词。我无法弄清楚如何将特定的首字母缩略词联系起来以仅生成该首字母缩略词的报告。该报告称为 RptSystemProfile。

标签: ms-accesscombobox

解决方案


DoCmd.OpenReport一个可选WhereCondition参数。你可以做类似的事情

DoCmd.OpenReport "RptSystemProfile", acViewPreview, _
    WhereCondition := "SystemID=" & cboSystem.Value    

这假设系统由名为SystemID(调整它以反映真实名称)的列标识。必须在报告所基于的查询中选择此列。它还假设此列是Long

如果该列是一个字符串,那么写

DoCmd.OpenReport "RptSystemProfile", acViewPreview, _
    WhereCondition := "SystemID='" & cboSystem.Value & "'"

还假定此 Id 是Access ComboBoxBoundColumn的列。

您可以让 ComboBox 显示文本但绑定到 id。ComboBox 的行源将是一个类似于

SELECT SystemId, SystemName FROM tblSystem ORDER BY SystemName

然后设置BoundColumn1ColumnWidths0cm这会隐藏第一列并仅显示文本。

然后 ComboBox的Value属性会反映所选系统的 Id。


推荐阅读