Forums Neueste Beiträge
 

Copy & Paste von Datensätzen mit eindeutigem Index

05/12/2008 - 11:51 von Matthias Popp | Report spam
Hallo Newsgroup,

auf einem tabellarischen Formular sollen mehrere Datensàtze kopiert und
eingefügt werden.
Die Datensàtze enthalten ein Feld, in welches automatisch dar aktuelle
Zeitpunkt eingetragen werden soll.
Dieses Feld ist Bestandteil eines eindeutigen Indexes.

Minimalstruktur:

Tabelle1:
ID - Autowert
Textfeld - Text
Zeitpunkt - Datum/Uhrzeit

Ein eindeutiger Index setzt sich aus Feldern "Textfeld" und "Datum"
zusammen

Formular1:
tabellarisches Formular mit diesen Feldern

Form_Formular1:
Programmcode zum Formular1.
Dieser bekommt für das manuelle Eintragen von Datensàtzen die
Ereignisprozedur:

Private Sub Form_BeforeInsert(Cancel as Integer)
Me.Zeitpunkt = Now
End Sub

Damit wird bei jedem manuellen Anlegen eines neuen Datensatzes in das Feld
"Zeitpunkt" der aktuelle Wert eingetragen.
Selbst wenn das Feld "Textfeld" gleiche Eintràge enthàlt, werden der
eindeutige Index nicht verletzt und die Datensàtze angenommen.

Nun bràuchte ich eine Lösung mit der mehrere Datensàtze auf dem Formular
kopiert und am Ende der Tabelle eingefügt werden können, wobei das
"Zeitpunkt"-Feld der einzufügenden Datensàtze mit der aktuellen Systemzeit
ersetzt werden soll.
Leider tritt bei dieser Aktion das BeforeInsert-Ereignis vor dem Moment ein,
an der das Feld "Zeitpunkt" durch den Kopiervorgang befüllt wird. Paste
überschreibt damit die vorausgegangene Anweisung "Me.Zeitpunkt = Now".
In Folge führt das zu einer Indexverletzung mit entsprechender
Fehlermeldung.

Gibt es eine Lösung, die gewünschte Funktionalitàt trotzdem zu realisieren?
(Die Frage gilt für Access 2003 und 2007)

Mit freundlichen Grüßen
Matthias
 

Lesen sie die antworten

#1 Thomas Kühn
05/12/2008 - 12:14 | Warnen spam
Hallo Matthias,

Nun bràuchte ich eine Lösung mit der mehrere Datensàtze auf dem Formular
kopiert und am Ende der Tabelle eingefügt werden können, wobei das
"Zeitpunkt"-Feld der einzufügenden Datensàtze mit der aktuellen Systemzeit
ersetzt werden soll.
Leider tritt bei dieser Aktion das BeforeInsert-Ereignis vor dem Moment ein,
an der das Feld "Zeitpunkt" durch den Kopiervorgang befüllt wird. Paste
überschreibt damit die vorausgegangene Anweisung "Me.Zeitpunkt = Now".
In Folge führt das zu einer Indexverletzung mit entsprechender
Fehlermeldung.




Wie wàre es wenn Du Now als Standardwert in der Tabllendefinition
definierst?


Gruß Thomas
http://www.thomas-kuehn.de

Ähnliche fragen