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?
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.