Avatar billede skakke Nybegynder
11. september 1999 - 15:19 Der er 28 kommentarer og
3 løsninger

drori hansen igén igen

Kan nogen fixe den her koncertkalender. Den bliver ved med at vise en forkert koncert under "next gig". Jeg tror den sorterer efter ugedag og ikke fter dato!

Her er koden, hvis det kan hjælpe. Ellers tilelr jeg gerne en FTP op

    <TD WIDTH="135" BGCOLOR="#3399FF" BACKGROUND="giffer/teasers/bagg_nxt_gig.gif"><FONT FACE="VERDANA,ARIAL,HELVETICA" SIZE="1"><B>
    <%
   
    'Response.write day(now())

   
    strMrdNr = month(now())
   
    if day(now()) < 10 then
    strdaynow = day(now())
    strDagSort = 0+strdaynow
    else
    strDagSort = day(now())
    end if
   
    strYearNow = year(now())
   
    select case strMrdNr
    case "1"
    strMrdNavn = "januar"
    case "2"
    strMrdNavn = "februar"
    case "3"
    strMrdNavn = "marts"
    case "4"
    strMrdNavn = "april"
    case "5"
    strMrdNavn = "maj"
    case "6"
    strMrdNavn = "juni"
    case "7"
    strMrdNavn = "juli"
    case "8"
    strMrdNavn = "august"
    case "9"
    strMrdNavn = "september"
    case "10"
    strMrdNavn = "oktober"
    case "11"
    strMrdNavn = "november"
    case "12"
    strMrdNavn = "december"
   
    end select
   
   
   
   
    Set objRec = Server.CreateObject ("ADODB.Recordset")
   
            'now open it
           
           
            objRec.Open "SELECT * FROM koncert WHERE mrd = '"& strMrdNavn & "' AND aar = '"& strYearNow &"' ORDER BY kdato >'" & strDagSort &"'", strconnect, 3 
   







   
   
   
    %>
   
    <%if (objRec.eof or objRec.bof) then

    strMrdNr = strMrdNr + 1
   
    select case strMrdNr
    case "1"
    strMrdNavn = "januar"
    case "2"
    strMrdNavn = "februar"
    case "3"
    strMrdNavn = "marts"
    case "4"
    strMrdNavn = "april"
    case "5"
    strMrdNavn = "maj"
    case "6"
    strMrdNavn = "juni"
    case "7"
    strMrdNavn = "juli"
    case "8"
    strMrdNavn = "august"
    case "9"
    strMrdNavn = "september"
    case "10"
    strMrdNavn = "oktober"
    case "11"
    strMrdNavn = "november"
    case "12"
    strMrdNavn = "december"
    end select
   
    objRec.Close
    'Set objRec = Nothing
    objRec.Open "SELECT * FROM koncert WHERE mrd = '"& strMrdNavn & "' AND aar = '"& strYearNow &"' ORDER BY kdato >'" & strDagSort &"'", strconnect, 3

end if

%>
    <%
    dim varDato, varMrd, varTid, varSted, varBy, varTelefon, varKdato
   
    'varEditor = objRec("editor")
    varDato = objRec("dato")
    'varDag = objRec("dag")
    varMrd = objRec("mrd")
    varTid = objRec("tid")
    varSted = objRec("sted")
    'varAdresse = objRec("adresse")
    varBy = objRec("by")
    varTelefon = objRec("telefon")
    varKdato = objRec("kdato")
    'varAar = objRec("aar")
   
   
    'now close and clean up
    'objRec.Close
    'Set objRec = Nothing
   
    %>
    <FONT FACE="VERDANA,ARIAL,HELVETICA" SIZE="1">
    <%=varKdato%>&nbsp;<%=varMrd%> kl. <%=varTid%><br>
    <FONT COLOR="WHITE"><%=varSted %></FONT> <%=varBy %><br>
    <%=varTelefon%>
   
    <%objRec.Close
    %></B></FONT>
   
   
    </FONT></TD>
</TR>
</TABLE>

Med venlig hilsen Skakke
Avatar billede s Nybegynder
11. september 1999 - 21:19 #1
Jeg tror denne linie er gal. Prøv at undlade ">" i ORDER BY sætningen.

objRec.Open "SELECT * FROM koncert WHERE mrd = '"& strMrdNavn & "' AND aar = '"& strYearNow &"' ORDER BY kdato >'" & strDagSort &"'", strconnect, 3
Avatar billede richardr Nybegynder
12. september 1999 - 12:56 #2
Ja, det er vist der....
Avatar billede skakke Nybegynder
12. september 1999 - 17:31 #3
Testside:
http://wired.radiator.dk/drori/main2.asp

Hjalp desværre ikke...
Avatar billede villadsen Nybegynder
12. september 1999 - 20:11 #4
Hvis du bare vil have den næste koncert fra dags dato er det vel bare denne SQL, du skal bruge:

objRec.Open "SELECT TOP 1 * FROM koncert WHERE kdato > "&strDagSort&"," strconnect, 3"

hvis altså strDagSort er dags dato(?)

mvh
villadsen
Avatar billede villadsen Nybegynder
12. september 1999 - 20:13 #5
Eller bare:
objRec.Open "SELECT TOP 1 * FROM koncert WHERE kdato > "&date()&"," strconnect, 3"

Så går vi uden om strDagSort og finder bare den næste koncert der kommer efter den dato vi har idag.
Avatar billede s Nybegynder
12. september 1999 - 20:17 #6
Du skal bruge:

objRec.Open "SELECT TOP 1 * FROM koncert WHERE kdato > "&date(), strconnect, 3"
Avatar billede villadsen Nybegynder
12. september 1999 - 20:20 #7
>>s
Mener du ikke der skal være et [&"] efter date()?
Avatar billede s Nybegynder
12. september 1999 - 20:23 #8
Nop...

Du vil heller ikke skrive:
Sql = "SELECT TOP 1 * FROM koncert WHERE kdato > " & date()
objRex.open Sql & , strconnection, 3

Hmm... der var vist også lige en fejl i min... den rigtige er:

objRec.Open "SELECT TOP 1 * FROM koncert WHERE kdato > "&date(), strconnect, 3
Avatar billede villadsen Nybegynder
12. september 1999 - 20:29 #9
Hmm...men ihvertfald er det unødigt kompliceret med den der strDagSort.

Jeg har ikke adgang til en ASP-server lige nu så jeg kan ikke teste det, men jeg er nu ret sikker på at det virker.
Avatar billede skakke Nybegynder
13. september 1999 - 08:56 #10
Jeg har nu skrevet dette
objRec.Open "SELECT TOP 1 * FROM koncert WHERE kdato > "&date(), strconnect, 3

og sdå skriver den, at næste job er den 8/10. Det næste skal være d. 17/9

mvh skakke
Avatar billede villadsen Nybegynder
13. september 1999 - 14:06 #11
Jeg har lige lavet en database i Access for at teste det her. Jeg kommer frem til at følgende SQL giver den ønskede dato:

Min tabel hedder "Tabel1"
"id" er kolonnen for primærnøgle (autonum)
"sted" er hvor det sker
"dato" er hvornår det sker

I databasen har jeg indtastet datoer længere ude i fremtiden, og når jeg kører forespørgslen får jeg den næste koncertdato.

Så er der jo bare tilbage at ændre i kolonne- og tabelnavnet så det passer med Drori's

sql = "SELECT TOP 1 Tabel1.id, Tabel1.dato, Tabel1.sted
FROM Tabel1
GROUP BY Tabel1.id, Tabel1.dato, Tabel1.sted
HAVING (((Tabel1.dato)>Date()))
ORDER BY Tabel1.dato;"

mvh
villadsen
Avatar billede skakke Nybegynder
13. september 1999 - 14:17 #12
Ok villadsen

Jeg kigger på det så snart jeg får en ledig stund. Det er noget, jeg laver i min fritid
Avatar billede villadsen Nybegynder
13. september 1999 - 14:23 #13
Også her :-)
Avatar billede geeeet Nybegynder
13. september 1999 - 14:48 #14
SQL = "select * from arrangement WHERE dato >= NOW ORDER BY dato"

Denne bruger jeg til arrangementskaldenderen på Kulturfabrikkens side (www.ukh.dk)

Hvis du også vil have et arkiv udskifter du bare ">=" med "<"
Avatar billede geeeet Nybegynder
13. september 1999 - 14:49 #15
SQL = "select top 1 * from arrangement WHERE dato >= NOW ORDER BY dato"

Denne bliver brugt i menuen, hvor næste arrangement altid står.
Avatar billede fusentasten Nybegynder
14. september 1999 - 20:02 #16
hmm
Igen har jeg opdateret main2.asp
stadig ikke noget brugbart (set fra min side - nok fordi jeg intet ved om asp :)

Er der ikke en der vil lave det, hvis jeg sætter en FTP op?

ring på 45505223 hvis det har interesse. Jeg har sat en FTP op. Mit tlf nr. er 45 50 52 23. Frygt ej, hvis jeg ikke er hjemme. Jeg er på vej NU... :)

Avatar billede mit Nybegynder
15. september 1999 - 00:23 #17
er det kommet til at virke ?..ellers prøv lige med den her

objRec.Open "SELECT TOP 1 * FROM koncert WHERE kdato > "&date()&" ORDER BY kdato", strconnect, 3"
Avatar billede skakke Nybegynder
15. september 1999 - 09:07 #18
Virker heller ikke :(
Avatar billede villadsen Nybegynder
15. september 1999 - 17:15 #19
Nu virker det da på:

http://wired.radiator.dk/drori/main2.asp

Næste gig er på forbrændingen!

Hvad løste problemet?
Avatar billede skakke Nybegynder
15. september 1999 - 17:30 #20
Problemet er, at næste koncert er d. 17. september!
Avatar billede villadsen Nybegynder
15. september 1999 - 17:45 #21
OK er koncerten på forbrændningen den sidste i din database eller den næste efter den 17/9 eller ?
Avatar billede villadsen Nybegynder
15. september 1999 - 17:45 #22
Hvilken SQL bruger du pt?
Avatar billede skakke Nybegynder
15. september 1999 - 18:06 #23
Den sidste er på Forbrændingen. Der er mange koncerter imellem.

Jeg aner desværre ikke hvilken SQL det er!
Avatar billede villadsen Nybegynder
15. september 1999 - 18:10 #24
Prøv lige den her igen, det virker perfekt hos mig:

sql = "SELECT TOP 1 Tabel1.id, Tabel1.dato, Tabel1.sted
FROM Tabel1
GROUP BY Tabel1.id, Tabel1.dato, Tabel1.sted
HAVING (((Tabel1.dato)>Date()))
ORDER BY Tabel1.dato;"

Se kommentarer i mit svar længere opppe (13-09-99 14:06:36)
Avatar billede mit Nybegynder
15. september 1999 - 18:10 #25
Hva' hvis du vender den ?

objRec.Open "SELECT TOP 1 * FROM koncert WHERE kdato > "&date()&" ORDER BY kdato DESC", strconnect, 3"
Avatar billede skakke Nybegynder
15. september 1999 - 18:15 #26
er gjort. Så skriver den d. 30. september. :(
Avatar billede villadsen Nybegynder
15. september 1999 - 18:20 #27
Og den 30/9 er næste koncert efter 17/9?
Avatar billede skakke Nybegynder
15. september 1999 - 18:30 #28
jepper.
Avatar billede mit Nybegynder
15. september 1999 - 19:02 #29
Hey, det er jo slet ikke et datofelt du har i DB'en..er det vel ?
prøv lige den her:
objRec.Open "SELECT * FROM koncert WHERE mrd = '"& strMrdNavn & "' AND aar = '"& strYearNow &"' AND kdato >'" & strDagSort &"'", strconnect, 3

Den virker nok ikke helt...
lige et spørgsmål: Det felt i DB'en, som hedder kdato; er det et tekstfelt eller hvad type er det ?
Avatar billede skakke Nybegynder
15. september 1999 - 19:08 #30
hvad kan jeg sige...?!
Pisset virker :)

Tak skal i have, alle jer der medvirkede til at opklare dette mysterium!
Avatar billede peterkopi Nybegynder
23. maj 2001 - 16:27 #31
>skakke: Har selv forsøgt at få nogen til at lave en lignende kalender til www.peterogdeandrekopier.dk - indtil videre uden (Masser af.. ;-)) succes! Har du lavet koncertkalenderen i Access og publiceret den som *.mdb? Og må man låne???
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
Kurser inden for grundlæggende programmering

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