Um meine Access-Datenbank zu komprimieren muss ich diese natürlich erst schließen, damit ich exclusiv darauf zugreifen kann.
Trotz schließen aller Tabellen und schließen der ADOConnection geht sie nicht ganz zu.
Man sieht es schon an der .ldb Datei die immer noch neben der .mdb Datei vorhanden ist.
In einem anderen kleineren Programm von mir funktioniert das ohne Probleme, aber in dem Programm das ich derzeit bearbeite will das einfac nicht so funktionieren.
Hat noch jemand eine Idee, was ich übersehen habe ?
Hier der Code zum schließen der DB.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| Procedure TForm1.Datenbankkomprimieren1Click(Sender: TObject); Var ProgPath, DBName: String;
Begin DM1.QStamm.Close; DM1.QHersteller.Close; DM1.QAufmachung.Close; DM1.QMaterial.Close; DM1.QFarbe.Close; DM1.QGeraet.Close; DM1.QWork.Close; DM1.QSuchen.Close; DM1.QVorgaben.close;
DM1.ADOC.Connected:=False;
ProgPath := ExtractFilePath(paramstr(0)); DBName := ProgPath + 'Daten\EcoPrl.mdb';
Access_Compact(DBName); Showmessage('Bitte starten Sie das Programm neu'); Halt; End; |
Moderiert von
raziel: Code- durch Delphi-Tags ersetzt