Neuigkeiten:

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

Mobiles Hauptmenü

Datensatzänderung zu bestender Abfrage hinzugefügen ohne zu überschreiben

Begonnen von Gabriele, Februar 21, 2019, 16:20:56

⏪ vorheriges - nächstes ⏩

Gabriele

Ich habe ein Formular, das an eine Abfrage gebunden ist. Im Formular werden zwei Werte über ein Kombifeld geändert. Die Datensätze sollen nun zur Abfrage hinzugefügt werden, ohne zu überschreiben, damit später die Änderungen nachvollziehbar sind.
Leider funktioniert mein VBA-Code nicht.
Private Sub Befehl54_Click()
DoCmd.RunCommand acCmdSelectRecord
    DoCmd.RunCommand acCmdCopy
DoCmd.RunCommand acCmdUndo
  DoCmd.RunCommand acCmdRecordsGoToNew
 
    DoCmd.RunCommand acCmdSelectRecord
    DoCmd.RunCommand acCmdPaste
Me.Seriennummer = CStr(cbxSeriennummer)
    RunCommand acCmdSaveRecord
End Sub

Private Sub cbxSeriennummer_AfterUpdate()
Me.Requery
End Sub
Private Sub Form_Current()

End Sub
Ich erhalte zwei Fehlermeldungen bei acCmdUndo
und bei Me.Requery
Vielleicht kann mir jemand helfen.

DF6GL

Hallo,

das ist ein völlig falscher Ansatz..


Vergiss das ganze RunCommand-Getöns und lege einfach einen neuen Datensatz mit dem Formular an, sofern die Form-Abfrage an sich  aktualisierbar ist.

Dazu braucht es keinerlei Code.

Wenn die Abfrage nicht aktualisierbar ist,   also keine neuen Datensätze anfügbar sind, dann ist das Konzept falsch (Form mit verknüpfender Abfrage als Datenherkunft und/oder die Copy&Paste-Methodik).

Weiterhin können bei Bedarf Daten aus dem vorhergehenden Datensatz übernommen werden, wenn die Standardwert-Eigenschaft der Steuerelemente dynamisch gesetzt wird.  (http://www.donkarl.com/?FAQ4.22)

MzKlMu

Hallo,
eine solche schräge Programmierung habe ich auch noch nicht gesehen.  ;D

Wie Franz auch schon gesagt hat, lege im Formular einfach einen neuen Datensatz an.
Wenn es in diesem Datensatz noch mehr Felder gibt, die aber nicht geändert werden, so ist eine neue Tabelle erforderlich mit einem Fremdschlüssel zur jetzigen Tabelle und den beiden Feldern für die Kombis.
Ändern sich die Werte, gibt es einen neuen Datensatz. Programmierungen sind hier nicht erforderlich.

PS:
ZitatIch erhalte zwei Fehlermeldungen
Solche Aussagen solltest Du Dir gleich abgewöhnen. Die sind völlig wertlos. Wenn es Fehlermeldungen gibt, so sind diese vollständig zu zitieren mit der Fehlernummer.
Gruß Klaus