Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Primärschlüssel

Begonnen von gsaccess, Februar 06, 2024, 22:02:53

⏪ vorheriges - nächstes ⏩

gsaccess

Was halten die Fachleute von einem Primärschlüssel der wie folgt erstellt wird:
AuftragID= (Format(Now, "yymmddhhnnss"))Datentyp könnte wie oben diskutuiert Dezimal, Double oder String sein.
Autowert funktioniert nicht, da bei einem Autowert die alten Daten nicht übernommen werden können.

Vielleicht komme ich so weiter.

Über eine Antwort bei der Bedenken oder Nogoes auch begründet werden, würde ich mich freuen.

Günther

Beaker s.a.

Hallo Günther,
ZitatWas halten die Fachleute von einem Primärschlüssel der wie folgt erstellt wird:
Nicht viel würde ich denken. Bleibe bei einem Autowert für die AuftragsID. Deine AuftragsNr
kannst du ja trotzdem in dem Format erzeugen. Die Beziehungen laufen ja alle über die ID,
wenn ich mich nicht verguckt habe.
Um die Beziehungen mit der neuen Tabelle = neuer AutoWert wie vorher wieder herzustellen
würde ich dieser eine Spalte gönnen für die alte ID. Über diese kannst du dann in einer
Abfrage die Detailtabellen verknüpfen und den FK aktualisieren.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

gsaccess

Vielen Dank für deine ausführliche Antwort.
In der alten Tabelle wurden die Detailtabellen mit der Auftrag_nr verknüpft.
Bei der Übernahme der Daten wäre dies auch einfacher.
Ich werde aber beide Varianten versuchen.

Günther

Beaker s.a.

Hallo Günther,
ZitatIn der alten Tabelle wurden die Detailtabellen mit der Auftrag_nr verknüpft.
Wenn es damit keine Probleme gegeben hat, kannst du diese Beziehung
ja für die Aktualisierung der Detailtabellen verwenden.
Diese bekommen ein neues Feld für den FK "AuftragID_F" (LongInteger)
in das du dann die neue ID überträgst. Anschliessend kannst das alte
Feld (Auftrag_nr) löschen, - die Nummer steht ja schon in der Haupt-
tabelle.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)