Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Ihre Daten wurden geändert - ein anderer Benutzer hat DS bearbeitet...

Begonnen von cyberchris, Februar 17, 2015, 09:20:21

⏪ vorheriges - nächstes ⏩

cyberchris

Hallo,

ich habe in einem Endlosformular eine Checkbox mit der der User seine Ansichtseinstellungen verändern kann. Diese Einstellung wird zum Benutzer gespeichert.
Nun kommt es häufig vor, dass folgende Fehlermeldung beim Anklicken der Checkbox erfolgt:

"Die Daten wurden geändert. Ein anderer Benutzer hat diesen Datensatz bearbeitet und die von ihm vorgenommenen Änderungen gespeichert, bevor Sie versucht habenIhre Änderungen zu speichern."

Das kann aber nicht sein, da ich alleine in der Datenbank bin!

Ich kann die Fehlermeldung auch nicht abfangen, da er in diesem Fall nichteinmal in den Sub geht.

Die Checkbox hat nur ein Ereignis "nach Aktulaisierung".
Und enthält folgenden Code:
Private Sub markierer_AfterUpdate()
On Error GoTo err_handler

tempmarker = 2
If markierer.Value = False Then
    Me.OnCurrent = ""
    Me!DeineIDAktiv = Null
Else
    Me.OnCurrent = "[Event Procedure]"
End If

If Not bgcheck2 = True Then
    Dim xSQL As String
    xSQL = "UPDATE [Benutzer] SET" & _
                " Einst_Markierer='" & markierer.Value & _
                "' WHERE ID='" & CurrentUser & "'"
    CurrentDb.Execute xSQL, dbFailOnError
End If

exit_handler:
    Exit Sub
err_handler:
    errordesc
    Resume exit_handler
End Sub

Kann man den Fehler irgendwie in den Griff bekommen?

Vielen Dank
Gruß Christoph

DF6GL

Hallo,

"Das kann aber nicht sein, da ich alleine in der Datenbank bin!"

Woher weißt Du das?


"Kann man den Fehler irgendwie in den Griff bekommen?"

Das ist kein Fehler, sondern eine Reaktion von Access (Jet-Engine), dass zwei unterschiedliche Zugriff zugleich auf den Datensatz passieren...

Zum Einen hat das gebundene Formular den Zugriff,  zum Anderen soll mit "Execute" der Datensatz geändert werden.

Das sind nun mal zwei "User" aus Sicht von Access.

Ich frage mich, welchen Sinn das Update-SQL-Statement denn haben soll...

cyberchris

Hallo,

ok da hast du recht, dass ich doch nicht alleine bin:-)

Jedoch kann ich das "direkt" nicht machen, da ich die Frontend mehrfach geöffnet habe und zeitgleich mit mehreren Instanzen arbeite. Das macht nur Probleme...wenn ich in der einen Instanz die Checkbox aktiviere und hin und her springe funktioniert das so nicht 100%ig.

Daher diese Krücke mit "Update..."...muss ich wohl mit der Fehlermeldung leben...jedoch funktioniert das so besser, als andersherum.

Was ich aber nicht verstehe, dass diese Fehlermeldung erscheint, obwohl er garnicht im Sub ist und ich mit Einzelschritt überhaupt nichts machen kann. Sonst hätte beim Fehler dies abgefangen oder die Speicherung wiederholen lassen, etc...


Danke trotzdem
Gruß Christoph

MaggieMay

Hallo Christoph.

Wenn du parallel an mehreren Instanzen des Frontends arbeitest, dann sind das eben auch mehrere Benutzer. Und wenn du dann auch noch auf ein und demselben Datensatz hockst gibt es so oder so Konflikte.
Warum machst du das, was ist der Hintergrund?
Freundliche Grüße
MaggieMay

cyberchris

Hallo,

die mehreren Instanzen deshalb, da ich z. B. unterschiedliche Filter nutze um Daten zu bearbeiten/vergleichen oder ähnliches. Bei den Hauptdaten gibt es da auch keine Probleme. Sobald in einer Instanz der Datensatz gesperrt ist, kann ich in der anderen Instanz nur Lesen. Das passt auch.

Es geht hier um Stammdaten, die der User verändern kann. Filter-/ und Ansichtsoptionen. Es wäre schon geholfen, wenn ich eine für den normalen User eine andere Fehlermeldung hinbekommen würde und die Änderung verworfen wird...oder so...