Access技巧集,认为好的请提前.欢迎增加,请不要灌水 (300分)

to 崔占东
  怎么用你的控件?最好能提供个例子,谢谢!
我的mail是:resun@163.net
 
me too
csfuwl3249@sina.com
 
收藏&鼓励!
 
不错,UP
 
Very Good!
 
Const
SConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;'
+'Jet OLEDB:Database Password=%s;';

//=============================================================================
// Procedure: GetTempPathFileName
// Author : ysai
// Date : 2003-01-27
// Arguments: (None)
// Result : string
//=============================================================================
function GetTempPathFileName():string;
//取得临时文件名
var
SPath,SFile:array [0..254] of char;
begin
GetTempPath(254,SPath);
GetTempFileName(SPath,'~SM',0,SFile);
result:=SFile;
DeleteFile(result);
end;

//=============================================================================
// Procedure: CreateAccessFile
// Author : ysai
// Date : 2003-01-27
// Arguments: FileName:String;PassWord:string=''
// Result : boolean
//=============================================================================
function CreateAccessFile(FileName:String;PassWord:string=''):boolean;
//建立Access文件,如果文件存在则失败
var
STempFileName:string;
vCatalog:OleVariant;
begin
STempFileName:=GetTempPathFileName;
try
vCatalog:=CreateOleObject('ADOX.Catalog');
vCatalog.Create(format(SConnectionString,[STempFileName,PassWord]));
result:=CopyFile(PChar(STempFileName),PChar(FileName),True);
DeleteFile(STempFileName);
except
result:=false;
end;
end;

//=============================================================================
// Procedure: CompactDatabase
// Author : ysai
// Date : 2003-01-27
// Arguments: AFileName,APassWord:string
// Result : boolean
//=============================================================================
function CompactDatabase(AFileName,APassWord:string):boolean;
//压缩与修复数据库,覆盖源文件
var
STempFileName:string;
vJE:OleVariant;
begin
STempFileName:=GetTempPathFileName;
try
vJE:=CreateOleObject('JRO.JetEngine');
vJE.CompactDatabase(format(SConnectionString,[AFileName,APassWord]),
format(SConnectionString,[STempFileName,APassWord]));
result:=CopyFile(PChar(STempFileName),PChar(AFileName),false);
DeleteFile(STempFileName);
except
result:=false;
end;
end;


procedure TForm1.Button1Click(Sender: TObject);

begin
if CompactDatabase('luozs.mdb','123') then showmessage('OK') else showmessage('error');
end;

这样是错的。!!!!!!!!!!!!我在 windows XP + Access200 + Delphi6 + Delphi_SP2 调试
 
to ysai:

大哥 。。请问如何做呀。。小弟太菜。。不太懂呀。。谢谢~~~~~~~~~~~~~~~
 
to ysai:
谢谢你~~~
可以帮我看看
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1718408
吗??
我是第一个编写 数据程序的超级菜鸟~~

谢谢哥哥~~~

 
给为大富翁真的很热情阿,
 
我想做个测试:找个损坏的ACCSEE数据库,然后修复它。可是如何把ACCSEE数据库弄坏,
而且能修复成功?
 
再加一条,
如果表名和关键字冲突可以这样写:
select
*
from
[user]

user为表名
 
to ego同志:
你的Cool的Access技巧集能给我一份吗?
先谢了!!
yanghero@163.com
 
to ego同志:
你的Cool的Access技巧集能给我一份吗?我正学着用ADO+access
谢了!!


touge2001@163.com
 
顶部