26. maj 2008 - 23:42Der er
4 kommentarer og 1 løsning
Hjælp til oversigt
Hejsa.
Jeg er stået af - jeg kan ikke få det til at virke, så derfor kaster jeg nu opgaven ud til nogle skrappere hoveder end mit eget :-/
Jeg har en tabel med bla. følgende rækker: "Sted" og "dato"
Nu vil jeg gerne løbe alle dataerne igennem og slutte med følgende tænkte resultat:
Kalundborg start 23-04-2008 til 05-09-2008
Odense start 05-05-2008 til 17-08-2008
Men hvordan kan det dog gøres?
Mit eget forslag ser således ud: 'Abn databasen Set conntemp = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("db/arbejde.mdb") & "; UID=Administrator; PWD="
conntemp.open DSN
sql = "SELECT * from [arbejdsdetaljer] ORDER BY sted,dato"
set rstemp = conntemp.execute(sql) do while not (rstemp.eof or rstemp.bof)
if rstemp("sted")<>tjek then if tjek <>"" then response.write slut & "<br><br>" end if response.write rstemp("sted") & "<br>" response.write rstemp("dato") & " - " end if Tjek = rstemp("sted") slut = rstemp("dato") rstemp.movenext loop rstemp.close
Men det dur ikke da den lister stederne efter alfabetisk orden, og ikke efter startdatoen som jeg gerne ville have - nogen gode forslag???
Mit eget forslag numme 2 er at løbe alle rækker igennem - registrere sted, samt største og mindste dato for stedet, og så skrive dem alle til sidst - men hvordan... =)
Tror du har en forkert opbygning af din database. Hvad vil der f.eks ske hvis du skal tilbage til kalundborg efter den 05-09-2008?? Altså hvis du skal til kalunborg over 2 omgange...
Det havde været nemmere med en DB opbygning ala: ID, sted, start, slut
Hej begge to. Der mangler måske en vigtig detaljer i min spørgsmåls formulering. Det er ikke muligt at angive en start og en slut dato. Det er en database hvor der bliver beskrevet de enkelte arbejds opgaver på de enkelte dage. f.eks: 01-05-2008 - Odense - gør dit og dat 02-05-2008 - Odense - gør noget andet 02-05-2008 - Silkeborg - gør det ene og det andet 10-05-2008 - Silkeborg - gør lidt mere
Så det jeg gerne vil er at den: 1) Finder alle arbejdsstederne (By'erne) 2) Finder 1. arbejdsdato i hver af byerne 3) Finder sidste arbejdsdato i hver af byerne.
ORDER BY dato, sted virker ikke godt nok hvis der skal arbejdes flere steder samtidig.
Jeg tænkte selv på at definere en array(x,3) hvor man i sit gennemløb putter "STED" i array(x,1) 1. arbejdsdag i array(x,2), og slut dag i array(x,3) - selvfølgelig efter tjek om det er den rigtige by - men jeg kan ikke få det til at virke ordentligt...
SQL = "SELECT [sted] from [arbejdsdetaljer] order by sted"
set rstemp = conntemp.execute(sql) do while not (rstemp.eof or rstemp.bof) nu = rstemp("sted") if sidst <>nu then i=i+1 oversigt(i,1) = rstemp("sted") end if sidst = rstemp("sted") rstemp.movenext loop rstemp.close i=0 tjek = 0 SQL = "select * from [arbejdsdetaljer] order by dato" set rstemp = conntemp.execute(sql) do while not (rstemp.eof or rstemp.bof) for i = 1 to 10 if oversigt(i,1) = rstemp("sted") then if oversigt(i,2) ="" then tjek = tjek + 1 oversigt(i,2) = rstemp("dato") oversigt(i,4) = tjek end if if oversigt(i,2)>rstemp("dato") then oversigt(i,2)=rstemp("dato") end if if oversigt(i,3) < rstemp("dato") then oversigt(i,3) = rstemp("dato") end if end if Next rstemp.movenext loop rstemp.close dim sorteret(10) for i = 1 to 10 if oversigt(i,1) <>"" then sorteret(cint(oversigt(i,4)))= oversigt(i,1) & "<br>" & oversigt(i,2) & "- " & oversigt (i,3) &"<br><br>" else antal = i-1 end if next for i = 1 to antal response.write sorteret(i) next
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.