PDA

Vollständige Version anzeigen : Schreibkonflikt


Trash
03.08.2001, 08:15
Hi liebe Forumuser!
Ich habe eine DB Front End und Back End aufgeteilt. Front End liegt auf dem NT- Server und die Back End liegt auf 4 Workstations.
Wenn nun 2 Benutzer auf die Front End zugreifen dann entsteht unweigerlich ein Schreibkonflikt der den letzten Benutzer auffordert den Datensatz zu speichern oder in die Zwischenablage zu kopieren oder wiederum seine eigenen Änderungen zu verwerfen. Kann man diese Fehlermeldung irgendwie unterbinden und gleichzeitig den Befehl erteilen die Datensätze automatisiert zu speichern?
[Benutze A00]
Bin für jeden Beitrag dankbar!

A.S.
03.08.2001, 08:51
Hallo Trash,

normalerweise ist die Konstellation aber ganau anders herum: Frontend auf den Workstations und der Backend auf dem Server.

Gruß

Arno

marmic55
03.08.2001, 08:56
Hallo,

da Du für jeden Beitrag dankbar bist, antworte ich einmal als A97er in Teilbereichen.
Nachfolgenden Code setze ich in der Formulareigenschaft "Bei Fehler" ein:
------------------------------------------
If DataErr = 7787 Then

Dim strFehler
strFehler = "KEINE SPEICHERUNG @@Die Datensatzänderung kann nicht gespeichert werden, " & vbCrLf & _
"da ein anderer Benutzer eine Änderung an diesem Datensatz vorgenommen (und " & _
"bereits gespeichert) hat."
Beep
MsgBox strFehler, vbCritical + vbOKOnly, "Wichtiger Hinweis"
SendKeys "{ESC}", True
Response = acDataErrContinue ' Ausschalten Standardfehlermeldung (Speichern/
' Zwischenablage/Verwerfen
DoCmd.GoToRecord acActiveDataObject, , acLast

Exit Sub
End If

-----------------------------------------

Weiteres unternehme ich hier allerdings nicht (duplizieren, als neuen Datensatz anhängen usw.).
Ich habe lediglich dafür gesorgt, dass ein User beim Programmstart nur jeweils zum letzten Datensatz dieses Zeitpunkts gelangt und nicht zu neuen Datensätzen, die nach seinem Einloggen von anderen angelegt werden (Einsatzleitsoftware).

Besser wäre es, wenn man "Beim Anzeigen" den Status des Datensatzes ermitteln könnte ("wird gerade von anderem User ....").
Hier habe ich mich selbst aber aus Zeitgründen noch nicht hintergeklemmt.

Gruß

Michael

(lasse vorsichtshalber im Formular "Bei Fehler" die Fehlernummer anzeigen - A00 -).

Trash
03.08.2001, 09:14
Hi marmic55!
Danke! werd ich gleich mal umsetzen - hört sich vielversprechend an.
Gruß an alle!