0

所以我在工作中陷入了困境。我得到了这张表“IP”。它与另一个表有关系。为了查看实体的“真实姓名”,我创建了一个查询。

查看我的 IP 表查询图片 --> 主机/主机名

我想创建一个表单来编辑tbl_IP. 在这种形式中,我想显示主机的相关名称,以便查看我正在查看的 IP。

但是,当我基于此查询创建表单时,我可以看到信息但无法对其进行编辑。

我想这与查询与另一个表有关系这一事实有关。但在这一点上,我的经验还不够。

有人可以解释如何做到这一点吗?

提前致谢。

4

1 回答 1

0

我认为一个例子值一千字。下载这个例子,我希望它是你想要的。

在此处输入图像描述

使用这个

在此处输入图像描述

我认为你可以四处看看它的其余部分是如何构建的。

插入表格控件后,您需要右键单击要更改的字段Host IDPort ID从数字字段更改为列表框字段。

(请注意,组合框不能在 LO 中用于此操作,因为它们仅在单个字段上操作,您需要两个字段,一个 ID 和对该 ID 的人类可读引用。在 Access 中,组合框或列表框将工作。)

我特意让主机查找使用查询,端口查找使用 SLQ,因此您可以看到两种最常见的获取下拉列表的方法。

有时 SQL 更好,有时 Query 更好,这取决于你在做什么。如果您的表格是这样布置的,您可以直接使用表格进行下拉,即 field1=显示的文本或值,field2=ID 键,按此顺序。但作为一项规则,我喜欢将我的 Key ID 作为我所有表中的第一个字段,所以永远不要使用这种方法。

此外,我将表与左或右连接而不是内连接相关联。我几乎从不使用内连接,因为当用于在查询中链接两个表时,如果其中一个表丢失,它会隐藏两个表中的记录,而不是将丢失的数据显示为我更喜欢的空容器。


多年来我制定的其他未要求的一般设计技巧,我希望你会考虑:

  • 我发现以复数形式命名表和以单数形式命名记录,并仔细坚持这一点,这是最有意义的,例如IPs表(包含多个 IP 记录),并且IP ID, 是表示或指向特定记录的整数。有时像 Data 这样的词是没有“s”的复数形式,因此您将使用 Datum 来表示记录,而使用 Data 来表示表格。

  • 我认为给指针和目标提供完全相同的名称是最有帮助的,尤其是当您的数据库增长并且对于什么指向什么存在混淆时。保持两个名称相同更简单,并且更防弹。换句话说,使用Host ID在主表中命名的字段,这指向Host ID在查找表中命名的字段。(其他人称之为外键查找,但我从来没有发现这个名字很有帮助)。

  • 而且我总是尝试使用以“ID”为后缀的表名本身来命名主键,而不是使用其他单词或文本字符串。这样,当我查看 ID 时,我可以确定它与哪个表相关联。因此,例如,如果表名为Hosts,则主键始终为Host ID(不是Hosts ID因为那将是复数,而实际上 ID 仅指一条记录,而不是所有记录)。例如,IP ID,或者IP_ID你喜欢两者都可以正常工作。我发现IP ID(带有空格)更容易阅读和输入,因为它允许使用多个单词的更复杂的名称,例如Word1 word2 word3 ID. 空格比下划线更容易输入。但这假设您必须引用所有标识符,我总是这样做,但并不总是需要。我喜欢严格遵守这样的一些基本规则。

希望这对您有所帮助。

于 2017-04-15T03:05:43.823 回答