创建表单以在多个表中添加记录

时间:2012-08-26 15:11:17

标签: ms-access ms-access-2003

我是新手(我只有2003版),我疯了。还要考虑到我一般都是DB的新手,所以现在我觉得我很困惑......请帮忙。 我正在设计一个数据库来编目我拥有的所有书籍。 我创建了表并设置了关系Image of my DB http://img716.imageshack.us/img716/4592/databasev.png;我有一些表与多对多关系中的“书籍”相关(例如作者:每本书可以有多个作者,每个作者可以“拥有”多本书),还有一些其他简单的一对一表格许多(例如书籍类型:一本书只能是一种类型,但可以有很多类型的书。 现在我想创建一个单独的表单(如果需要,带有子表单)来填充我的表。我希望能够添加一本新书,例如选择现有作者或重新添加作者;对于一对多关系中的数据也一样。

我该怎么做?

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

1 个答案:

答案 0 :(得分:17)

上述设计需要四个子表格。每个子表单应基于具有book 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

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

要向authors表添加记录,您需要将Limit To List设置为Yes并在Not In List事件中运行代码。我喜欢使用一个小弹出窗体将项目添加到“背景”表中。使用Access 2010可能会更容易,因为您可以设置ListItemsEditForm


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

Step 1 Using a wizard

添加子表单的各种向导步骤 Wizard steps for adding a subform

选择子表单字段

Selecting the subform fields

选择链接子字段和主字段

Selecting the link child and master fields

显示以黄色突出显示的子窗体控件的窗体和控件属性

Subfrom control

2,添加组合

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

Right-click for change to combo

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

Step 1 combo type

第二步是选择表格或查询

Step 2 choose table or query

第三步是选择字段

Step 3 choose fields

第四步选择排序顺序,此处不显示,这是第五步,即设置列宽

Step 4 skipped, step 5 set column widths

第六步是设置控制源

Step 6 set Control Source

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

Subform combo and properties

最终表格

Final form