webForumDet fria alternativet

Skriva ut i viss ordning från Access

ASP

7 svar · 333 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Frågan#1

Hej

Håller på med en lättare variant av kundvagn till en firma som säljer instrument och tillbehör.

Har en tabell i Access (tbl_artiklar) där alla varor ligger lagrade.

Nu tillhör varorna olika kategorier och dessa skall skrivas ut i rätt ordning.

En kolumn i tabellen har jag "typ" som anges i 1,2,3,4 osv för de olika instrumenten inom samma kategori.

Så jag vill att alla 1:or ska skrivas ut först, när det är klart ska alla 2:or, sen 3:or osv.

Innan nästa kategori skrivs ut ska en underrubrik skrivas:

==========================================
Klarienetter:

Märke
Märke
Märke
Märe

(Alla 1:or klara, gå vidare:)
Saxofoner:
Märke
Märke
Märke

(Alla 2:or klara, gå vidare:)
==========================================

Jag har suttit o fnulat på det här nu ikväll, me kommer inte på ngt bra sätt att lösa et här på, vill helst bara ha EN loop som skriver ut allt, men andra alternativ är givetvis välkomna.

Tack !!!

Medlem sedan jan. 20032 285 inlägg
#2

Typ såhär?

strSQL = "SELECT * FROM tbl_artiklar ORDER BY typ"
Set objRS = objConn.Execute(strSQL)

Do Until objRS.EOF
  If strTemp <> objRS("typ") Then Response.Write("<br>" & objRS("typ") & "<br>")

  Response.Write(objRS("artikel") & "<br>")
  strTemp = objRS("typ")
  objRS.MoveNext
Loop

Set objRS = Nothing
Medlem sedan feb. 20034 441 inlägg
#3

Hmm, ja, det bör väl bli ngt sånt där. Men i databasen har jag bara angett "typ" som 1, 2, 3, 4 osv. I "verkligheten" är kanske 1= Klarinetter, 2 = saxofoner.

Har jag så att "typ" i db'n är ett ord, kan jag ju inte skriva ut den i VARJE loop, "Saxofoner:" ska ju bara stå EN gång, när alla dom är listade ska tex. "Klarinetter:" stå och under dessa ska dom listas.

Är ni med eller förklarar jag som en påse skit ;) ??

Medlem sedan mars 20007 896 inlägg
#4

Men om du lagrar som ett ord, kan du å andra sidan gruppera med GROUP BY. Det går att lösa med SQL. :)

Medlem sedan dec. 200012 464 inlägg
#5

Men om du lagrar som ett ord, kan du å andra sidan gruppera med GROUP BY.

?

Sebbes lösning är helt ok. I stället för

If strTemp <> objRS("typ") Then Response.Write("<br>" & objRS("typ") & "<br>")


typ = cint(objRS("typ"))
If Temp <> typ Then 
    if typ = 1 then
     Response.Write "<br> klarinetter <br>" 
   else if typ = 2 then
     Response.Write "<br> saxofonerr <br>"
'usw
    end if
end if

Obs. Det går lika bra med select case.

Medlem sedan mars 20007 896 inlägg
#6

Jag måste ha förstått frågan fel. Jag antog att det kunde existera flera klarinetter och flera saxofoner, osv. Låt oss säga att det finns 50 olika typer - en select case / en if-sats blir lång och jobbig att skriva då. Men som sagt, jag har nog förstått fel.

Medlem sedan feb. 20034 441 inlägg
#7

Det finns kanske 5 olika instument nu till en början, men det kommer flera. Sen under tex. "saxofoner" så kan det finnas 10 olika märken, men LarsG's lösning kombinerad med Sebbes kan nog funka bra tror jag.

Ska prova, återkommer....Tack !

Medlem sedan feb. 20034 441 inlägg
#8

Hej Igen

Nu kom jag precis på ett problem, som kan vara lite bökigt (iaf. för mig) att lösa.

Nu är det rör det gäller, rör till Klarinetter, Saxofoner mm.

För varje rör ska man kunna välja hårdhet, kruxet är att hårdheten bestäms _antingen_ i en skala:

1½, 2, 2½, 3, 3½, 4 eller 5

eller i skalan:

soft, medium soft, medium, medium hard, hard

Varför det är två olika sätt det är på har jag ingen aning om, men iaf. är det så att vissa märken ska bestämmas av ena skalan, andra märken av den andra.

Tänkte lista varorna Enligt följande:

VARA          Beskrivning          Hårdhet          Pris          Köp

Hårdheten ska vara en <option>, en lista alltså, där man ska kunna välja hårdheten, beroende på vilken lista som ska visas, soft - hard eller 1½ - 5.

Problemet är att jag vet inte _hur_ jag ska göra för att den ska fatta av sig själv vid utskriften att:

"Aha, det här märket ska ha den här listan..."

Vet inte heller hur jag ska klämma in det i db'n.

Det vore kanon om jag kunde få lite hjälp på traven, Tack !!!

[redigerat]
Kolla gärna på originalforumläret som jag ska basera allt det här på:
http://mickea.dyndns.org/Jonnab/form03.htm
[/redigerat]

263 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)