27. september 2005 - 15:17Der er
5 kommentarer og 2 løsninger
Opdatering af indhold i database
Hej
Jeg har en tabel med by navne + en ny tabel med nogle nye bynavne. Den nye tabel skal derfor ind i den første. Kan jeg opdatere den gamle med de nye informationer? Jeg bruger Access.
UPDATE X LEFT OUTER JOIN Y ON X.bynavn=Y.bynavn SET X.bynavn=Y.bynavn;
Hvad er fejlen ? Tilføjer jeg ikke de byer som ikke er i tabellen i forvejen?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg ville ikke gøre det på den måde. Hvis du opdaterer på den måde, skal du hver gang i tabellen by navne skrive bynavnet, når du opretter poster eller evt. ændrer dem. Det gør risikoen for stavefejl så meget større.
I by navne ville jeg lave feltet bynavn som en combo, der slå op i tabellen med nye bynavne. comboen's egenskab tilføj til liste skal sættes til Nej. Det betyder, at du kun kan indsætte bynavne der eksisterer i nye bynavne. Du kan herefter sætte comboen's egenskab Autofuldførelse til Ja, hvilket betyder, at du kan skrive det første bogstav i et bynavn og Access vil herefter give det det første bynavn der begynder med dette bogstav.
Du kan downloade et Excel-ark med alle bynavne fra P&T hjemmeside. Et sådant Ark kan du hente ind i Access.
OK - Men det ændrer jo ikke det forhold, at du har en stor risiko for stavefejl.
Når du får et nyt bynavn, vil du tilføje det i den tabel der i forvejen indeholder navne og bynavne. Hvordan vil du så tilføje et nyt bynavn til en tabel der ikke indeholder dette bynavn med et kriterie:
Den sidste del: SELECT Y.bynavn FROM Y WHERE Y.bynavn NOT IN (SELECT X.bynavn FROM X) skulle gerne give en liste over bynavne fra Y der ikke findes i X.
Denne liste tilføjes tabellen X, således at evt. øvrige felter får default value.
Der er altså taget højde for at der i Y kunne findes bynavne der allerede findes i X, og disse ignoreres.
Tak for hjælpen. Det var vist rigtig nok alligevel. Var lige lidt hurtig da jeg læste "NOT IN" :-)
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.