13. september 2004 - 15:20Der er
5 kommentarer og 2 løsninger
Hvorden får man et autoID til at erstatte "manuelt- indtastet-ID"
Hvordan gør man i ACCESS når man vil ha et "autoID" ind i en tabel, som hidtil har fungeret med et "manuelt-ID". Det "manuelle-ID" er indtastet (i et felt som er oprettet som tekstfelt), og har fungeret som nøgle til en anden tabel. Det "manuelle" vil jeg ha væk, fordi det kan skabe problemer i fremtiden, men så vil jeg ha et "AutoID" til at overta rollen som nøglefelt. Håber det er til at forstå :)
Du opretter feltet ved siden af de andre som et autonummer, hvorved alle poster for tildelt et nummer.
Problemet er de relaterede tabeller: Her opretter du tillige et nummerisk ID-felt.
En opdateringsforespørgsel skal nu sørge for at alle ID'felterne i de andre tabeller peger det rigtige sted hen. Denne kan typisk se således ud: UPDATE Dintabel INNER JOIN Hovedtabel ON Dintabel.GlID = Hovedtabel.GlID SET Dintabel.NytID = Hovedtabel.NytID;
Dette gøres for alle relaterede tabeller.
Herefter kan du slette de gamle nøglefelter og sætte det nye ID som nøglefelt i hovedtabellen.
Herefter skal alle forespørgsler, formularer og rapporter tilpasses til de nye felter og have fjernet de gamle.
Når jeg har indsat en nyt felt og vil gøre det til autonumerering får jeg konsekvent: Når du har indtastet data i en tabel, kan du ikke ændre datatypen for noget felt til Autonumerering, heller ikke selvom du hr tilføjet data i feltet. Føj et nyt felt til tabellen, og definer datatypen som Autonumering. Derefter indsætter Microsoft Office Access automatisk data i Autonumerings-feltet. Numereringen af posterne er fortløbende og starter med 1. Men det er jo netop det jeg forsøger, så det kan jeg ikke forstå :(
Først når du lukker tabellen, da!? Når du står i tabeldesign, indsætter du et nyt felt og angiver datatypen til Autonummereing. Først herefter lukker du tabellen og gemmer.
OK, nu lykkedes det, det var når jeg var i tabeldesign. Jeg har nu fået det ind i de to tabeller, takker
Er det muligt at uddybe: "En opdateringsforespørgsel skal nu sørge for at alle ID'felterne i de andre tabeller peger det rigtige sted hen. Denne kan typisk se således ud: UPDATE Dintabel INNER JOIN Hovedtabel ON Dintabel.GlID = Hovedtabel.GlID SET Dintabel.NytID = Hovedtabel.NytID;"
Jeg har igen erfaring på det område, så jeg må indrømme "ikke forstået" :(
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.