Tips från coachen:
firstLetter = ""
SQL Sträng
Do until RS.EOF
contentHeader = RS("contentHeader")
IF firstLetter <> Left(contentHeader,1) THEN
firstLetter = contentHeader
Response.Write(firstLetter&"<BR>")
END IF
RS.MoveNext
LOOP
RS.Close
13 svar · 646 visningar · startad av annesophie
Hej,
Har en (Access)databas med många hundra faktaposter.
Ska nu skapa ett A-Ö arkiv där faktaposterna radas upp ganska simpelt i bokstavsordning baserat på fältet "contentHeader".
Det i sig är ju enkelt, men jag vill att begynnelsebokstaven skrivs ut innan raddan av innehåll som börjar på just den bokstaven.
Ex:
A <-- skriv ut
alkohol och graviditet
amning
Amniotiska band
andfåddhet
B <-- skriv ut
BB-väskan
Bisolvonmetoden
blodgruppsbestämning
blodsocker
blodsockerfall
blodtrycket
blodtrycksfall
blodvärdet (Hb)
bristningar på mage och bröst
etc....
Hur kan jag göra detta?
/A
Tips från coachen:
firstLetter = ""
SQL Sträng
Do until RS.EOF
contentHeader = RS("contentHeader")
IF firstLetter <> Left(contentHeader,1) THEN
firstLetter = contentHeader
Response.Write(firstLetter&"<BR>")
END IF
RS.MoveNext
LOOP
RS.Close
Tack - ska testa! :bire
Viktigt bara med den koden att det är rätt sorterat.
Nu har jag äntligen funnit lite tid att testa koden som jag fick hjälp med ovan...men...
<%
sql = "SELECT * FROM [content] order by contentHeader;"
set rs = conn.execute(sql)
'response.write sql
firstLetter = ""
Do until RS.EOF
contentHeader = RS("contentHeader")
IF firstLetter <> Left(contentHeader,1) THEN
firstLetter = contentHeader
Response.Write(firstLetter&"<BR>")
END IF
RS.MoveNext
LOOP
RS.Close
%>
Ovan kod genererar bara alla faktaradstitlar (contentHeader) i bokstavsordning utan inledande bokstav... Det kan jag ju fixa själv med mindre kod.
Adoption
Blodgruppsbestämning
Blodsocker
Blodsockerfall
Blodtrycket
CTG (cardiotocografi)
Druvbörd
Jag vill ju att det ska se ut såhär:
A
Adoption
B
Blodgruppsbestämning
Blodsocker
Blodsockerfall
Blodtrycket
C
CTG (cardiotocografi)
D
Druvbörd
Hur fixar jag fram A, B, C, D etc etc?
Vad gjorde jag fel med ovan kod? :q
<%
sql = "SELECT * FROM [content] order by contentHeader ASC;"
set rs = conn.execute(sql)
response.write sql
firstLetter = ""
Do until RS.EOF
contentHeader = RS("contentHeader")
IF firstLetter <> Left(contentHeader,1) THEN
firstLetter = Left(contentHeader, 1)
Response.Write("<br>" & firstLetter & "<BR>")
END IF
Response.write contentHeader & "<br>"
RS.MoveNext
LOOP
RS.Close
%>
edit: slängde in koden i sammanhang också
<%
sql = "SELECT contentHeader FROM content order by contentHeader ASC"
set rs = conn.execute(sql)
response.write sql
firstLetter = ""
Do until RS.EOF
contentHeader = RS("contentHeader")
IF firstLetter <> Left(contentHeader,1) THEN
if firstLetter <> "" then response.write "<br>"
firstLetter = left(contentHeader,1)
Response.Write firstLetter & "<BR>"
END IF
response.write contentHeader & "<br>"
RS.MoveNext
LOOP
RS.Close
%>
Du är den okrönte mästaren @nders...of course. *bugar mig ödmjukast*
Bara ett problem återstår...
Varför blir det så här?
A
Abort
Å
Åderbråck
A
Adoption
Ä
Äggdonation
Ägglossningssymtom
Ägglossningstester
A
Alkohol och graviditet
Amning - teorin
Amniotiskt band (Amniotic band syndrome)
Andfåddhet
Att köpa babykläder
Att köpa babysäng
Att köpa babyskydd (bilbarnstol)
Att köpa barnvagn
---
Alla de andra bokstäverna funkar fint
---
U
Ultraljud
u
ultraljud , ultraljudsbilder
ultraljud, vaginalt ultraljud, ultraljudsbilder
U
Urinprov
u
urinvägsinfektion, blåskatarr och njurbäckeninflammation
U
Utebliven Ägglossning (PCO)
Utebliven mens
Utomkvedshavandeskap (extrauterin graviditet)
A och Ä och Å om vartannat och en massa U?
Är det nån distinct som måste till...plus något mer?
U-problemet beror på att gement u inte är samma sak som ett versalt.
<%
sql = "SELECT * FROM [content] order by contentHeader ASC;"
set rs = conn.execute(sql)
response.write sql
firstLetter = ""
Do until RS.EOF
contentHeader = RS("contentHeader")
IF firstLetter <> Ucase(Left(contentHeader,1)) THEN
firstLetter = Ucase(Left(contentHeader, 1) )
Response.Write("<br>" & firstLetter & "<BR>")
END IF
Response.write contentHeader & "<br>"
RS.MoveNext
LOOP
RS.Close
%>
Problemet med svenska bokstäver är lite fånigt. Jag ska se om jag hittar någon tråd som hjälper dig på traven.
mvh
Tackar...nu försvann alla U in i en kolumn. :)
Men det förklarar ju fortfarande inte:
A
Abort
Å
Åderbråck
A
Adoption
Varför hamnar inte Adoption under Abort?
:q
Ah, jag hann skriva innan jag såg ditt inlägg ovan.
Testade precis och det funkar, naturligtvis, perfekt nu!
TACK! :bire :f
Jåri vellkam! :D