且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

从备份中恢复已删除的记录,***方法?

更新时间:2022-11-03 08:18:06

或者你可以构建一个查询加入所有相关的

表,并一次从所有表中选择信息。确保

查询是可更新的。


Pavel


DaveDiego写道:
Either that or you could build a query that joins all the related
tables, and select the information from all of them at once. Make sure
the query is updateable.

Pavel

DaveDiego wrote:

我有一个用户删除了一个客户记录,我确实有一个版本的数据库,所有记录在删除之前完好无损。

是什么获取每个表中所有相关记录的***方法是什么?我有大约12个表将数据放回来,每个表有多个
记录。我是否需要为每个
表格添加或更新查询?

I''ve had a user delete one of the client records, I do have a version of
the DB with all records intact before the deletion occured.

Whats the best approach to getting all the related records in each of
the tables? I have about 12 tables to put data back into and multiple
records for each. Would I need to make an append or update query for each
table?



DaveDiego< Th ***** *******************************@usenet1.wi ntermute.cx>写道:
DaveDiego <Th************************************@usenet1.wi ntermute.cx> wrote:

我有一个用户删除了一个客户端记录,我确实有一个版本的数据库,其中所有记录都完好无损删除发生。


那么他们是如何删除这么多记录的呢?你有没有开启级联删除?如果是这样的话

se。

什么是***的方法来获取每个表中的所有相关记录?我有大约12个表将数据放回来,每个表有多个
记录。我是否需要为每个
表进行追加或更新查询?

I''ve had a user delete one of the client records, I do have a version of
the DB with all records intact before the deletion occured.
So how did they delete so many records? Do you have cascade delete turned on? If so
se below.
Whats the best approach to getting all the related records in each of
the tables? I have about 12 tables to put data back into and multiple
records for each. Would I need to make an append or update query for each
table?




您必须从备份MDB追加到新的MDB中新MDB中的记录不存在




================== ================================ ===

为什么我不喜欢'不喜欢级联更新和删除

做很多级联更新可能更容易受到性能和损坏

问题因为级联更新可能需要锁定很多页面。一张位于

关系食物链上的桌子,例如一张顾客桌子,可能需要很多

数千张发票才能让客户的外键成为如果级联改变了

更新是允许的。


我也觉得,不像汤姆埃里森雄辩地不同意我的意思,主要是

应在所有表中使用自动编号密钥。这对用户来说永远不可见,因此不需要级联更新。


我也非常不喜欢级联删除。 &LT;微笑&GT;特别是当一个用户看到系统信息时,他们就不会注意额外的措辞,而是按照(和其他相关记录)表)&QUOT;它可以是方式,方式

太容易开始从太多表中删除记录。例如,你去删除

一个客户,呐喊,级联删除刚删除所有客户发票

标题和发票删除。很明显,这是一个极端的例子,但很可能

如果有人不清楚什么可能出错。


所以我只是删除了根据以下代码在子表中记录。


strSQL =" DELETE * FROM InvTransactionsDetailsDataEntry" &安培; _

" WHERE itddeInvTransHeaderID =" &安培;我!ithID& ""

CurrentDb.Execute strSQL,dbFailOnError

strSQL =" DELETE * FROM InvTransactionsHeader" &安培; _

" WHERE ithID =" &安培;我!ithID& ""

CurrentDb.Execute strSQL,dbFailOnError


其中ithID是表主键,可在调用此代码的表单中找到。 />

对于ADO使用CurrentProject.Connection.Execute strSQL,lngRecordsAffected,adCmdText

Tony

-

Tony Toews,Microsoft Access MVP

请仅在新闻组中回复,以便其他人可以阅读整个消息主题。

Microsoft Access Links ,提示,提示&会计系统
http://www.granite.ab.ca /accsmstr.htm


Tony Toews< tt **** @ telusplanet.net>写在

新闻:ip ******************************** @ 4ax.com:
Tony Toews <tt****@telusplanet.net> wrote in
news:ip********************************@4ax.com:
我也非常不喜欢级联删除。 < smile>
特别是当用户看到系统消息时,他们不会支付额外的措辞,而这些措辞与和/或其他相关记录相符。表)&QUOT;它可以很方便地开始从太多表中删除记录。例如,你去删除一个客户,然后呐喊,级联删除只是
删除了所有客户的发票标题和发票删除。
很明显,这是一个极端的例子,但很有可能,如果某人
并不清楚什么可能出错。
I also have an intense dislike of cascading deletes. <smile>
Especially when a user sees the system message they don''t pay any
attention to the extra wording which goes along the lines of "(and
associated records in other tables)" And it can be way, way too
easy to start deleting records from too many tables. For example
you go to delete a customer and, whoops, cascade deletes just
removed all the customers invoice headers and invoice deletes.
Clearly that''s an extreme example but is quite possible if someone
doesn''t clearly understand what could go wrong.




当有发票记录时,客户表上的级联删除是
$ b在我看来,$ b显然是架构设计错误。发票是

不能删除,因为您必须有交易记录,所以

发票的父母本身不能删除。


但是,有很多情况下级联删除很好 - 当

儿童记录不是任何重要信息的一部分

独立于他们作为另一个数据记录的孩子的角色。

例如,客户的库存应用程序(和古董

音乐经销商,其中一切都是独一无二的对象,每个项目一个记录

,没有库存计数)有关键字附加到父母

记录。他们最近浏览了旧库存系统下编号的所有库存物品,并创建了新记录

,从旧记录中复制了新的库存号(原因是

在旧系统中,数字格式为ALS-1234,其中

1234也可用于INS-1234;这最终导致

他们的问题,所以他们想摆脱它们)。然后他们

删除了旧记录。旧记录的关键词是

级联删除,因为它们应该是,因为它们只是库存表和关键字查找表之间的联接

表。


我正在开发一个应用程序,它有一个事件表,用于跟踪随时间发生的事情以及相关的子事件
/>
表在每次事件时分解特定变量值。如果父事件被删除,子事件应该是

级联删除。


现在,这在开发过程中非常方便。我不确定是否会将它留给生产使用,特别是当应用程序安装完全

时,它将从中获取数据自动导入

例程而不是数据输入。但是,如果父记录是可删除的,那肯定是一个案例

,除了作为父母的一部分之外,子记录没有

功能。


-

David W. Fenton http://www.bway.net/~dfenton

dfenton at bway dot net http://www.bway.net/~dfassoc