重命名链接表MDB文件对中的字段



我有一个使用MS-JET链接表的Access 2003数据库(也就是说,有两个*。mdb文件)。总体任务是迁移到SQL server。但是,现有的数据库有多个字段,其中包含空格和其他字符,这使两个Access迁移向导都感到不安。因此,中间任务是使用更新的字段名创建现有mdb的一个版本。

"简单地"改变UI mdb文件中的字段名不起作用,因为链接表在该mdb中是只读的。首先更新Data mdb文件字段名不起作用,因为UI mdb会在启动时抛出抖动,并且Access会放弃。

我正在寻找建议,但我能看到的选项是:

  • 将Data mdb重新集成回UI mdb,进行更新,然后重新导出数据。对我来说似乎非常危险(系统是实时的,除非严格必要,否则不想玩数据)。

  • 我看了几个答案在这里与改变ODBC细节与VBA代码,这是有趣的,我可以看到我如何能够以编程方式编辑链接表的名称。这能行吗?有没有更好的办法?

  • 取消所有链接表的链接,然后在UI mdb中编辑剩余的表单,报告,查询(但这会起作用吗??)并编辑Data mdb字段,最后重新链接一切。它会崩溃吗?…似乎可能。

有什么建议吗?露丝

每次接管一个现有的Access应用程序时,我都要经历这个过程——在对它做任何有意义的事情之前,我必须使它符合我自己的命名约定标准。最近,我构建了一个快速实用程序来重命名字段。它是为我做的,几乎没有错误恢复,UI很难看,但它可能比你自己做要快。

查看自动更正提供的曲目名称。名称自动更正如何在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:somefolderData.mdb';

最后,关于自动更正的警告:不要在数据库的生产版本中启用它,因为可能会发生奇怪的事情。在我看来,最安全的方法是打开它,完成对象名称更改,然后再将其关闭。

如果您需要在整个项目中传播名称更改,您可能会发现Rick Fisher的Find and Replace工具很有用。我已经依赖它很多年了(虽然我最近不做太多的访问开发):http://www.rickworld.com/products.html

我想这个工具会为你改变表和字段的名称,但我不确定。我主要使用它来查找其他查询,表单和报表属性以及VBA代码中的表和查询的引用。

相关内容

  • 没有找到相关文章

最新更新