Access表更新的问题 ( 积分: 100 )

  • 主题发起人 主题发起人 herui
  • 开始时间 开始时间
H

herui

Unregistered / Unconfirmed
GUEST, unregistred user!
单位里用delphi+Access开发了一个程序,一个管理机构和若干个分支机构,管理机构和分支机构的数据库表字段完全一样,管理机构数据库中有的表是根据分支机构表汇总进去的。其中一类表可以只接增加,另一类表只能更新,原因是这类表一定时间后以前的某些记录的数据可能发生了变动,并且也有增加的新记录。对要更新的表我的思路是在管理机构的汇总表中将某机构的该类表记录删除,然后再分将支机构提交的新表导入进去,但这样如果记录多了是很费时的,有哪位知道有更好的办法吗?
 
没人知道吗?
 
你选用SQL SERVER 2000啊,在里面写触发器来同步更新。
 
to wallysw,我的数据库不是很大,用不上SQL SERVER 2000,再说我已作得差不多呀。
 
分发不出去吗?
 
你现在是怎么追加记录的?

如果让我做,我的办法是先把整个表导入进去,再在同一个数据库里追加记录,不会多费时的。
 
XLR2003朋友,我现有两个表,A表在A数据库,B表在B数据库中,两个表的字段完全一样,现想用B表去更新A表的记录,在B表的记录中,对A表中已有的进行更新,对A表中没有的记录进行添加。
 
herui: 我的意思是:不要在更新时同时对两个数据库操作,而是先把A库中的A表传到B库中,改名为A1,再在B库中对A1和B操作,这样应该快些。
 
请问有什么好的办法将A库的A表传到B库中去?最好附代码。
 
有知道在程序中怎样将其他数据库中的某一表导入到另一数据库中去的吗?
 
用SQL是很好的实现的..写一个 for update inset 触发器.
如果在ACCess写SQL不好实现...
 
procedure TForm1.Button8Click(Sender: TObject);
Var new_mdb :OleVariant;
begin
try
new_mdb:= CreateOleObject('Access.Application');
new_mdb.NewCurrentDatabase('c:/new.mdb');
new_mdb.Application.DoCmd.TransferDatabase($00000000,'Microsoft Access','c:/dagl.mdb',0,'dalr','sjda',false{true为只复制表结构});
new_mdb.Application.DoCmd.TransferDatabase($00000000,'Microsoft Access','c:/dagl.mdb',0,'tree','tree',true{true为只复制表结构});
finally
new_mdb.Quit;
new_mdb:= null;
end;
end;
 
接受答案了.
 
后退
顶部