Hallo Gemeinde,
ich öffne und schließe den MS-Access-Zugriff mit nachfolgendem Code:
$oConnection = ObjCreate("ADODB.Connection")
$oConnection.Open("Driver=Microsoft Access Driver (*.mdb, *.accdb); DBQ=" & $sDatabaseName & "; Exclusive = 1")
$oRecordSet = ObjCreate("ADODB.RecordSet")
$sQuery = "Select Ausdr1 From " & $sTableName & " WHERE Ausweisnummer = " & "'" & $sSearch & "'"
$oRecordSet.Open($sQuery, $oConnection)
$aRecordSetArr = $oRecordSet.GetRows
$sDispName = $aRecordSetArr[0][0]
; hier wird dann je nach Query eine Tabelle ausgelesen oder in eine Abfrage geschrieben oder der Query ausgewertet etc.
; hier im Beispiel wird der der Ausweisnummer zugeordnete Benutzername ausgelesen...
$oRecordSet.Close()
$oRecordSet = 0
$oConnection.Close()
$oConnection = 0
Alles anzeigen
Der Zugriff funktioniert soweit bestens. Meine Frage: Schließe ich die den Zugriff richtig so oder fehlt etwas?
Ich kann nämlich im Explorer beobachten, daß beim Zugriff via Proggi auf die Db, im Explorer eine *.laccdb-Datei angelegt wird, diese aber nicht mehr gelöscht wird.
Ich habe die Db für exclusiven Zugriff eingerichtet und wenn ich sie per Doppelklick manuell starte wird die laccdb-datei nicht angelegt.
Wenn ich es richtig verstanden habe bedeutet die laccdb-Datei, dass die Db als gesperrt markiert ist.
Da alles soweit funktioniert fiel mir das erst gar nicht auf und in der laccdb steht ja auch nichts drin.
Erst als bei manuellem Öffnen, die Erstellung einer Sicherheitskopie(VBA-Modul in der Db) mit Laufzeitfehler 70 fehlschlug
ist mir klar geworden, dass die DB wohl i-wie gesperrt bleibt...
VBA-MODUL
Dim Quelldatei As String, Zieldatei As String, oFSO As Variant
Zieldatei = "E:\...TestHWSic" & Format(Now, "YYMMDD_HHMM") & ".sic"
Quelldatei = "E:\...\TestHW.accdb"
'Set oFSO = CreateObject("Scripting.FileSystemObject")
'oFSO.copyFile Quelldatei, Zieldatei, True
'objShell.PopUp "Es wurde eine Sicherheitskopie unter " & Zieldatei & " erstellt", 3, "Info"
'Set objShell = Nothing
### im Moment habe ich das Anlegen der Kopie auskommentiert ###