我在 MS Access 2010 数据库中有一个表,它可以很容易地拆分为多个表。但是我不知道该怎么做,并且仍然将所有数据链接在一起。有谁知道一个简单的方法来做到这一点?
7 回答
我最终只写了一堆更新和追加查询来创建更小的表并保持所有数据同步。
您必须迁移到其他数据库系统,例如 MSSQL、mySQL。您不能在 MsAccess 复制中执行...
不知道你是什么意思split up into multiple tables
。
这两个表是否具有相同的结构?您想将表格分成两个部分...意味着如果原始表格具有字段 A、B、C、D ...那么您希望将其拆分为 Table1:A、B 和 Table2:C、D。
不管怎样,我用谷歌搜索了一下,下面的链接可能就是你要找的东西。检查它们。
表分析器向导在哪里遇到问题?也许您可以解决您遇到的问题。
但是,如果表分析器向导不起作用,您还可以考虑http://office.microsoft.com/en-us/access-help/resolve-and-help-prevent-duplicate-data中描述的策略-HA010341696.aspx。
在 Microsoft Access 2012 下,数据库工具,分析表。我使用向导将一个大表拆分为多个规范化表。希望有帮助。
嗯,您不能只复制表格,然后删除每个表格中的相反项目,以您想要的方式保留数据,但确保两个表格具有相同的确切自动编号字段,并使用该字段来引用其他。
这可能不是最熟练的方法,但我通过以下方式解决了类似的问题:
a) 通过 SQL 创建新表的过程:
CREATE TABLE t002 (ID002 INTEGER PRIMARY KEY, CONSTRAINT SomeName FOREIGN KEY (ID002) REFERENCES t001(ID001));
两个表通过外键相互关联。
b) 将必要字段添加到新表的过程 (t002)。在下面的示例代码中,我们只使用一个字段,我们称它为 [MyFieldName]。
c) 通过 SQL 将表 t001 中的字段 ID001 的所有值附加到表 t002 中的字段 ID002 的过程:
INSERT INTO ID002 (t002) SELECT t001.ID001 FROM t001;
d) 通过 SQL 将值从 t001 中的字段传输到 t001 中的字段的过程:
UPDATE t001 INNER JOIN t002 ON t001.ID001 = t002.ID002 SET t002.MyFieldName = t001.MyFieldName;
e) 通过 SQL 删除(删除)表 t001 中相关字段的过程:
ALTER TABLE t001 DROP COLUMN MyFieldName;
f) 一个接一个地调用它们的过程。在对过程 f 的调用中,字段名作为参数输入到过程中。
这是一堆编码,但它为我完成了工作。