Avatar billede hehlers Nybegynder
10. august 2011 - 11:03 Der er 3 kommentarer og
1 løsning

Søgning i Access DB lister for mange resultater

Hejsa

Jeg har følgende query, som driller mig lidt:

------------------------
Query="SELECT Deltager_registrering.Fornavn, Deltager_registrering.Efternavn, Deltager_registrering.Klub, Deltager_registrering.Placering, Deltager_registrering.Startnummer, Deltager_registrering.Distance, Postering_tid.Tid FROM Deltager_registrering, Postering_tid WHERE "
            if isNumeric(keyword) then
              Query = Query & "Deltager_registrering.Startnummer = " & keyword & " "
            else
              Query = Query & "(Deltager_registrering.Fornavn LIKE '%" & keyword & "%') "
              Query = Query & "OR (Deltager_registrering.Efternavn LIKE '%" & keyword & "%') "
            end if
            Query = Query & "ORDER BY Deltager_registrering.Placering"
            Set Res= Conn2.Execute(Query)
            if res.eof then
              Resultat = "Ingen resultater matchede din søgning efter '" & keyword &"'"
            else
            Resultat = "Resultater for din søgning efter '" & keyword &"'"
            end if
----------------------------------------------

Ved en søgning bliver samme resultat listet flere gange (rigtig mange gange!)

Er der nogle, der kan se, hvad jeg gør galt?
Avatar billede softspot Forsker
10. august 2011 - 11:32 #1
Du joiner to tabeller uden at lave en eller anden form for gruppering (i det mindste ud fra det SQL man kan se i dit eksempel). Fortæl hvad du vil opnå og vis så i øvrigt hele SQL-sætningen, så man kan få et overblik over hvad du rent faktis gør :-)
Avatar billede softspot Forsker
10. august 2011 - 11:36 #2
Sorry! Jeg er vist lidt træt :/

Men du mangler stadig at lave en eller anden form for afgrænsning af resultatet. Jeg kan ikke få øje på et join-krierium mellem de to tabeller. Det er nok det der mangler, da der vel ikke er mere end en posteringstid for hver deltager... eller hvad?

Du mangler altså et eller andet i din where der signalerer at deltager_regitrering.id = postering_tid.deltager_id eller noget i den stil.
Avatar billede hehlers Nybegynder
10. august 2011 - 12:44 #3
Sådan! :) Tak for hjælpen softspot. - Smider du lige et svar?
Avatar billede softspot Forsker
10. august 2011 - 13:20 #4
Velbekomme :-)
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
Kurser inden for grundlæggende programmering

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