MS Access表匹配并同步

时间:2009-12-14 22:18:42

标签: ms-access

我有2台计算机,每台计算机都有一个MS Access数据库,同一组表具有相同的结构。我想匹配和同步这两个数据库。我想创建一些计划任务,匹配两个数据库中的所有表,检查任何新行或更新预先存在的值,然后更新表。有没有办法在MS Access中实现这一目标?如果有,怎么样?或者我需要用某种编程语言编写一些应用程序吗?

感谢。

2 个答案:

答案 0 :(得分:3)

如果他们在局域网上,为什么不在两台计算机之间共享桌子呢?您希望将MDB拆分为包含查询,表单,报表,宏和模块的前端MDB,其中只包含后端MDB中的表和关系。 FE被复制到每个网络用户计算机。 FE MDB链接到驻留在服务器上的后端MDB中的表。您对FE MDB进行更新并将其分发给用户,可能作为MDE。

有关详细信息,请参阅"Splitting your app into a front end and back end Tips"页面。查看免费Auto FE Updater utility以使新FE的分布相对轻松。虽然这个实用程序对于两台PC来说太过分了,但我会在将来读这篇文章时提及它。

答案 1 :(得分:2)

您可以创建一系列查询,以检查对键(更新)上匹配的表的更改或缺少键值(添加)。查询可以通过VBA运行。

EDIT对于具有数据库密码的外部数据库:

SELECT * 
FROM [MS Access;PWD=password;DATABASE=C:\Docs\LTD.mdb].Companies a
INNER JOIN Companies b
ON a.ID=b.ID
WHERE a.CompanyName<>b.CompanyName

您也可以使用上面的字符串而不使用Where语句作为记录集,并遍历每个字段以查找不匹配。您甚至可以使用VBA和TableDefs循环遍历表集合并构建SQL字符串。

公司中的新记录别名b

SELECT * 
FROM [MS Access;PWD=password;DATABASE=C:\Docs\LTD.mdb].Companies a
LEFT JOIN Companies b
ON a.ID=b.ID
WHERE b.ID Is Null