03. september 2007 - 15:32Der er
21 kommentarer og 1 løsning
hente dags dato fra access db
hvordan kan jeg få hentet dags dato aktiviteter fra databsaen nå jeg i dette script smider dag måned og år ned i db i hver sin tabel.
Det er ikke jeg som har lavet scriptet.
Tabellerne hedder: Dag Maaned Aar
Scriptet skulle helst fungere således at den aktivitet der er dd skal vises + de næste 5 aktiviteter. Hvis der ingen aktivitet er d.d skal den bare liste de næste 5. Kan dette lade sig gøre når man i DB har lavet det således med opsplittning ad dag måned år???
Flere points kan komme på tale hvis det er endnu sværere en svær :o)
Bare så jeg har opfattet det rigtigt. Du vil have alle events for i dag (det kunne sagtens være 20 forskellige) samt de første 5 events de efterfølgende dage (det kunne være 2 dagen efter og 3 dagen efter igen, selv om der kunne være 6 events på denne dag)
Hvis det er rigtig, så burde det gøres med denne kode: <% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("../database/xxxxDB.mdb") SQL = "SELECT * FROM events where cDate(aar&'-'&maaned&'-'&dag) = date() "&_ "union "&_ "SELECT top 5 * FROM events where cDate(aar&'-'&maaned&'-'&dag) > date() "&_ "order by cDate(aar&'-'&maaned&'-'&dag), ID" Conn.Execute (SQL) Set rs = conn.Execute(SQL) %>
Der var lige en linje for meget: <% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("../database/xxxxDB.mdb") SQL = "SELECT * FROM events where cDate(aar&'-'&maaned&'-'&dag) = date() "&_ "union "&_ "SELECT top 5 * FROM events where cDate(aar&'-'&maaned&'-'&dag) > date() "&_ "order by cDate(aar&'-'&maaned&'-'&dag), ID" Set rs = conn.Execute(SQL) %>
Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC Microsoft Access Driver] The ORDER BY expression (cDate(aar & '-' & maaned & '-' & dag)) includes fields that are not selected by the query. Only those fields requested in the first query can be included in an ORDER BY expression.
Skulle lige ændres lidt. Denne har jeg testet hos mig:
SELECT * FROM events where cDate(aar&'-'&maaned&'-'&dag) = date() union SELECT top 5 * FROM (select * from events where cDate(aar&'-'&maaned&'-'&dag) > date() order by aar, maaned, dag) order by aar, maaned, dag
<% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("../database/xxxxDB.mdb") SQL = "SELECT * FROM events where cDate(aar&'-'&maaned&'-'&dag) = date() union SELECT top 5 * FROM (select * from events where cDate(aar&'-'&maaned&'-'&dag) > date() order by aar, maaned, dag) order by aar, maaned, dag" Conn.Execute (SQL) Set rs = conn.Execute(SQL) %>
SQL = "SELECT * FROM events where cDate(aar&'-'&maaned&'-'&dag) = date() "&_ "union "&_ "SELECT top 5 * FROM (select * from events where cDate(aar&'-'&maaned&'-'&dag) > date() order by aar, maaned, dag) "&_ "order by aar, maaned, dag"
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.