Hallo zusammen,
ich bin immer noch an einer Historie am basteln.
Ich habe im Anhang meinen jetzigen stand, jedoch mit dem Problem. dass der Primärschlüssel nur bei maximal 10 Feldern vergeben werden kann.
Meine originale Tabelle hat aber 28 Felder.
Im grunde, möchte ich eine Historie von allen eingegebenen Datumsfelder zu ABC haben.
Gibt es noch eine ander Lösung?
Gruss aus Köln
[Anhang gelöscht durch Administrator]
Hallo,
du möchtest was machen?
Primarschlüssel hat doch nix mit Historie zu tun. Er kennzeichnet einen Datensatz eindeutig.
In 99.999% aller Fälle ist immer nur 1 Feld auch Primärschlüssel.
Alles andere sind Spezialfälle die ich selbst noch nie erlebt habe.
Ich schlag dir vor du erklärst erstmal was du genau machen möchtest, und was du mit Historie meinst.
Gruß Andreas
Hallo,
ich möchte, dass in der angehängten Tabelle die Datumsfelder bei einer Neueingabe in der Tabelle Origin, die Datumsfelder in der Tabelle Hist nicht überschrieben werden.
Das mit dem Fremdschlüssel habe ich nicht hinbekommen.
Gruss aus Köln
Hallo,
ist es denn notwendig, dass mit 2 Tabellen zu machen?
Du könnest doch bei Änderungen immer einen neuen Datensatz anlegen u. hierbei die Werte des letzten DS benutzen bzw. ändern.
So hast du einen DS mit neuen Werten u. alle DS mit den alten Werten u. jeweils ein Änderungsdatum.
Gruß Oma
Hallo,
ja das würde auch reichen.
Aber wie macht man (Mann) das?
Es sind 850 Datensätze und es müsste bei der Eingabe (NachAktualisierung) ein neuer Datensatz angelegt werden.
Gruss aus Köln
Hallo,
das könntest du z.B. so machen:
Erstelle in einem Formular eineSchaltfläche mit:
Private Sub Neu_Click()
Dim DB As DAO.Database, rs As DAO.Recordset
Set DB = CurrentDb
Set rs = DB.OpenRecordset("tblOrigin")
With rs
.AddNew
!Datum1 = DLookup("Datum1", "tblOrigin", "ID =" & DMax("ID", "tblOrigin"))
!Datum2 = DLookup("Datum2", "tblOrigin", "ID =" & DMax("ID", "tblOrigin"))
!DatumAktualisierung = Now
.Update
.Close
End With
Me.Requery
DoCmd.RunCommand acCmdRecordsGoToLast
Damit wird ein neuer Datensatz angelegt mit den Werten des letzten DS u. du kannst die Werte beliebig aktualisieren.
Beim Formular öffen noch:
Private Sub Form_Open(Cancel As Integer)
Me.OrderBy = "ID"
Me.OrderByOn = True
End Sub
in der Tabelle tblOrigin musst du dazu noch eine ID als Autowert anlegen.
Gruß Oma