Avatar billede pongobear Nybegynder
27. januar 2009 - 16:08 Der er 6 kommentarer

Sletning af duplikerede linjer

Jeg har før stillet et lignende spørgsmål og troede jeg havde løst udfordringen selv, men det er jeg ikke længere sikker på, derfor stiller jeg spørgsmålet igen og smider nogle flere point efter det!

Lad os sige jeg har følgende tabel:

ID    Dato    Navn    Efternavn    Timer
1    01-01-2009    Brian    Jensen    10
2    02-01-2009    John    Doe    5
3    01-01-2009    Brian    Jensen    10
4    03-01-2009    Brian    Jensen    15
5    03-01-2009    Brian    Jensen    15

Som det ses har jeg flere linjer med samme indhold, bortset fra ID. Jeg ønsker at slette overflødigt indhold, så slut resultatet ser således ud:

ID    Dato    Navn    Efternavn    Timer
1    01-01-2009    Brian    Jensen    10
2    02-01-2009    John    Doe    5
4    03-01-2009    Brian    Jensen    15
Avatar billede jesperfjoelner Nybegynder
27. januar 2009 - 17:06 #1
Du kan oprette en forespørgsel via en guide der hedder noget med "Find dubletter"

Angiv da at både dato-, navn-, og timerkolonne kan indeholde dubletter.

Når du får resultater kan du slette dem.
Avatar billede mugs Novice
27. januar 2009 - 22:31 #2
Jeg mener at denne giode vil angive hvor mange poster der hasr fælles data. F.eksd. vil der for post 1 og 3 blive skrevet 2 og for post 4 og 5 2. D.v.s. at man skal slette manuelt i tabellen. Der må være en workaround.
Avatar billede jesperfjoelner Nybegynder
27. januar 2009 - 22:42 #3
Man kan selvfølig lave en funktion der gennemløber tabellen og tjekker linje for linje.

Den kunne så tjekke om der er andre linjer med samme dato/navn/timer
og så slette dem.

ITumpen > Er det mon noget der skal køres flere gange/ofte?
Avatar billede Slettet bruger
27. januar 2009 - 23:19 #4
Lav en select distinct forespørgsel og undlad kolonnen id!~)
Avatar billede Slettet bruger
27. januar 2009 - 23:20 #5
...så behøver du ikke slette noget som helst!~)
Avatar billede pongobear Nybegynder
30. januar 2009 - 12:41 #6
Nu har jeg fundet en løsning selv:

Step 1:

Benyt TOTAL knappen på den tabel, som man ønsker at fjerne dupletter fra. Færste kolonne er ID, hvor man vælger FIRST. Resten af kolonner vælger man grupper efter. Gem forespørsel (QUERY_STEP 1)

Step 2:

Hent den originale tabel ind i en ny forespørgsel, sammen med QUERY_STEP 2 og link ID, doubleklik på linket og vælg mulighed to (alle rækker i den originale tabel og kun de rækker fra QUERY_1 der matcher. Gem QUERY _STEP 2

Step 3:

Hent den originale tabel ind i en ny forespørgsel, og kør sletteforespørgsel. I mit tilfælde er kriteriet:

In (SELECT tblTimeregistrering.IDTimereg FROM tblTimeregistrering,QUERY_List_To_Delete WHERE tblTimeregistrering.IDTimereg=QUERY_List_To_Delete.IDTimereg)

ITumpen
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester