在 MS Access 表单中为 Postgresql 后端数据库创建组合框

问题描述 投票:0回答:1

我有一个记录道路事故的 Postgresql 数据库。该数据库有一个主表来记录道路事故的详细信息。该数据库还有一些参考表。例如,有一个“incident_type”表,我在其中添加或更新事件/事故类型。主“事件”表有一个“事件类型”列,它从“事件类型”表获取值。使用主键和外键关系正确设置关系。 HeidiSQL 可以识别这一点,并在编辑引用表(事件)时显示引用表(事件类型)中的值。请参阅屏幕截图,其中 HeidiSQL 显示了一个组合框,其中包含事件类型表中的选项,并存储所选选项的事件类型 ID。这一切都很好。

HeidiSQL shows the options from another table

HeidiSQL stores the primary key of the table

现在,我正在尝试使用 MS Access 作为数据库的前端。但是,访问表单无法识别关系,并在应该有组合框的地方使用文本框。

我已在“访问关系”窗口中添加了关系,然后尝试在表单中手动添加组合框,但它没有显示我需要的列。我的 Incident_type 表有一个 id 列和一个 Incident_type 列。它还具有两列来跟踪记录创建和更新时间。当我在 Access 中使用组合框向导时,它显示 id 列和两个日期时间列,但不显示 event_type 列。请参阅下面的屏幕截图 -

incident type table description with columns

The combo box wizard

postgresql ms-access
1个回答
0
投票

现在,我正在尝试使用 MS Access 作为数据库的前端。但是,访问表单无法识别关系,并在应该有组合框的地方使用文本框。

嗯?为您创建表单的向导经常会做出如此错误的决定。另一方面,为您创建表单的向导只是一些“帮手”或所谓的“训练轮”来帮助您启动和运行。

作为“开发者”?

那么,只需删除文本框,然后在设计模式下放入组合框,您甚至可以让向导连接并为您构建该组合框。几乎不需要在这里哭喊妈妈吧?

因此,在设计模式下,只需删除文本框,然后放入组合框即可。组合框将具有选择列表“sql 数据源”,选择组合选项后,您将获得数据绑定列(当前表单中的列),组合框选择的 ID 或值将包含在数据绑定列中。被保存到。

因此,用于保存到当前表单的当前 ONE 记录中的列就是这样的设置:

因此,问题中的表格应该仅基于数据库服务器的链接表。我想您可以使用查询,但在几乎所有情况下,每个表单都基于一个表,而不是尝试将多个表连接到该表单中的 SQL。

因此,需要大约 10 秒的时间来删除文本框,然后放入组合框,并设置驱动该组合框的选择的数据源,然后您还需要设置当前表单上的哪个数据列应将该选择的结果保存到其中。

默认情况下访问可能会选择为您在表单上放置一个文本框?当然,但是如果您要戴上开发人员的帽子,那么您作为此应用程序的开发人员可以根据需要在组合框中简单地添加/删除到您希望的任何形式。

如上所述,那些使用到该数据库服务器的链接表的表单在几乎所有情况下都只有一个表涉及该表单的数据源。您放入该表单的组合框可以有任何其他数据源,但我们仍然在一天结束时使用并将我们正在编辑的一条记录保存到数据库中。

如果您需要该表单来处理属于给定表单的其他记录的关系数据编辑?然后您可以使用子表单来实现此目的。

那么,在哪些情况下您想向用户呈现一个选择列表呢?然后,开发人员只需放入一个组合框即可显示该选择列表。几个小时后,您很快就会意识到,开发人员必须控制这个选择,并且您很快就会放弃使用为您创建表单的向导等。

© www.soinside.com 2019 - 2024. All rights reserved.