Hallo,
ich habe öfters das Problem, dass ich im VBA-Code den aktuell angezeigten DS speichern will. Da ich den VBA-Code dafür nicht kenne, rufe ich aus dem VBA-Code einen Macro auf, der mit AusführenMenübefehl, DatensatzSpeichern den DS speichert. Danach geht der VBA-Code weiter. Da dies aber nicht sehr elegant ist, dauernd zwischen VBA und Makro hin- und herzuspringen, hätte ich gerne den VBA-Code für DatensatzSpeichern.
Vielen Dank im Voraus
Beate1953
Hi,
DoCmd.RunCommand acCmdSaveRecord
Harald
Me.Dirty = False
Das DoCmd-Objekt benutzt die gleichen Makrobefehle wie die Aufrufe aus dem Menü/Ribbon und natürlich die Makros selber.
Hallo,
arbeitest du mit ungebundenen Formularen oder warum bzw. bei welcher sonstigen Aktion speicherst du mit VBA den aktuellen DS?
Hallo,
ich arbeite mit einigen ungebundenen Feldern auf einem gebundenen Formular.
Das mit DoCmd.RunCommand acCmdSaveRecord klappt prima. Das mit Me.Dirty=False werde ich noch ausprobieren (müßte es nicht True heißen, damit Access denkt, es sei noch nicht gespeichert?).
Vielen Dank schon mal
Beate1953
Hallo,
die ungebundenen Felder werden aber mit DoCmd.RunCommand acCmdSaveRecordauch nicht gespeichert. Und mit Me.Dirty=Falseauch nicht.
Hallo,
somit bleibt dir nur die Möglichkeit, die Feldwerte in einen SQL-String einzulesen oder über das Recordset in die Tabelle zu verfrachten.
Wobei sich mir die Frage stellt, warum du ungebundene Felder auf einen gebundenen Formular verwendest - wäre es denn nicht einfacher, diese Felder auch gleich an die Datenherkunft zu binden?