Avatar billede snoezel Nybegynder
08. februar 2003 - 23:12 Der er 26 kommentarer

sortering

Hej.

Jeg har et problem med at få sorteret efter prisen hvor dyreste pris skal være øverst.

Eksempelvis listes 9.000 over 11.000 - vel fordi 9 er højere end 1 :)

Men hvordan gør jeg dette ? min order by ser sådan ud: ORDER by pris DESC
Pris feltet er et tekst felt i databasen, da der skal kunne skrives . i prisen
Avatar billede erikjacobsen Ekspert
08. februar 2003 - 23:24 #1
Det skal du lave til et tal felt. Eventuelle "."-er i
udskriften kan du lave senere
Avatar billede snoezel Nybegynder
08. februar 2003 - 23:27 #2
vil sorteringen så blive korrekt, hvis jeg ændrer det til et tal felt ?
Avatar billede erikjacobsen Ekspert
08. februar 2003 - 23:31 #3
Ja - nemlig.
Avatar billede nih Novice
08. februar 2003 - 23:59 #4
du kan lave datatypen om i din foresp:

ORDER by ccur(pris) DESC


Niels
Avatar billede mugs Novice
09. februar 2003 - 07:45 #5
snoezel > Uanset hvilken af de ovennævnte løsninger du vælger, skal du prøve at se lidt på feltets egenskab i tabeldesign. Du har egenskaben "Format", her vælger du hvordan feltet skal ses på skærmen. Det er jo fuldstændig ligegyldigt om du har et punktum på harddisken. Det er jo kun rent kosmetisk, at vi gerne vil have et punktum, fordi tallene så er lettere at læse. I formategenskaben kan du lade access sætte dit punktum.

Sammenlign også med egenskaben "Inputmaske". Her kan du indtaste et mønster for tilladte indtastninger. For felttyperne Tekst og Dato findes der iøvrigt en udmærket guide.

Inputmaske > Sådan lagres værdien på harddisken.
Format > Sådan ser dine øjne værdien på skærmen.

Begge egenskaber kan rettes i både forespørgsler, formularer og rapporter.
Avatar billede snoezel Nybegynder
09. februar 2003 - 09:32 #6
nu har jeg ændret tabel feltet til et tal - og nu bliver tallene korrekt sorteret. Hvordan får jeg nu . med i tallet på skærmen - den gemmer det jo ikke i DB mere, selvom jeg har det med i formen jeg uploader, det bliver smidt væk :-)
Avatar billede mugs Novice
09. februar 2003 - 09:35 #7
Korrekt > Som jeg skriver i min kommentar er Formatet kun det du ser på skærmen. Nu omtaler dit spørgsmål jo ikke, at du vil uploade. Men så skal du se på inputmaskerne i tabellen, så punktum bliver lagret på harddisken.
Avatar billede snoezel Nybegynder
09. februar 2003 - 09:38 #8
jo DB felt input kommer fra en form som samtidig uploader et billede, kigger lige på input masken i DB :)
Avatar billede snoezel Nybegynder
09. februar 2003 - 09:40 #9
Den siger at Input masker kun virker sammen med tekst felter ??
Avatar billede mugs Novice
09. februar 2003 - 09:43 #10
Nej - det er ikke korrekt. Du kan altid sætte en inputmaske. Det er guiden der fungerer i Tekst og datofelter.
Avatar billede snoezel Nybegynder
09. februar 2003 - 09:48 #11
okey, hvis jeg forstår dette korrekt, så skal jeg bare sætte et "." i input maske ? så bliver 100000 vist som 100.000 på asp siden ?
Avatar billede mugs Novice
09. februar 2003 - 09:48 #12
Prøv at sætte inputmasken til:
####,##
Sæt formatet til valuta med 2 decimaler.
Indtast derefter: 1245,26
Spm returnerer: kr 1.245,26
Avatar billede mugs Novice
09. februar 2003 - 09:50 #13
Jeg har absolut intet forstand på asp, og kan derfor kun hjælpe med Access-delen.
Avatar billede snoezel Nybegynder
09. februar 2003 - 09:51 #14
jeg har ikke brug for "," det skal kun være hele tusind :)
Avatar billede snoezel Nybegynder
09. februar 2003 - 09:53 #15
det er helt ok mugs - men jeg vil kun have brug for at eksempelvis 1.000 - 10.000 - 100.000 bliver vist korrekt, der vil aldrig være brug for 11.202,25
Avatar billede snoezel Nybegynder
09. februar 2003 - 09:53 #16
jeg prøver lige dit forslag med valuta - måske jeg har misforstået :)
Avatar billede mugs Novice
09. februar 2003 - 09:55 #17
Prøv denne Inputmaske, hvis du ikke vil have decimaler:
######.###
Felttypen er langt heltal.
Jeg har eksperimenteret med en tabel i XP. Læg din e-mail hvis du vil have den.
Avatar billede snoezel Nybegynder
09. februar 2003 - 10:02 #18
nu står det rigtigt i DB - men "." bliver desværre ikke trukket med ud på asp siden - andre der ved hvorfor ?


mugs>> heltal og din sidste input maske virker, nu skrives 12000 som 12.000 i DB
Avatar billede mugs Novice
09. februar 2003 - 10:03 #19
Fint, beklager at jeg ikke kan hjælpe med resten.
Avatar billede erikjacobsen Ekspert
09. februar 2003 - 10:21 #20
Avatar billede erikjacobsen Ekspert
09. februar 2003 - 10:22 #21
response.write formatnumber(dinvaerdi,0,0,0,-1)
eller
response.write formatnumber(dinvaerdi,0,0,0,-2)
Avatar billede snoezel Nybegynder
09. februar 2003 - 10:33 #22
erik>> Så er det ikke ligetil at lave på denne måde jeg har nu ?

rs.Open "SELECT ID, [model]+' '+[maerke] AS Model, Km AS Km, Pris AS Pris FROM tblFiler ORDER by pris DESC", objConn
   
   
    response.write "<table cellspacing='0' style='border-collapse: collapse; font-family: Verdana; font-size: 12 px; color: '#000080'; font-weight: 'bold' bordercolor='#111111' width='100%'>"
    response.write "<tr><td bgcolor='#B7C6D6' width='40%' style='border: 1 solid #000080'><b>Model</b></td><td bgcolor='#B7C6D6' width='20%' style='border: 1 solid #000080' ><b>Km</b></td><td bgcolor='#B7C6D6' width='20%' style='border: 1 solid #000080'><b>Pris</b></td><td bgcolor='#B7C6D6' width='20%' style='border: 1 solid #000080' ><b>Billede</b></td></tr>"
       
    farve1="#C6C6BA"
    farve2="#94A0AE"
    'Gennemløb samtlige rækker i resultatet
    Do While Not rs.EOF
   
        ' Generer farveskift
        if farve = farve1 then
            farve=farve2
        else
            farve=farve1
        end if
   
        Response.Write "<tr bgcolor=" & farve & ">"
        for x=1 to rs.Fields.Count-1
            Response.Write "<td align='left'>" & rs.Fields(x).value & "</td>"
        next
        Response.Write "<td><A style='color: #000000' href=vis_bil.asp?id=" & rs.Fields("id").value & ">Se annoncen</A></td>"
        Response.Write "</tr>"
        rs.MoveNext 
    Loop
   
    Response.Write "</table>"
Avatar billede erikjacobsen Ekspert
09. februar 2003 - 10:39 #23
Du skal bare bruge numberformat på det relvante felt - ik'?
Avatar billede snoezel Nybegynder
09. februar 2003 - 10:42 #24
jo, det er kun på pris feltet det er nødvendigt, men som jeg har lavet det, gennemløber jeg bare RS kan det komme ind alligevel, den funktion
Avatar billede erikjacobsen Ekspert
09. februar 2003 - 11:02 #25
Jeg forstår ikke dit problem. Du skal bare bruge numberformat på det relvante felt - ik'?
Avatar billede snoezel Nybegynder
09. februar 2003 - 11:36 #26
jo ;)
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