/ Forside/ Teknologi / Udvikling / ASP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
DropDownMenu fra database
Fra : UniChaos
Vist : 436 gange
20 point
Dato : 20-02-04 14:41

Jeg skal hente en liste over produkttyper i en acces database med over 5000 posts, til en dropdownmenu.
Så hver type går igen MANGE gange hvordan får jeg den til kun at skrive hver type en gang?

Her er min kode...

<%
rs = "SELECT produktgruppe FROM prisliste ORDER BY produktgruppe"
set rs = Conn.execute(rs)

Response.Write "<select name=produktgruppe size=1>"
Response.Write "<option value='0'>-- Alle --</option>"
Do While Not rs.EOF

//Det har jeg prøvet det virker ikke...
'Do While rs("Produktgruppe") = sidste
'rs.MoveNext
'Loop

Response.Write "<option value=" & rs("Produktgruppe") & ">" & rs("Produktgruppe") & "</option>"
sidste = rs("Produktgruppe")
rs.MoveNext
Loop
Response.Write "</select>"
%>

Har desvære ikke mere end 20 point :(

Hilsen UniChaos

 
 
Kommentar
Fra : LisBJensen


Dato : 20-02-04 17:53

kan du ikke bruge selectdistinct

Lis

Accepteret svar
Fra : mceilif

Modtaget 20 point
Dato : 22-02-04 21:00

Ja, Lis har ret - det er da bare din SQL-sætning der skal rettes lidt:

SQLstr = "SELECT DISTINCT produktgruppe "
SQLstr = SQLstr & "FROM prisliste "
SQLstr = SQLstr & "ORDER BY produktgruppe"
Set rs = Conn.execute(SQLstr)

DISTINCT er et keyword i SQL så man kun får de forskellige forekomster - dvs alle dubletter på produktgruppe bliver udeladt fra SQL-resultatet.

Og så laver du bare din While-løkke indtil du er nået EOF

Kan iøvrigt anbefale bogen "Introduktion til SQL - databaser på Nettet" / Lars Ingesman / Ingeniøren|bøger /Isbn: 87-571-2386-1 - En bog der har hjulpet mig med mange SQL-problemer.

If rs.BOF AND rs.EOF Then
Response.Write("Ingen menu")
Else
Response.Write("<select name='produktgruppe' size='1'>")
rs.MoveFirst
While NOT rs.EOF
Current = rs("produktgruppe")
Response.Write("option value='"& Current &"'>"& Current &"</option)
rs.MoveNext
Wend
Response.Write("</select)

Du skal evt tilføje en WHERE id>0 til din SQLstr - bruger jeg af gammel vane...

Enjoy!

Godkendelse af svar
Fra : UniChaos


Dato : 25-02-04 15:53

Tak for svaret mceilif.

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177417
Tips : 31962
Nyheder : 719565
Indlæg : 6407865
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste