【问题标题】:create form to add records in multiple tables创建表单以在多个表中添加记录
【发布时间】:2025-12-30 00:30:09
【问题描述】:

我是新手(我只有 2003 版),我快疯了。还要考虑到我一般是 DB 的新手,所以现在我很困惑......请帮忙。 我正在尝试设计一个数据库来对我拥有的所有书籍进行分类。 我创建了表格并设置了关系 ;我有一些与“书籍”相关的表格,其中一个是多对多关系(例如,作者:每本书可以有多个作者,每个作者可以“拥有”多本书)和其他一些简单的一对一关系许多(例如书籍类型:一本书只能属于一种类型,但可以有许多该类型的书籍。 现在我想创建一个表单(如果需要,可以使用子表单)来填充我的表格。我希望能够添加一本新书并从现有作者中进行选择,或者重新添加作者;一对多关系中的数据也是如此。

我该怎么做?

我真的迷路了,我是否需要多个表单并将它们添加为主要表单的子表单,我需要查询还是什么?

【问题讨论】:

    标签: ms-access ms-access-2003


    【解决方案1】:

    上述设计需要四个子表单。每个子表单都应基于以书 id 作为链接子字段和主字段的联结表,以及基于第二个表 id 的相关表的组合框。

    例如,您的第一个子表单是 Authors,它所基于的表是 Libri_Autori

    Link Master Field: Id
    Link Child Field: SchedaLibro
    

    组合框:

    Control Source: SchedaAutore
    Row Source : SELECT Id, Nome FROM Autori
    Bound Column: 1
    Column Count : 2
    Column Widths : 0, 2
    

    创建您的图书表单,然后开始添加子表单,向导将为您完成大部分工作。

    要将记录添加到作者表,您需要将“限制到列表”设置为“是”并在“不在列表中”事件上运行代码。我喜欢使用一个小的弹出表单将项目添加到“背景”表中。使用 Access 2010 可能会更容易,因为您可以设置 ListItemsEditForm


    1,书本形式,就在添加子形式之前。请注意,选择了使用控制向导。这是默认设置,所以除非您取消选择它,否则应该没问题。

    添加子表单的各种向导步骤

    选择子表单域

    选择链接子字段和主字段

    显示以黄色突出显示的子表单控件和控件属性的表单

    2、添加组合

    您可以通过右键单击并自行设置属性将子表单向导添加的字段更改为组合...

    ... 或者您可以删除现有控件并使用向导添加组合。第一步是选择组合类型。

    第二步,选择表或查询

    第三步是选择字段

    第四步选择排序顺序这里不显示,这是第五步,就是设置列宽

    第六步是设置控制源

    您最终会得到一个带有图示属性的组合框

    最终形式

    【讨论】:

    • 谢谢!。确实,我不是很清楚,因为我说我是新手,但我会根据您的建议工作并回来提出更多问题。
    • 查看 Northwind 示例数据库 (support.microsoft.com/kb/824265) 以了解这些想法是如何工作的。订单表格显示了一些想法如何协同工作。不过,只用 Northwind 作为一个非常粗略的指南,尤其是代码并不是最好的。
    • Hummm... 网上有一些分两步教程吗?我相信我仍然错过了一些基本步骤;如何创建基于 Libri_Autori 的子表单,向导?如何定义“链接主/子字段”?我在哪里定义组合框?到目前为止,我在表设计视图中为表 Libri_Autori 和字段 SchedaAutore 添加了它,这是您的意思吗?
    • 绝对不是!除非您使用 Sharepoint 上的数据库,否则不要在表中查找。
    • 感谢您的努力和时间!
    最近更新 更多