請問如何用程式把Access加入密碼 |
尚未結案
|
Snooze
一般會員 發表:18 回覆:21 積分:7 註冊:2002-06-03 發送簡訊給我 |
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
你好:
這個程序給你參考 < class="code">
procedure CompactDatabase(DatabaseName{完整的資料庫名稱路徑}, Password : string {資料庫密碼});
const
BaseSrc = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Jet OLEDB:Database Password=%s';
var
JetEngine : IJetEngine; {需要 Import Type Library msjro.DLL}
Path : String;
TmpName : array[0 .. Max_Path] of Char;
begin
randomize;
Path := ExtractFilePath (DatabaseName);
if GetTempFileName (PChar (Path), Nil, 0, TmpName) = 0 then begin
StrCopy (TmpName, PChar (format (path '%x', [trunc (random (65535))])));
end else begin
DeleteFile (TmpName);
end;
JetEngine := CoJetEngine.Create;
try
JetEngine.CompactDatabase(format (BaseSrc, [DatabaseName, Password]), format (BaseSrc, [TmpName, Password]));
if DeleteFile (DatabaseName) {刪除舊的資料庫} then begin
if MoveFile (TmpName, PChar (DatabaseName)) {將新的資料庫移到指定目錄} then
ShowMessage (format ('%s 資料庫壓縮成功。', [DatabaseName]))
else
ShowMessage (format ('%s 無法改名為 %s,請自行改名。', [TmpName, ExtractFileName (DatabaseName)]));
end else
ShowMessage (format ('%s 刪除失敗,請自行刪除並將 %s 改名成 %s。', [DatabaseName, ExtractFileName (TmpName), ExtractFileName (DatabaseName)]));
finally
JetEngine := nil;
end;
end;
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |