2013-10-12 28 views
0

我完全被我怀疑对于那些有经验的用户来说很简单。我是Access(2010)的全新品牌,并且学习了很多,但很不幸,我仍然被许多基本概念所困惑。我很尴尬地承认,我花了大约40个小时尝试(不成功)解决下面的具体问题。请原谅我,如果我没有在这里包含足够的细节 - 我不知道有多少人需要知道解决这个问题。我很乐意编辑和/或提供更多信息。如何创建表1的访问表单,其中两个表1字段与表2中的单个字段具有不同的数据?

我的问题:

如何创建用于创建新的记录/编辑在表1的现有记录在何处表1两个领域都从表2中单场不同值的形式? (我在下面有更详细的说明)

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

我包括我想要的Form概念,我目前拥有它们的对象关系,Table1的设计和数据表视图以及Table2的设计和数据表视图的屏幕截图。上述

“表1”是在图像“t_PEOPLE”,而“表2”是“t_COLORS。”

对象关系类型是当前一到许多与强迫参照完整性(级联更新相关字段)和连接属性是“包含来自't_PEOPLE'的所有记录,并且只有来自'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

的一般方法,这是如下:

A)如果我明白你在这里做什么,你t_colors表通常被称为参考表或查找表。您需要创建一个表单来在此t_colors表中添加,编辑和删除记录。用户访问该表单的方式各不相同。我会在一分钟内达成。 B)你的People表格的表格需要为你的两种颜色选择下拉菜单。在下拉菜单'RowSource中,您将使用查询在t_colors表中查找值。

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

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

请注意,在这种情况下,您定义的关系不是过分有用或重要。是的,当涉及使用“更新级联”或“删除级联”功能时,它们可能会有所帮助。但相当诚实,关系基本上是程序员,以确保在违反引用完整性时发生错误。用户不应该看到这些错误,而恰当设计的表单会阻止它们发生。使用它们的主要原因是它会迫使你在出现错误时给你一个错误,并希望在你自己的项目测试阶段期间正确地设计你的表单。

+0

不够感谢你!我很感激你方的快速反应,并对我的延迟回复表示歉意:我正在努力整合你的指导,并花了我一段时间才明白(因为我的无知,而不是你的回答)。组合框引导我朝着正确的方向发展,特别是关于RowSource的提示。我不需要使用子表单。我承认我不明白你在驾驶第三张桌子的建议(再一次,我的无知!),但不需要去追求它,因为颜色的选择必须限制为两个,而Comboboxes完成了这个技巧。我非常感谢! – AMM

+0

忘记:我还在组合框的Data选项卡中将“只显示行源值”设置为“Yes”,所以它只会在组合框中显示颜色名称而不是colorID值。 – AMM

+0

好吧,现在我知道我需要按照上面的建议做第三个表。这是为了我想在t_PEOPLE中更新的新字段,并且有能力执行多个选择。我不明白如何设置第三张桌子 - 你能再帮忙吗?谢谢!! – AMM

相关问题