15. maj 2002 - 10:29Der er
14 kommentarer og 1 løsning
"Select top 10 * " bliver til 11 resultater
Hejsa
Jeg er stødt ind i et MEGET underligt problem.
Jeg har database med en masse film.
Jeg vil så liste top 10 af de nyeste udkommede film. Det gør jeg på følgende måde:
<% strSQL = "SELECT TOP 10 * FROM Film WHERE VHS_leje < Date() OR BIO < Date() AND BIO <> #01-01-1900# ORDER BY VHS_leje DESC" Set justRS = Connect.Execute(strSQL) %> <table border="0" cellspacing="0" cellpadding="0"> <% do while not (justRS.bof or justRS.eof)
If len(justRS("Nationaltitel")) > 16 Then titel = left(justRS("Nationaltitel"),16) & "..." Else titel = justRS("Nationaltitel") End if
If justRS("Format") = "1" OR justRS("BIO") > "01-01-1900" Then picSti = "<img src=""grafik/icon_filmrulle_left.jpg"" width=""10"" height=""10"" border=""0"" alt=""Er i biffen nu"">" Else picSti = "<img src=""grafik/icon_dvd_vhs_left.jpg"" width=""10"" height=""10"" border=""0"" alt=""Er på DVD/VHS nu"">" End if %> <tr> <td width="13" height="10">
Access har en eller anden weird feature (bug??) der gør at hvis man laver en 'order by' på et felt hvor der f.eks. er 11 ens, så kommer alle de 11 ud, også selv om man kun har f.eks. 'top 2'!!!!! SÅ lave en 'order by' på noget der er unikt, f.eks. IDen, eller sørg for at datoerne du order på ikke er de samme!
Det vil være for omfattende at skulle indsætte fx. et ID-felt.
Hvis det laves som autonummerering får de enkelte film ikke tildelt det rigtige ID og hvis det bliver som tal skal jeg løbe samtlige film igennem og opdatere dem enkeltvist - og det tager ganske enkelt FOR lang tid.
Pointene tilfalder _just4fun_ da han kom med det mest fyldestgørende svar.
Hovsa - det virker sq nu....thanx du...det var bare kanon.
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.