Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

DS ändern mit VBA

Begonnen von pampel, Juli 14, 2015, 13:15:21

⏪ vorheriges - nächstes ⏩

pampel

Hallo zusammen,

in einem Formular habe ich ein Kombinationsfeld. Nach Auswahl eines Wertes aus diesem Kombinationsfeld soll ein Wert in der dem Formular zugrundeliegende Tabelle aktualisiert werden. Das Tabellenfeld, das geändert werden soll, ist jedoch kein Feld, das in dem Formular angezeigt wird.

Das klappt auch alles, es kommt immer nur die folgende Meldung:
Dieser Datensatz wurde seit Beginn der Bearbeitung von einem anderen Benutzer geändert. Wenn Sie den Datensatz speichern, werden Sie die Änderunge des anderen Benutzers überschreiben.

Gehe ich in dem Fenster "Schreibkonflikt" auf "Datensatz speichern" dann macht der VBA-Code das auch. Ich möchte das aber nicht jedesmal bestätigen müssen.

Mit
Dim dbs As DAO.Database
Dim rs As DAO.Recordset

Set dbs = CurrentDb
Set rs = dbs.OpenRecordset("tabP", dbOpenDynaset)

öffne ich die Tabelle. Gibt es da die Möglichkeit, die so zu öffnen, dass meine Änderungen nicht jedesmal bestätigt werden müssen?

Wie gesagt, der Code macht eingentlich das, was er soll, d.h., da sind keine Fehler drin. Ich möchte jetzt nur noch die Quittierung wegbekommen.

Danke für Hinweise.


Gruß,

Stefan

markusxy

wie wird das update durchgeführt? Kannst du den code posten.

MaggieMay

Hallo,

ZitatDas Tabellenfeld, das geändert werden soll, ist jedoch kein Feld, das in dem Formular angezeigt wird.

aber vermutlich kommt es aus derselben Datenquelle. Der Schreibkonflikt entsteht, wenn du sowohl über das Formular als auch per VBA denselben Datensatz bearbeitest. Verhindern lässt sich das, indem man die Änderungen nur im Formular vornimmt oder den aktuellen Datensatz vor weiterer Bearbeitung speichert.
Freundliche Grüße
MaggieMay