Delphi操作Access文件,非ADO
来源:互联网 发布:世界贸易总额数据 编辑:程序博客网 时间:2024/05/21 06:01
作者:mahushen
摘自:
主要功能:
1.连接Access文件,不使用Ado连接.
2.根据需要删除Access文件中的表或对象.
这里使用了Delphi中的TAccessApplication组件,通过它来连接Access文件,并进行操作.
- 使用TAccessApplication 打开 Access文件:
function OpenAccessFile(p_FileName: string): boolean;//p_FileName:Access文件名,含路径信息
var
tmpC: longint;
begin
result := false;
{特别说明:Access到2003 以后增加了宏安全性设置,如果安全性设置的较高,则每次打开Access文件时总会出一个警告提示框,使用程序打开时也是这样使用不方便,所以在打开Access文件前要先降低宏安全性,然后再打开文件,这样就不会在程序中弹出提示框了,不过在打开文件后要记得把宏安全性还原.}
with TRegistry.Create do
begin
RootKey := HKEY_Current_USER;
if OpenKey('SoftwareMicrosoftOffice .0AccessSecurity', true) then
{由于Access在默认状态下可能没有设置宏安全性,所以这个注册表键可能不存在,所以这里用:true参数,自动创建它}
begin
if ValueExists('Level') then //如果存在Level值
begin
tmpC := Readinteger('Level');//记录下原Level值,以备将来还原
WriteInteger('Level', 1);//设置宏安全性为:低级.1:低级,2:中级,3:高级
end else
begin
tmpC := 2;//没有Level值,则默认它为:中级安全
WriteInteger('Level', 1);//
end;
end;
free;
end;
try
adoc.Connect;//adoc为TaccessApplication对象,先连接Access程序
adoc.Docmd.CancelEvent;
adoc.OpenCurrentDatabase(p_FileName, True, '');//打开指定文件
result := true;
except
on e: exception do
begin
msg.Caption := '';
showmsg(0, '备份数据出错.信息:' + e.Message);
end;
end;
with TRegistry.Create do //还原宏安全性
begin
RootKey := HKEY_Current_USER;
if OpenKey('SoftwareMicrosoftOffice .0AccessSecurity', False) then
begin
if ValueExists('Level') then
begin
WriteInteger('Level', tmpC);
end;
end;
free;
end;
end; - 打开Access文件后就可以进行操作了.
adoc.DoCmd.DeleteObject(acTable, tmpTabname);//adoc为TAccessApplication对象
说明:DoCmd包含一系列的方法,这里使用的DeleteObject方法,两个参数分别是要删除的Access对象的类型和对象的名称.关于更多DoCmd的信息可参考Access的帮助文档中Microsoft Access Visual Basic参考/对象/D/DoCmd部分
- Delphi操作Access文件,非ADO
- Delphi之ADO操作Access
- ADO数据库操作(ACCESS)
- ADO操作Access
- ado操作access
- delphi(ADO)线程访问Access
- 通过ADO操作Access数据库
- ASP+ADO操作Access数据库
- 通过ADO操作Access数据库
- 通过ADO操作Access数据库
- C# ADO操作Access数据库
- 使用ADO操作Access数据库
- Delphi操作ACCESS技巧集
- Delphi操作ACCESS技巧集
- DELPHI中操作ACCESS数据库
- Delphi操作ACCESS技巧集
- Delphi操作ACCESS技巧集
- DELPHI中操作ACCESS数据库
- 恢复误删除的/usr目录
- com组件对象与.net类对象的相互转换
- bde连接加密的paradox数据库
- 在oracle中实现定时操作
- sql server:定时作业的设置方法
- Delphi操作Access文件,非ADO
- 清空Oracle10中的回收站
- SPCOMM使用说明(翻译中)
- SPComm的一个小注意
- 使用Microsoft自动化组件
- 程序内嵌PPT播放及相关控制方法
- TIdFtp控件使用例程
- 让程序作为服务运行!
- 利用Indy的TIdFtp控件实现FTP协议