Avatar billede mrdj Nybegynder
26. oktober 2004 - 12:18 Der er 22 kommentarer og
2 løsninger

Markér dubletter

Hejsa.

Jeg har en access database, hvor jeg har nogle dubletter. Nogle navne står der jun én gang, mens andre altså står 2 eller flere gange. Dubletterne skal evt stå med fed, eller der skal være en stjerne ud for dem eller noget, bare det markeres at der er dubletter på navnet
Avatar billede jensen363 Forsker
26. oktober 2004 - 12:41 #1
Du kan få vist dubletter på forskellige måder, her er et eksempel :

SELECT Tabel.KundeNavn, Count(Tabel.KundeNavn) AS AntalOfKundeNavn
FROM Tabel
GROUP BY Tabel.KundeNavn
HAVING (((Count(Tabel.KundeNavn))>1));
Avatar billede mugs Novice
26. oktober 2004 - 12:45 #2
Lav et udtryk i din forespørgsel:

iif(DCount("[Tabelnavn]";"[feltnavn]" >1]);"*";"")
Avatar billede jensen363 Forsker
26. oktober 2004 - 12:46 #3
Mugs > tillykke med fødselsdagen forleden c",)
Avatar billede mugs Novice
26. oktober 2004 - 12:47 #4
Tak skal du have jensen :o)
Avatar billede mrdj Nybegynder
26. oktober 2004 - 13:05 #5
Hej Mugs. Kan ikke helt få det til at virke. Den kan ikke indlæse DCount. Min tabel hedder "Billetnumre" og feltet "navn"
Avatar billede jensen363 Forsker
26. oktober 2004 - 13:33 #6
SELECT Billetnumre.navn, Count(Billetnumre.navn) AS AntalOfnavn
FROM Billetnumre
GROUP BY Billetnumre.navn
HAVING (((Count(Billetnumre.navn))>1));
Avatar billede mrdj Nybegynder
26. oktober 2004 - 15:44 #7
Okay, det ser okay, men den retunerer dubletterne det antal gange som de er der, og det skal den ikke. Skal bare bruge sådan, at den ud fra en tabel, i en forespørgsel laver en markering på at navnet er en dublet. Evt med en stjerne
Avatar billede jensen363 Forsker
26. oktober 2004 - 15:51 #8
SELECT Billetnumre.navn, "*" AS Dublet
FROM Billetnumre
GROUP BY Billetnumre.navn, "*"
HAVING (((Count(Billetnumre.navn))>1));
Avatar billede mrdj Nybegynder
26. oktober 2004 - 16:09 #9
Det ser godt ud. Er ved at lave en eksportfunktion og jeg skal også bruge en liste over alle "ikke-dubletter", så den kan samle dem alle sammen i en tabel og der er * ved dubletterne
Avatar billede jensen363 Forsker
26. oktober 2004 - 16:11 #10
SELECT Billetnumre.navn, Count(Billetnumre.navn) AS AntalOfnavn
FROM Billetnumre
GROUP BY Billetnumre.navn
HAVING (((Count(Billetnumre.navn))=1));
Avatar billede mrdj Nybegynder
26. oktober 2004 - 16:18 #11
Hvordan kan det så være at når jeg sætter flere felter ind i den samme, vises dubletterne alligevel og der står "1" under "AntalOfNavn"?
Avatar billede jensen363 Forsker
26. oktober 2004 - 16:22 #12
De poster, som sellecteres som følge af HAVING (((Count(Billetnumre.navn))=1)), skulle meget gerne være alle dem, hvor der ikke er dubletter ???
Avatar billede mrdj Nybegynder
26. oktober 2004 - 16:26 #13
Jeg kan indsætte Adresse på personerne uden problemer og telfon osv, men jeg har 2 felter der hedder "Billetnummer-start" og "billetnummer-slut". Når jeg indsætter disse, vises dubletten også som 2 enkelte. Kan jeg prøve at sende db til dig?
Avatar billede jensen363 Forsker
26. oktober 2004 - 16:27 #14
Zip den, og send den til :  OSE@POST.DK
Avatar billede jensen363 Forsker
26. oktober 2004 - 16:31 #15
Det er fordi du benytter GROUP BY - hvilket vil sige, at den grupperer på unikke poster, og billetnummerstart hhv. -slut er to unikke værdier, grupperes alle data i forhold til disse to også
Avatar billede mrdj Nybegynder
26. oktober 2004 - 16:41 #16
Kan jeg gøre noget ved det? De skal gerne med
Avatar billede jensen363 Forsker
26. oktober 2004 - 17:34 #17
Du får problemerne, fordi Pia Nielsen har købt bilettet i to omgange, med hvert sit nummerinterval, derfor vil data blive gemt som to poster igen, netop fordi der så ikke er  tale om dubletter mere ...
Avatar billede mugs Novice
26. oktober 2004 - 19:22 #18
Jeg tror sgu den er hjemme:

SELECT Forespørgsel2.navn, billetnumrer.nr, Forespørgsel2.AntalOfnavn, IIf([Antalofnavn]>1,"*","") AS Udtryk1, billetnumrer.dato
FROM billetnumrer LEFT JOIN Forespørgsel2 ON billetnumrer.navn=Forespørgsel2.navn
GROUP BY Forespørgsel2.navn, billetnumrer.nr, Forespørgsel2.AntalOfnavn, IIf([Antalofnavn]>1,"*",""), billetnumrer.dato;

Forespørgsel2 ser således ud:

SELECT billetnumrer.navn, Count(billetnumrer.navn) AS AntalOfnavn
FROM billetnumrer
GROUP BY billetnumrer.navn;

Det er afprøvet i en db. Læg din e-mail hvis du vil have den.
Avatar billede mrdj Nybegynder
27. oktober 2004 - 01:25 #19
send den til kim@kta.dk
Avatar billede mrdj Nybegynder
27. oktober 2004 - 01:35 #20
Hej mugs. Må jeg prøve at sende db til dig?
Avatar billede mugs Novice
27. oktober 2004 - 05:42 #21
db er sendt.
Send den blot som en .zip fil. Men jeg får ikke tid før iaften.
Avatar billede mrdj Nybegynder
28. oktober 2004 - 13:32 #22
Hejsa. Det blev ikke nødvendigt alligevel, jeg fandt ud af det. Takker for hjælpen begge. Da det vart Mugs der kom med svaret til at det til sidst virkede får han 150 point, og jensen363 50, som tak for hjælpen og forsøgene. Håber at I begge er tilfredse
Avatar billede mugs Novice
28. oktober 2004 - 23:05 #23
Tak for point :o)
Avatar billede jensen363 Forsker
29. oktober 2004 - 10:01 #24
Takker c",)
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