如何为表1创建一个访问表单,其中两个表1字段与表2中的单个字段具有不同的数据?

时间:2013-10-12 19:07:17

标签: ms-access-2010

对于那些经验丰富的人来说,我怀疑这可能很简单。我是Access(2010)的新手并且经常学习,但不幸的是仍然被许多基本概念所迷惑。我很尴尬地承认我花了大约40个小时尝试(未成功)解决下面的具体问题。如果我在这里没有提供足够的细节,请原谅我 - 我不确定有多少人需要知道才能解决这个问题。我很乐意编辑和/或提供更多信息。

我的问题:

如何在Table1中创建用于创建新记录/编辑现有记录的表单,其中Table1中的两个字段与Table2中的单个字段具有不同的值? (我在下面有更好的细节)

我希望表单包含Table1中的所有记录。我已经尝试了许多不同的查询,子表单等方法,但不能将它拉下来。我很确定这个问题与我如何解决Table2有关。理想情况下,用户可以从表格中的下拉列表中选择要在表1中更新的两个字段。

我包括我想要的Form概念的模型的截图,我目前拥有的对象Relationships,Table1的设计和数据表视图以及Table2的设计和数据表视图。

上面的

“Table1”是图像中的“t_PEOPLE”,而“Table2”是“t_COLORS”。

对象关系类型目前是一对多的,具有强制参照完整性(级联更新相关字段),连接属性包括来自&#t; t_POOPLE'的所有记录。并且只有那些来自“t_COLORS'连接字段相等的位置。"

如果有帮助,我很高兴发送实际的数据库文件。

我将非常感谢任何指导 - 谢谢!!

Screenshot of mockup Form concept Screenshot of object Relationships Screenshot of t_PEOPLE datasheet view Screenshot of t_PEOPLE design view Screenshot of t_COLORS datasheet view Screenshot of t_COLORS design view

1 个答案:

答案 0 :(得分:1)

对此的一般方法如下:

A)如果我理解你在这里尝试做什么,你的t_colors表通常被称为Reference表或Lookup表。您需要在此t_colors表中创建一个表单来添加,编辑和删除记录。用户如何访问该表单各不相同。我马上就会知道。

B)People表的表单需要有两个颜色选择的下拉菜单。在下拉菜单的RowSource中,您将使用查询t_colors表中的值的查询。

C)根据你在t_people中使用颜色的内容,你应该考虑制作一个包含PeopleID和ColorID的第三个表。然后它将链接到t_people和t_colors。这将允许您为单个人指定多种颜色,并且您不会限制为两种颜色。在“人物”表单中,您将使用子表单来显示这些颜色。子表单可能需要是数据表格式或连续格式。如果您使用的是人员表格的数据表格式,那么您需要使用颜色子表格的数据表格。

如果用户想要使用t_colors表中尚未包含的颜色,则需要为其提供插入该颜色的方法。有各种方法。您可以在显示“”选项的下拉列表RowSource中使用联合查询。如果选中,您将调出颜色表单,当它们关闭颜色表单时,您必须重新查询下拉菜单。或者,当他们输入“不在列表中”的值(Combobox所拥有的事件)时,您可以使用VBA为它们插入颜色。

请注意,在这种情况下,您定义的关系不会过于有用或重要。是的,它们在使用Update Cascade或Delete Cascade功能时非常有用。但实际上,关系基本上是程序员的关系,以确保在违反参照完整性的情况下会出现错误。用户永远不应该看到这些错误,正确设计的表单将阻止它们发生。使用它们的主要原因是它会迫使您在出现问题时通过错误地给出错误来设计您的表单,希望在您自己的项目测试阶段。