Excel开发人员迁移到MS Access时面临的问题之一实际上是MS Access表和Excel电子表格之间的明显相似性。
MS Access不是Excel这两个程序中“外观”的相似性(即数据的布局)导致Excel开发人员错误地认为数据库的工作方式与电子表格类似。
平面文件数据库电子表格是用于处理图形的非常复杂的工具,它们也可以很好地处理数据,尤其是以“平面文件数据库”的形式。 您也可以在MS Access中使用平面文件方法,但是MS Access主要是一个关系数据库,这意味着它具有将信息表关联在一起的能力。
关系型通过利用数据库的这种关系属性,您可以真正对数据处理进行重大改进。 因此,如果您有一个电子表格需要升级到数据库才能利用此功能,那么本文适合您。
典型的电子表格布局下面的示例显示了您通常会在电子表格中找到的列,例如名字,姓氏。 然后是各种各样的主题,每个主题都有一个复选框,表明该主题已被采用,通过或什至失败!
可以将这种电子表格布局直接转移到MS Access表中,并且实际上,许多Access数据库都是以这种方式构造的,并且一些花费数百英镑的复杂应用程序都是基于平面文件系统的。 但是,如前所述,MS Access是一个“关系”数据库,这意味着它可以将您的数据关联在一起。
你不是关系???那么,如何以及为什么要应用关系结构呢? 很好,它解决了很多问题,但有很多问题,但我已经指出了以下主要问题。
未知领域我在论坛上注意到的第一个最常见的问题是,那些具有从电子表格中导入的具有类似设计的表的人,他们发现很难提取有用的信息,这是您应该考虑在不同的数据库中构建新数据库的主要原因之一。以电子表格的方式,毫无疑问,您将能够提出自己独特的数据提取方法,但是您会发现几乎没有可用的帮助,这不是因为没有人想要帮助您,而是因为您正在进入未知领域领土,“以前没有人去过”(学生可以很好地代替“人”)。
保养另一个原因(并非按重要性的特定顺序排列,重要性因项目而异)如果您需要添加其他主题,会发生什么情况? 假设学校开始提供法语课程,您只需在电子表格中添加新列“ French”,实际上在MS Access数据库中还可以添加新列“ French”,但是如果您的数据库结构是如果功能非常先进,换句话说,您要在要添加新字段的表的基础上进行许多查询和构建表格,那么您将不得不修改从该表中提取信息的每个查询和表单,而不是您经常要做的事情!
列数限制许多现代的电子表格程序都可以处理数千列。 但是,MS Access在任何特定表中的字段数限制为255。 因此,在学生表示例中,如果您处于255的极限,并且您需要添加其他学科,那么您会发现自己处于困境。
关系解决方案那么解决方案是什么? 这是与直观相反的部分,您实际上是从原始表构造两个表并将它们链接在一起。 这是数据库发挥作用的“关系”方面。
怎么样?如果您查看上面数据的原始布局,则可以提出问题,原始表中是否有任何相关数据? 看着它,我怀疑所有的布尔列(复选框列,是/否数据)都是相同的,因此它们很可能是单独表的候选对象。 确实,这个新表有一个明显的名称,它们都是学生正在或可以接受的“主题”。
新表因此,现在您有了新表的名称“ Subjects”,并将其链接到原始表中剩余的数据(名字,姓氏),它将需要一个包含与RecordUniqueID字段匹配的字段。 对于此示例,我们将其称为“ MatchingID”,然后您需要一个字段来记录主题,而另一个字段来记录它是对还是错。 为了演示的目的,我使用了“ TransposedSubject”和“ TransposedData”这两个术语,您可以看到下面的样子:
您怎么可能会问到这个新桌子? 最初,这是一项繁琐的任务,尤其是如果您要移动许多列数据,则必须构造一个追加查询并追加每列。 但是我意识到这可能是一个适合某种自动化的过程,因此我想出了一种处理该问题的形式。
From: https://bytes.com/topic/access/insights/780723-excel-access-part-1-a