Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: vrabac am August 14, 2016, 20:31:44

Titel: Wie kann man mit VBA prüfen ob eine Tabelle gesperrt ist?
Beitrag von: vrabac am August 14, 2016, 20:31:44
Hallo Leute,

Ich habe ein Formular, das u.a. eine Tabellenerstellungsabfrage ausführt. Vorher wird natürlich  die alte Tabelle gelöscht.

Jedenfalls ist die betreffende Tabelle gesperrt wenn MS Word gerade mit der Tabelle verbunden ist - das führt dann zu einer Fehlermeldung.

Jetzt suche ich nach einer Möglichkeit den Zustand der Tabelle gesperrt/freigegeben zu prüfen und die Ausführung rechtzeitig abzubrechen zu können.

Vielen Dank schon mal.
Titel: Re: Wie kann man mit VBA prüfen ob eine Tabelle gesperrt ist?
Beitrag von: Lachtaube am August 14, 2016, 20:51:05
Man könnte so vorgehen.   Dim rs AS DAO.Recordset

   On Error Resume Next
   Set rs = CurrentDb().OpenRecordset("tabellenname", dbOpenTable, dbDenyWrite Or dbDenyRead)
   If Err Then
      MsgBox "Tabelle ist in Verwendung"
   Else
      rs.Close
      'Tabelle kann gelöscht werden
   End If

PS: Alternativ könnte man auch die Daten der Tabelle löschen und anschließend eine Anfügeabfrage laufen lassen.
Titel: Re: Wie kann man mit VBA prüfen ob eine Tabelle gesperrt ist?
Beitrag von: vrabac am August 15, 2016, 06:39:20
Vielen Dank schon mal aber im Anschluss an die Neuerstellung der DB, führ das in Word zu folgender Fehlermeldung:

ZitatFehler: Die Datenbank wurde vom Benutzer 'Admin' auf Computer 'EDV1' in einen Status versetzt, in dem sie nicht geöffnet oder gesperrt werden kann.
Titel: Re: Wie kann man mit VBA prüfen ob eine Tabelle gesperrt ist?
Beitrag von: vrabac am August 15, 2016, 08:50:01
Alles Käse - mir ist ein grandioser Denkfehler unterlaufen!

Gerade eben habe ich festgestellt, dass MS-Word auch Auswahlabfragen als Empfängerlisten verarbeiten kann.

Anstatt eine Tabellenerstellungsabfrage für die Serienbriefe zu verwenden und dann in Word diese Tabelle als Empfängerliste zu wählen, hätte ich direkt die Auswahlabfrage verwenden sollen und hätte garnicht erst die Probleme mit der exklusiven Verwendung gehabt.