إصلاح وضغط قاعدة البيانات MS Access
#11
السلام عليكم
ارتكبت خطا في كتابة الدالة
لا تغير الدالة CompactAndRepair اتركها على حالها هكدا
PHP كود :
function CompactAndRepair(DB, Password: string) : boolean;
const
  
sProvider = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Jet OLEDB:Database Password="%s"';
var
  
v: OLEvariant;
begin { CompactAndRepair }
  
Result := True;
  try
    
v := CreateOLEObject('JRO.JetEngine');
    try
      
v.CompactDatabase(Format(sProvider, [DB, Password]), Format(sProvider, [DB + 'x', Password]));
      if 
FileExists(DB + 'x') then begin
        DeleteFile
(DB);
        
RenameFile(DB + 'x', DB)
      
end;
    finally
      
v := Unassigned
    end
; { try }
  
except
    Result 
:= False
  end
; { try }
end; { CompactAndRepair } 
و تحتها مرر متغيراتك (مسار قاعدة بياناتك وكلمة المرور ان وجدت) الى الدالة كما اعتدنا . هدا الكود يبقى كما هو
PHP كود :
procedure TForm5.Button3Click(Sender: TObject);
begin
DataModule1
.ADOConnection1.Close;
  if 
CompactAndRepair('E:\Projet\gestion commerciale\gestion commerciale\gestion commerciale\gestion commerciale.mdb','') then
    ShowMessage
('database compact successfully');
  
DataModule1.utilisateur.Open;

end; 
ولا تنسى اضافة ComObj الى قائمة uses
بالتوفيق
و من طلب العلوم بغير كد _________ سيدركها إذا شاب الغراب
[-] كل من 1 user says قال شكرا ل bassem_43 على المشاركة المفيدة
  • wadoud
الرد


الردود في هذا الموضوع
إصلاح وضغط قاعدة البيانات MS Access - بواسطة bassem_43 - 05-09-2015, 01:10 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم