Access-o-Mania

Access-Forum (Deutsch/German) => Access-Hilfe => Thema gestartet von: lukas2o11 am Januar 14, 2011, 12:06:13

Titel: Migration Access > MSSQL: Fehlermeldung beim Speichern
Beitrag von: lukas2o11 am Januar 14, 2011, 12:06:13
Hallo zusammen,

erst mal ein frohes neues Jahr!

Ich beschreibe einfach mal das Problem:

Wir haben bei uns in der Firma eine einfache Access-Anwendung (2003), die ich auf MS SQL (2005) migriert habe. Die Datenbankstruktur und die Daten konnten problemlos übertragen werden. Wenn man einen neuen Datensatz über ein Formular angelegt hat, in ein anderes Formular wechselt, weitere Daten dieses Datensatzes bearbeitet, wieder auf auf das erste Formular zurückkehrt und den Datensatz speichern möchte, erhalte ich plötzlich folgende Fehlermeldung:

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

Das Komische ist nur, dass nur 1 Benutzer an der Anwendung arbeitet :( Auf der Website http://www.berndjungbluth.de/sqlfaq/faqb2.htm (http://www.berndjungbluth.de/sqlfaq/faqb2.htm) wird das Problem unter dem Punkt B2.3 beschrieben und eine Lösung vorgeschlagen, die aber nicht funktioniert.

Haben jemand vielleicht eine Idee / Tipp / Vorschlag?

Wir sind auch bereit den Aufwand zu bezahlen! Kann auch gerne die Access-DB zur Verfügung stellen oder auch das ganze Szenarion über TeamViewer (http://www.teamviewer.com/de/download/dyngate.aspx) zeigen.

Viele Grüße,
Lukas
Titel: Re: Migration Access > MSSQL: Fehlermeldung beim Speichern
Beitrag von: database am Januar 14, 2011, 12:46:03
Hallo Lukas,

ZitatWenn man einen neuen Datensatz über ein Formular angelegt hat, in ein anderes Formular wechselt
Hast du schon versucht den Datensatz zu speichern BEVOR du jeweils ins andere Formular wechselst?

ZitatDas Komische ist nur, dass nur 1 Benutzer an der Anwendung arbeitet
Die Bearbeitung eeines Datensatzes an 2 verschiednen Stellen (deine Formulare) wird so interpretiert als würden mehrere Benutzer daran arbeiten.
Titel: Re: Migration Access > MSSQL: Fehlermeldung beim Speichern
Beitrag von: lukas2o11 am Januar 18, 2011, 11:35:51
Das mit den 2 Speichervorgängen = 2 Benutzer habe ich verstanden, nur sehe ich den Fehler nirgendwo..

Folgender Aufbau..

- es wird durch einen Button ein neuer Datensatz geöffnet und gespeichert
DoCmd.GoToRecord , , acNewRec
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70


- ein zweites Formular wird aufgerufen und über einen Filter die ID übergeben
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "UFM_GmbH_Beratung_mit_Termin"
stLinkCriteria = "[LFDNR]=" & Me![LFDNR]
DoCmd.OpenForm stDocName, , , stLinkCriteria


- im zweiten Formular wird am neuen Datensazt weitere Daten eingegeben, über einen Button wird dieser gespeichert und das zweite Formular geschlossen
DoCmd.RunCommand acCmdSaveRecord
DoCmd.Close


- im ersten Formular wird noch ein Feld in dem Datensatz gespeichert
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

...und dann taucht folgende Fehlermeldung auf! :-\

   (http://img46.imageshack.us/img46/8528/accessdbsc1.jpg)



Hast du eine Idee???
Titel: Re: Migration Access > MSSQL: Fehlermeldung beim Speichern
Beitrag von: DF6GL am Januar 18, 2011, 11:43:19
Hallo,

warum denn überhaupt ein zweites Form, um am gleichen DS weiter zu manipulieren?


schließ mal vor dem Öffnen des 2. Forms das 1. Form und öffne es wieder beim Schliessen des 2. Forms, damit die Verbindung zur Tabelle gelöst wird.


(Möglicherweise fehlt (zusätzlich) auch ein "Timestamp"-Feld in der zugrundeliegenden Tabelle)
Titel: Re: Migration Access > MSSQL: Fehlermeldung beim Speichern
Beitrag von: lukas2o11 am Januar 18, 2011, 12:05:50
Danke für die schnelle Antwort!!!

Ein Mitarbeiter aus einer anderen Abteilung hat die Access-Datenbank auf die Schnelle erstellt und diese ist leider schon im Livebetrieb. Man kann sie jetzt nicht einfach so offline schalten und umstricken :(

Ich werde deine zwei Schritte testen und melde mich!! Danke nochmal!

Titel: Re: Migration Access > MSSQL: Fehlermeldung beim Speichern
Beitrag von: database am Januar 19, 2011, 10:39:07
Hallo,

das Problem dürfte ziemlich sicher dadurch entstehen, dass das erste Formular noch geöffnet ist während im 2. Formular eine Datenänderung stattfindet.
Das Speichern der Änderung ändert nichts an der Tatsache, dass Access 'bemerkt' dass an einem Datensatz geändert wurde obwohl dieser in einem anderen Formular (Formular1) angezeigt und damit geöffnet war/ist.

Das liegt am automatischen Sperrmechanismus, der standardmäßig das Problem der kreuz und quer Änderung verhindert.
Ich nehme an, dass wenn das Form1 nach dem Anlegen des Datensatzes geschlossen wird, das Problem nicht auftritt. (so wie DF6GL angeregt hat).