【发布时间】:2017-09-28 14:34:16
【问题描述】:
我最近收到了一个非常旧的访问数据库来转换为 SQL 服务器。这是其他人在 90 年代完成的,但我有 .mdb 文件
数据库很旧,但有客户喜欢保留的实际配方数据。它在单独的表中结构如下..
表格
公式
公式_000
公式_001
公式_002
正如您在上面看到的,有一个标题公式表,其中包含名称、日期、版本等详细信息。
表格[公式]
------------------------------------------------
| FORMULA NAME | ID | VERSION | CREATED |
| Formula_000 | 000 | 1 | 01/01/1997
| Formula_001 | 001 | 1 | 01/01/1997
------------------------------------------------
有一个单独的附表,其中包含配方表中每个条目的成分,因此有一个名为 [Formula_001] 的表,其中包含以下列..
表格 [Formula_000] (x 100)
material code | % |
material 1234 | 025 |
material 5678 | 075 |
------------------------------------------------
我不希望所有这些表都通过标题表链接,但我需要将数据放入一个新结构中。有数百个名为 Formula_xxx 的表
我想要做的是遍历上述数据库中的所有 MS 访问表,除了头表 [公式](我可以删除这个以使其更容易),并将它们复制到一个新的主表中,并带有带有公式编号的额外列,以标识它来自哪个表。下面的例子..
表格 [Formula_Ingredients]
material code | % | formulaID |
material 1234 | 025 | 000
material 5678 | 075 | 000
material 1111 | 025 | 001
material 2222 | 075 | 001
------------------------------------------------
有什么想法吗?
【问题讨论】:
-
如果您创建了如上所示的表格,那么您应该能够编写一些 VBA 代码来遍历所有“Formula_xxx”表格并将行附加到您的新表格中。这能满足您的需求吗?
-
那样做是个好主意,我也可以循环标题表以获取公式表名称,然后单独打开它们并复制到一个新的手动创建的表中,包括表名称为身份证。谢谢
-
如果您使用 VBA 构建 SQL 来“插入”(从“Formula_xxx”中选择记录)并且目标是您的新表,则不需要打开每个表。
标签: sql sql-server ms-access