 Elite Veteran
Beiträge: 910
     Ort: Wien | Hallo, Hans-Christian!
hcscherzer
...Um die Eingabe neuer DS zu ermöglichen, hat das HF einen Button in der Kopfzeile.
Damit setze ich
Me.uf_notizen.Form.AllowAdditions = True
Jetzt bekommt das UF einen neuen Satz aber der steht ganz weit unten.
Mit
Me.uf_notizen.SetFocus
DoCmd.GoToRecord , , acNewRec
springt der Fokus - wie gewünscht - zum neuen Satz.
Aaaber das Programm hat darunter einen weiteren virtuell neuen Satz erzeugt.
Meine Frage ist nun: wie lässt sich das verhindern?
Nach dem Speichern des neuen Satzes bekommt dieser automatisch den Zeitstempel now() und springt nach oben.
Und der leere doppelte neue Satz verschwindet wieder, weil ich .AllowEditions wieder auf False setze.
Wenn du nur den Fokus auf einen neuen DS setzt, dann erzeugt Access keinen "weiteren virtuell neuen Satz". Die Anzeige eines potentiellen neuen DS passiert erst, sobald man etwas in den neuen DS eingibt, d.h. wenn er den Zustand Dirty erhält, egal ob durch den Anwender oder durch Programmierung. Vielleicht erfolgt letztere bei dir "zu früh". Wenn du das nicht ändern kannst/willst, wird wohl nur das sofortige Speichern des DS und Zurücksetzen von AllowAditions helfen.
Ich erzeuge manchmal "Vorschlagsdatensätze", z.B. um dem Anwender eine Standardauswahl anzubieten. Wenn er sie nicht verwendet, lösche ich sie später, z.B. beim Schließen des Formulares, mit einer Abfrage, die den Inhalt wichtiger Felder auf (Nicht-) Eingaben prüft. Vielleicht kannst du das ähnlich veranstalten.
----- Servus
Karl
*********
Access-Entwickler-Konferenz: https://www.donkarl.com/?aek
Access DevCon Vienna: https://www.donkarl.com/devcon
Access Forever: https://www.accessforever.org
Access News: https://www.youtube.com/playlist?list=PLVCeBbJIMDvdJ8ghMbEakJ6_EQyvy... |