Access Datenbank

Liebe/-r Experte/-in,
Hallo,
ich habe Formulare mit ungebundenen Feldern in dem ich Daten erfasse und anschließend mittels Schaltfläche speichere.
Beim updaten der Daten erscheint manchmal die Meldung:
‚Das MS Office Access-Datenbankmodul hat den Vorgang angehalten, da Sie und ein weiterer Benutzer gleichzeitig versuchen, dieselben Daten zu ändern‘

Es ist aber definitiv kein weiterer Nutzer vorhanden.

Da diese Meldung an mehreren Stellen in der Datenbank auftaucht, muss es sich wohl um einen grundlegendem Fehler handeln den ich noch nicht erkenne.

Als Beispiel folgender VBA Code


rst.Open „select * from t_Rechnung_Druckeinstellung_Zwischenspeicher“, CurrentProject.Connection

If rst.EOF And rst.BOF Then
rst.AddNew
End If
Stop

rst!Absender = Me.Absender
rst!Bankverbindungen = Me.Bankverbindungen
rst!Hinweis2 = Me.Zahlungshinweis2



rst.Update
rst.Close

Die Datenbank ist aufgeteilt in Frontend und Backend.
Die Meldung kommt nur wenn die Tabelle im Backend ist.

Die Meldung ist doch sicherlich nicht neu. Habe im Forum aber keinen Hinweis finden können.

Wer kennt das Problem und hat eine Lösung?

Hallo #Vatta,
die Meldung kann erscheinen wenn du selber die betroffenen Tabellen geöffnet hast. Z.B.durch eine Abfrage und so die Bearbeitung gesperrt ist.
Versuche durch schrittweise Ausführen des VBA Codes herauszufinden ob das der Fall ist.
Ich konnte so das Problem lösen.

Gruß Heribert

Hallo Heribert,
danke für die Antwort.
Diese Vermutung hatte ich auch schon, zumal das update beim ersten mal funktioniert, sobald ich aber eine zweite Änderung durchführen will wird das update gesperrt.

Machmal übersieht man ja Dinge, deshalb bin ich deiner Empfehlung gefolgt.
Beim öffnen des Formulars übernehme ich einige Daten aus der Tabelle. Sie wird aber auch mit
rst.close
geschlossen

Ich habe auch versucht mit rst.editmode etwas herauszufinden.

Unmittelbar nach dem der Datensatz geöffnet wurde, habe ich folgenden Part zugefügt:

If rst.editmode = adEditAdd Then
MsgBox „es wird kein Datensatz bearbeitet“
End If

If rst.editmode = adEditInProgress Then
MsgBox „der aktuelle Datensatz wurde geändert aber noch nicht gespeichert“
End If

If rst.editmode = adEditDelete Then
MsgBox „der aktuelle Datensatz wurde gelöscht“
End If

If rst.editmode = adEditNone Then
MsgBox „Im Moment findet keine Bearbeitung statt“
End If

Die Meldung war:
‚Im Moment findet keine Bearbeitung statt.‘

Das gleiche habe ich nach Änderung der Daten jedoch noch vor dem update gemacht.
Die Meldung war:
‚Der aktuelle Datensatz wurde geändert, aber noch nicht gespeichert.‘

Das ist ja ok.
Aber beim update wird das update wie beschrieben abgebrochen.

Was mich generell stutzig macht ist, dass das Programm, zumindest dieser Part, vor Monaten noch einwandfrei gearbeitet hat und diese Meldungen erst seit einiger Zeit auftauchen.

Vor Monaten hatte ich einen ähnlichen Fall:
Microsoft hatte ein update durchgeführt und die Registry nicht richtig angepasst.
Danach lief nichts mehr.

Kann es sein das hier ein ähnlicher Fall vorliegt?

Jede Antwort kann hilfreich sein

Gruß
#Vatta

Hallo Vatta,
leider kenne ich mich mit der Registry auch nicht aus.Da kann ich dir leider nicht weiterhelfen. Vielleicht bei MS nachfragen ob beim letzten Update was geändert wurde.
Aber um die Datenbank weiter nutzen zu können würde ich es mit einer temporären Tabelle versuchen, die du an das Formular bindest kannst und nach der Eingabe eine Anfügeabfrage oder Aktualisierungsabfrage ausführen lassen um die original Tabelle zu befüllen.
Nicht schön, aber besser wie nichts :smile:
Frohe Ostern
Heribert