Acc03: Ereignis bei einfügen eines kopierten Datensatzes?

25/03/2008 - 06:01 von Martin Hockemeyer | Report spam
Hallo Newsgroup,

meine Problem heute ist eigentlich recht schnell beschrieben, es will
mir nur keine adequate Lösung einfallen...

Ich verwende momentan Access 03, derzeit ohne Servicepack aus
speziellen Gründen.

Problematik:
In einem UFO, dargestellt in Datenblattansicht, verknüpft zum
Elternformular über eine eindeutige ID, können Datensàtze mit strg+C/
V, bzw. die Menüleiste kopiert und eingefügt werden. Das ist auch gut
so, allerdings gibt es ein Feld "Rechnungsnummer" dessen Inhalte nicht
kopiert werden sollen, sonder mit einem Standardwert "Rechnung
stellen" oder alternativ gar nicht befüllt werden soll. Bei wechsel zu
einem neuen, leeren Datensatz funktioniert das natürlich auch. Nur
beim kopieren wird der kopierte Wert, da der ganze DS markiert und
kopiert wurde, logischerweise mit eingefügt.

Lösungsansatz:
Das naheliegenste Ereignis war Nach Eingabe/AfterInsert. Allerdings
ergeben sich mit diesem Ereignis 2 Probleme:
1. der richtige Wert "Rechnung stellen" wird erst bei einem Refresh,
bzw. erneutem Datensatzwechsel, also 2 klicks nach verlassen des neuen
Datensatze sichtbar (Was aber nicht so schlimm wàre)
2. Wenn der Benutzer einen neuen Datensatz selbst mit Daten befüllt,
also nicht kopiert, und diesen Datensatz verlàsst werden natürlich
auch sàmtliche Eingaben in dem Feld "Rechnungsnummer" verworfen und
mit dem Standardwert der Prozedur befüllt. (Was absulut inaktzeptabel
ist)

Frage:
Hat jemand eine Idee wie ich weiterhin die Standard Kopier-funktion
zur verfügung stellen aber trotzdem dieses Problem lösen kann? Auch
auf die Datenblattansicht möchte ich eigentlich nicht verzichten und
von Funktionen hinter Buttons lieber absehen. Ich bin natürlich aber
trotzdem für jede Alternative Idee dankbar.

Freu mich schon auf eine Antwort,
Liebe Grüße,
Martin
 

Lesen sie die antworten

#1 Henry Habermacher
25/03/2008 - 07:14 | Warnen spam
Hallo Martin

"Martin Hockemeyer" wrote in message
news:
In einem UFO, dargestellt in Datenblattansicht, verknüpft zum
Elternformular über eine eindeutige ID, können Datensàtze mit strg+C/
V, bzw. die Menüleiste kopiert und eingefügt werden. Das ist auch gut
so, allerdings gibt es ein Feld "Rechnungsnummer" dessen Inhalte nicht
kopiert werden sollen, sonder mit einem Standardwert "Rechnung
stellen" oder alternativ gar nicht befüllt werden soll. Bei wechsel zu
einem neuen, leeren Datensatz funktioniert das natürlich auch. Nur
beim kopieren wird der kopierte Wert, da der ganze DS markiert und
kopiert wurde, logischerweise mit eingefügt.



Was passiert, wenn Du die Rechnungsnummer in einem ungebundenen Feld (oder
sogar in einem Label) ausgibst? Diese darf ja vermutlich nicht geàndert
werden. Du kannst dann beim Form_Current die Rechnungsnummer in den
Datensatz schreiben oder diese über =DLookup("RechnungsNr", "Rechnungen",
"RechnungsID=" & ID) einlesen.

Ich vermute, wenn die Rechnungsnummer nicht in einem gebundenen Feld drin
ist und auch im Record nicht drin ist, dann sollte diese beim Copy/Paste
nicht mit übernommen werden.


Gruss
Henry

Ähnliche fragen