重命名链接表 MDB 文件对中的字段?
Posted
技术标签:
【中文标题】重命名链接表 MDB 文件对中的字段?【英文标题】:Renaming fields in linked-table MDB file pair? 【发布时间】:2011-10-04 17:51:53 【问题描述】:我有一个使用 MS-JET 链接表的 Access 2003 数据库(即,有两个 *.mdb 文件)。总体任务是迁移到 SQL Server。但是,现有数据库有多个字段,其中包含空格和其他字符,这会扰乱两个 Access 迁移向导。所以中间任务是创建一个具有更新字段名称的现有 mdb 版本。
“简单地”更改 UI mdb 文件中的字段名称不起作用,因为链接表在该 mdb 中是只读的。首先更新 Data mdb 文件字段名称不起作用,因为 UI mdb 然后在启动时抛出一个不稳定并且 Access 放弃了。
我正在寻找建议,但我可以看到的选项是:
将 Data mdb 重新集成回 UI 中,进行更新,然后重新导出数据。对我来说似乎非常冒险(系统是实时的,不想玩任何超过严格必要的数据)。
我在这里查看了几个与使用 VBA 代码更改 ODBC 详细信息有关的答案,这很有趣,我可以看到如何以编程方式编辑链接表的名称。这行得通吗?有没有更好的办法?
取消链接所有链接的表,然后在 UI mdb 中编辑剩余的表单、报告、查询(但这可行吗??)并编辑 Data mdb 字段,最后重新链接所有内容。会分崩离析吗?? ...似乎很有可能。
有什么建议吗? 露丝
【问题讨论】:
为什么不能删除链接,编辑表格,然后重建链接? 【参考方案1】:每次我接管一个现有的 Access 应用程序时,我都会经历这个过程——在我对它做任何重要的事情之前,我必须让它达到我自己的命名约定标准。最近我建立了a quick-and-dirty utility to rename fields。它是为我制作的,几乎没有错误恢复,而且 UI 很丑,但可能比自己做要快。
【讨论】:
【参考方案2】:查看自动更正提供的曲目名称。 How Name AutoCorrect Works in Microsoft Access
制作 UI MDB 的副本,删除链接的表,然后从 Data MDB 中导入它们(作为表而不是链接)。启用自动更正后,Access 将尝试将您的字段名称更改传播到任何使用它们的位置(例如在表单中)。它不太可能捕获 100% 的必要更改,但它应该解决其中的很大一部分。然后,您需要手动追踪并修复其余部分。
一旦您解决了所有问题,您就可以使用该 MDB 版本将您的表“升级”到 SQL Server。然而,一个巨大的复杂性是当您对新版本进行更改时,如果原始数据库是“活动的”。如果您在此期间绝对不能让数据库停止服务,您可以丢弃新表中的数据,然后使用“附加”查询,将旧字段名称别名为新字段名称以提取最新数据。
INSERT INTO NewTable (emp_id, another_field)
SELECT
[emp ID],
[another field]
FROM OldTable IN 'C:\somefolder\Data.mdb';
最后,关于自动更正的警告:不要在数据库的生产版本中启用它,因为可能会发生奇怪的事情。 IMO 最安全的方法是将其打开,完成对象名称更改,然后再次将其关闭。
【讨论】:
感谢您的这些想法。我确实想知道取消链接和整合数据,但正如我上面所说,就潜在影响而言,这很可怕。你能看到任何其他方式(可能更安全)吗? [更多背景信息:这是要“修复”的 3 个 DB 之一,尽管我们可以将其全部删除,但它绝对必须在几个小时内恢复……没有任何借口!] 我的猜测是至少需要几个小时才能完成对象名称的更改。因此,除了在离线数据库版本中进行更改之外,我没有看到任何现实的选择。并创建和测试您需要提取最新数据的“附加”查询。完成所有这些后,我认为您应该能够导入数据,然后在分配的几个小时内将其“升级”到 SQL Server。 HansUp:是的,这需要几个小时,这是我希望在开始部署之前让 UI mdb 处于最终状态的原因之一。谢天谢地,UI 中没有永久数据,只有代码/查询/表单等。所以我想我会听从你的建议。【参考方案3】:如果您需要通过项目传播名称更改,您可能会发现 Rick Fisher 的 Find and Replace
工具很有帮助。多年来我一直依赖它(虽然我最近没有做太多的 Access 开发):http://www.rickworld.com/products.html
我认为这个工具会为您更改表和字段的名称,但我不确定。我主要使用它来查找对其他查询、表单和报表属性以及 VBA 代码中的表和查询的引用。
【讨论】:
我认为没有必要购买任何东西。 当然没必要。我刚刚发现该工具非常有用。在我看来,这 37 美元非常值得。 谢谢,但我已经知道查找和替换,但是对于链接表,它不会/不能更改名称。不过,我同意它物有所值。以上是关于重命名链接表 MDB 文件对中的字段?的主要内容,如果未能解决你的问题,请参考以下文章