Heim  >  Artikel  >  Datenbank  >  怎样拆分复制的Access97数据库

怎样拆分复制的Access97数据库

WBOY
WBOYOriginal
2016-06-07 16:22:391002Durchsuche

那些对Access数据库无经验的开发人员,他们常常不知道改变复制为对象设计,而不是数据表,那样会引起一些问题。这是令人失望的,首先, 因为复制似乎是分布完整的Access应用程序的最好途径,毕竟,Microsoft是支持它的。 问题是,Jet的复制是设计有数据表的

  那些对Access数据库无经验的开发人员,他们常常不知道改变复制为对象设计,而不是数据表,那样会引起一些问题。这是令人失望的,首先, 因为复制似乎是分布完整的Access应用程序的最好途径,毕竟,Microsoft是支持它的。

  问题是,Jet的复制是设计有数据表的。这是因为Jet复制主要是用于Visual Basic应用程序的,在那里,只有数据可以被存储在*.mdb文件里。这是它被测试最多的地方。对于Access 97来说,它总是被理解为,一个优秀的开发人员在将其转换成副本之前总是要拆分数据库,这样,只有表才能使被复制。关于拆分Access 数据库的概念,请参阅“在Microsoft Access 97中创建应用程序”的 第15章,第3节, 这些文档在Access 97光盘中都有。

  复制之前没有拆分数据库,,你会发现你的副本的大小会“膨胀”。这是因为,你做的每一个到格式或模块的改变,如,被放在隐藏表中,这样就变成了需要被复制的信息。想象一下,你努力30次正确地去做某个模块的代码工作。这些改变(除最后一个不必要外)都被发送到所有的副本,开发人员在复制前不能拆分就会碰到一个恼人的问题:复制工作正确进行一会儿后(也许甚至几个月),模块会突然不能工作,或表单不能打开。

  所以,你怎么能拆分已经被复制的数据库?我在这儿建议你根据以下的步骤去做。

  不要使用拆分数据库向导。这是因为,它正好用了错误的方式来拆分数据库,这样,你的数据表就不能再复制了---它把表移到新的文件中去了,并把对象的剩余部分放到了副本里,而我们要做的,是要把数据表放在副本里,并把其他的对象移到新的未复制的数据库文件中。那样的话,后端的剩余部分是可以复制的,作为当前副本设置的一部分,前端现在则是独立数据库,只能被拷贝到每一个应用程序用户。

  要确保你的副本都要同步,你就要知道,万一你损坏了设计主,而你已经更新了数据。

  创建新的Access数据库文件,该文件会在前端。根据Microsoft例子,你可以添加"_fe"到初始数据库名,虽然它确实对你要调用的并无关紧要。

  把这个新的文件打开,从设计主输入所有的查询,表单,报表,宏以及模块。如果你把开关板置于适当的你可以使用开关管理器控制的位置,那么,你也需要输入开关板项目表。

  如果你已执行了数据库安全,那么,你会丢失在第4和第5步骤中输入或连接的所有对象中的容许设置。所以,打开设计主,将这些容许设置拷贝到新的文件(即,前端)。

  现在,你需要添加代码到前端,该前端更新了连接到用户的本地副本。在开发人员解决方案数据库中,你会发现做这些工作的帮助。它随Access 97作为样本数据库出现。从“使用多数据库”分类中选择“启动连接表”。

  分布前端到你的所有用户。记住,该文件不应再被复制。你只须为需要的人拷贝即可。叫你的用户切换到使用前端。当你确定他们现在在使用前端时,你就可以继续下去,把设计主转换成后端(下两个步骤),便于他们同步下次时间,他们的副本也将变成后端。

  打开设计主,删除你在第4步骤中输入的所有对象。

  两次紧致设计主,然后使其与你的其他副本同步。

  注意:如果你想继续Microsoft在其拆分数据库向导中使用的准确的命名约定,那么,你就不得不通过添加"_be"到其文件名来重新命名你的后端副本。最安全的办法是在复制管理器里,用移动副本命令来做。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn