Hi,
die mdw-Datei ist die Arbeitsgruppendatei.
Darin werden die User und Gruppen gespeichert, die der Entwickler für seine DB-Anwendung vorgesehen hat.
Die ldw-Datei ist so eine Art Protokolldatei. Darin wird gespeichert, wer die mdb geöffnet hat und an welchem Rechner diese Person sitzt.
Die Jet-Engine versucht diese Datei immer zu erstellen, und zwar im gleichen Verzeichnis wie die DB. Ist das Verzeichnis schreibgeschützt, hat die Jet-Engine natürlich verloren.
Nun zu Deinem Schreibschutzproblem:
Im Connection-String kannst Du angeben, wie die Datei geöffnet werden soll. Fügst Du "Mode=Read|Share Deny None;" in den String ein, wird die Datenbank im Read-Only-Mode geöffnet.
Liest Du die Daten aber per Hand aus und zeigst diese an (also benutzt nicht dieses völlig fehlerbehaftete ADODC), ist es unerheblich, ob Du die Datenbank im Read-Only-Mode öffnest.
Wenn Du alle Daten per SQL ("SELECT bla FROM blub" und Recordset.Open) aus der DB holst, wird nichts reingeschrieben, solange Du kein INSERT oder UPDATE benutzt.
Das ist zwar ein höherer Programmieraufwand, ist aber sicherer und flexibler.
Hier noch ein paar Tutorials, die sich mit ADO ohne gebundene Controls befassen:
Der große ADO-Kurs
ADO, DB-Programmierung
Datenbanken mit ADO-Ext
Ich hoffe, das reciht an Infos.