Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Datensatz Schlüsselwert ändern





Frage

Hallo, Als Primärschlüssel in meiner Datenbank mit vielen Beziehungen habe ich die PersonalNr. Nun habe ich den Fall, dass diese geändert werden muss und das ist nicht so einfach wenn schon Eintragungen in anderen Tabellen bestehen, die in Beziehung stehen. So habe ich gedacht eine Routine zu schreiben, die das erledigt und auf Knopfdruck im Formular angesprochen wird. Wie kann ich zum Beispiel ein Recordset kopieren und dieses mit einer anderen PersonalNr neu hinzufügen ?? Danach würde ich das alte dann löschen. So wie unten könnte ich Wert für Wert übernehmen. Gibt es auch eine Lösung für alle Werte auf einmal? Die PersonalNr muss ich aber irgendwie ändern können. Gruß Gudrun strFindPersNrNew = "[PersonalNr] = " & Str(Nz(PersonalNrNew, 0)) Debug.Print strFindPersNrNew strFindPersNrOld = "[PersonalNr] = " & Str(Nz(PersonalNrOld, 0)) Dim ttab, ttabClone As DAO.Recordset Set ttab = CurrentDb.OpenRecordset("tblPerson", dbOpenDynaset) Set ttabClone = CurrentDb.OpenRecordset("tblPerson", dbOpenDynaset) ttabClone.Clone ttabClone.FindFirst strFindPersNrOld With ttab ttab.FindFirst strFindPersNrNew If .NoMatch Then MsgBox "Keine Datensätze gefunden mit " & _ strFindPersNrNew & "." Else MsgBox PersonalNrNew & " Schon da " Exit Sub End If .AddNew !PersonalNr = PersonalNrNew !NachName = ttabClone!NachName MsgBox !PersonalNr & " Zur Tabelle Person addiert" .Update .Bookmark = .LastModified ttab.Close End With ttabClone.Close

Antwort 1 von MixMax

Wenn du in Access arbeitest, dann kanst du in den Beziehungen eine referentiale integrität einstellen - sprich änderst du den Wert in der Haupttabelle ändern sich auch alle tabellen wo der mit beziehungen dieser art hat.

allerdings mag access es scheinbar nicht wenn es sich um den primary key handelt oder ein Autowert ist. Es geht allerdings mit der indizierung (Ja ohne Dublikate)

Antwort 2 von Gudrun11

Danke für den Hinweis. Ja ich habe Microsoft Access.
Bei mir ist eben die PersonalNr der Primärschlüssel.

Ich versuche nun mal meine DB umzubauen, und zusätzlich eine anderen Primärschlüssel einzubauen.

Gruß Gudrun

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: