在Access 2016中,我有一个名为' Orders'。
的表格我还有一张表格(也称为'订单'),我们用它来输入订单信息。在表单上,特别是一个字段(' Company')是一个下拉列表。控制源是名为' Companies'的第二个表。 Row Source是一个SQL查询:
SELECT [Companies].[ID], [Companies].[CompanyName] FROM Companies ORDER BY [CompanyName];
因此,当用户在表单中输入订单时,他/她可以从此下拉列表中选择公司名称,然后它会更新订单表。所有基本的东西,它工作正常。
接下来,我创建了一个查询(也称为' Orders'),它基于Orders表。
当我在Access中运行查询并将其作为数据表查看时,我惊讶地发现公司字段(在查询数据表中)是一个下拉列表。不仅如此,它甚至可以让我更改值 - 就在查询中!如果我查看此查询的SQL,我可以看到它是一个SELECT查询。在我看来,SELECT查询是只读的。所以我的问题是 - 查询中的下拉列表是什么,为什么Access让我直接在查询中编辑值?这不应该是只读的吗?
下一个问题: 在验证我需要的所有数据都在订单查询中之后,我创建了一个报告(称为'所有订单'),此报告的控制源是订单查询。 (不是表格)。
当我在“设计”视图中查看“报告”时,会再次出现下拉列表。为什么?我只想添加用户在完成表单时选择的公司名称。我意识到用于输入该数据的表单控件(在FORM上)是一个下拉列表。但是我在这里建立一份报告,我只想让VALUE出现在这里。不是下拉控制? (我知道当我打印报告或在屏幕上查看时,下拉框会消失,我看到的只是实际文本)。但我的问题是 - 为什么Access会在报告中显示下拉列表控件?并在选择查询?查询和报告不能用于编辑数据。我只想要选择的值。