Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: PePan am April 07, 2012, 19:43:56

Titel: Anfügeabfrage nur geänderte Werte anfügen
Beitrag von: PePan am April 07, 2012, 19:43:56
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]
Titel: Re: Anfügeabfrage nur geänderte Werte anfügen
Beitrag von: Hondo am April 08, 2012, 15:54:39
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
Titel: Re: Anfügeabfrage nur geänderte Werte anfügen
Beitrag von: PePan am April 08, 2012, 16:02:17
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
Titel: Re: Anfügeabfrage nur geänderte Werte anfügen
Beitrag von: oma am April 08, 2012, 16:17:31
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
Titel: Re: Anfügeabfrage nur geänderte Werte anfügen
Beitrag von: PePan am April 08, 2012, 16:55:12
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
Titel: Re: Anfügeabfrage nur geänderte Werte anfügen
Beitrag von: oma am April 08, 2012, 19:55:50
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