如何对比两个access数据库中的数据是否完全相同???(解决了可在加分)

时间:2021-03-26 06:11:25
先将1.mdb数据库备份(注意:1.mdb中有几十个数据表),存为2.mdb。
其中1.mdb可以修改,2.mdb不允许修改。
经过一段时间后,让两个数据库对比,以便于检测1.mdb是否已经修改,若修改了,修改的是哪个表的哪条记录的哪个字段的值;若没有修改,给出提示信息。
如何用VB实现以上功能?哪位高手如能解决,愿以500分相送!!!

9 个解决方案

#1


这个应该只能自己写过程分别读出各自的表,对比每每条的每个字段,看有没有变化。
access 本身不提供这种功能。

#2


这个问题应该不难解决,关键就是效率问题。初步考虑是不是在每张表里添加一个标志性的字段来检测该条数据是否被修改过。比如说如果记录被修改过就将该条记录的标志字段设为某个特定值。这样就可以通过这个字段先把被修改过的记录找出来,然后再和2.mdb的对应记录做比较。

#3


我也同意楼上的意见

#4


那假如我
第一次操作把A表的B字段由1改为2
第二次操作把A表的B字段由2改为1

这样数据库内容没变,但标志位变了。
当然这个情况很极端了:)。

#5


只有使用FOR 循环了,各表及各字段各值的比较了,但效率不行,实现还是容易啊

#6


自己读取,再比较。

想不到什么好办法。

gz

#7


hycao(海草)的提议很好,至于后面提出的那个问题可以这样处理:
首先将A库发生了修改的字段的关键字取出,并且将本行记录倒成为文本格式(字符串),然后根据关键字将B库的相关记录取出,同样倒成为文本格式(字符串),然后就两个字符串进行比较,这样就能够将上面提到的问题解决,而且兼顾了效率问题!
在将记录倒为字符串时可以采用事先定义好了的格式进行,这样导出的字符串就不会由于程序的问题成为不一致的字符串了!

#8


最笨的方法是在循环逐行逐字段比较

#9


那 用SQL2000 语句来查用呢 ?
是不是有这方面的书和离子呢

#1


这个应该只能自己写过程分别读出各自的表,对比每每条的每个字段,看有没有变化。
access 本身不提供这种功能。

#2


这个问题应该不难解决,关键就是效率问题。初步考虑是不是在每张表里添加一个标志性的字段来检测该条数据是否被修改过。比如说如果记录被修改过就将该条记录的标志字段设为某个特定值。这样就可以通过这个字段先把被修改过的记录找出来,然后再和2.mdb的对应记录做比较。

#3


我也同意楼上的意见

#4


那假如我
第一次操作把A表的B字段由1改为2
第二次操作把A表的B字段由2改为1

这样数据库内容没变,但标志位变了。
当然这个情况很极端了:)。

#5


只有使用FOR 循环了,各表及各字段各值的比较了,但效率不行,实现还是容易啊

#6


自己读取,再比较。

想不到什么好办法。

gz

#7


hycao(海草)的提议很好,至于后面提出的那个问题可以这样处理:
首先将A库发生了修改的字段的关键字取出,并且将本行记录倒成为文本格式(字符串),然后根据关键字将B库的相关记录取出,同样倒成为文本格式(字符串),然后就两个字符串进行比较,这样就能够将上面提到的问题解决,而且兼顾了效率问题!
在将记录倒为字符串时可以采用事先定义好了的格式进行,这样导出的字符串就不会由于程序的问题成为不一致的字符串了!

#8


最笨的方法是在循环逐行逐字段比较

#9


那 用SQL2000 语句来查用呢 ?
是不是有这方面的书和离子呢