PDA

View Full Version : کمک درباره فشرده سازی access



sharare
سه شنبه 21 تیر 1384, 10:29 صبح
مثل همیشه به من بگویید چطوری می شه توی جدول access رکوردهای اضافی رو حذف کرد به طوری که سایز جدول بعد از حذف رکورد واقعا کم بشه.
در ضمن یک فیلدی هم هست که از نوع autonumber هست می خواهم که اونهم بعد از حذف همه رکوردها از صفر شروع بشه.
قبلا از همتون ممنونم

m-khorsandi
سه شنبه 21 تیر 1384, 15:24 عصر
دوست عزیز،
در Access از منوی Tool->Database Utilities->Compact and Repair Database رو انتخاب کن تا حجم DB رو
کم کنه.

m-khorsandi
سه شنبه 21 تیر 1384, 16:27 عصر
این هم یه تابع برای اینکه تو دلفی بتونین این کار رو انجام بدین:


uses
ComObj;

function CompactAndRepair(DB: string): Boolean; {DB = Path to Access Database}
var
v: OLEvariant;
begin
Result := True;
try
v := CreateOLEObject('JRO.JetEngine');
try
V.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4. 0;Data Source='+DB,
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DB+'x;Jet OLEDB:Engine Type=5');
DeleteFile(DB);
RenameFile(DB+'x',DB);
finally
V := Unassigned;
end;
except
Result := False;
end;
end;

vcldeveloper
چهارشنبه 22 تیر 1384, 03:25 صبح
http://www.barnamenevis.org/forum/showthread.php?t=7302

mzjahromi
پنج شنبه 15 دی 1384, 12:57 عصر
این هم یه تابع برای اینکه تو دلفی بتونین این کار رو انجام بدین:


uses
ComObj;

function CompactAndRepair(DB: string): Boolean; {DB = Path to Access Database}
var
v: OLEvariant;
begin
Result := True;
try
v := CreateOLEObject('JRO.JetEngine');
try
V.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4. 0;Data Source='+DB,
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DB+'x;Jet OLEDB:Engine Type=5');
DeleteFile(DB);
RenameFile(DB+'x',DB);
finally
V := Unassigned;
end;
except
Result := False;
end;
end;

حالا اگه بانکمون Pass داشته باشه اونو کجا باید بنویسیم