Avatar billede cdc Novice
03. september 2007 - 15:32 Der 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)

/cdc
Avatar billede fennec Nybegynder
03. september 2007 - 15:49 #1
Det kan godt lide sig gøre men jeg vil først anbefale dig at lave en ny kolonne hvor du opretter en rigtig dato i:

update dinTabel set nyDatoKolonne = cDate(aar&'-'&maaned&'-'&dag)
Avatar billede fennec Nybegynder
03. september 2007 - 15:52 #2
Ellers bliver din sql som det er på nuværende tidspunkt noget ala:

select top 5 * from dinTabel where cDate(aar&'-'&maaned&'-'&dag) >=date order by cDate(aar&'-'&maaned&'-'&dag)
Avatar billede cdc Novice
03. september 2007 - 16:03 #3
hvor i tabellen i db skal denne ind? cDate(aar&'-'&maaned&'-'&dag)
Avatar billede fennec Nybegynder
03. september 2007 - 16:24 #4
Det skal ikke end nogen steder.

cDate er bare en funktion til at omdanne tekst til en dato. På den måde samler du de 3 kolonner til en rigtig dato, som man så kan arbejde vidre med.
Avatar billede fennec Nybegynder
03. september 2007 - 16:28 #5
F.eks med følgende kode:
select cDate(aar&'-'&maaned&'-'&dag) as dato from dinTabel

Får du en dato direkte ud, så du er fri for at samle felterne i ASP.
Avatar billede cdc Novice
03. september 2007 - 16:33 #6
Ok kigger på det og vender tilbage i aften morgen, skal lige ud en tur nu her
Avatar billede cdc Novice
04. september 2007 - 09:22 #7
hej fennec--> har rodet lidt med det men gør noget fatalt fejl da, men det er nok fordi mine asp kunskaber er til hobby brug.

bruger normalt dette kald til databsaen, hvor skal den linie ind, hvis du kan hjælpe, smider flere points på hvis det er behov for det.

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("../database/xxxxDB.mdb")
SQL = "SELECT * FROM golfscore ORDER By Id"
Conn.Execute (SQL)
Set rs = conn.Execute(SQL)
%>
Avatar billede fennec Nybegynder
04. september 2007 - 09:49 #8
Og "golfscore" tabellen er den som indeholder aktiviteterne?? Og du vil hente de første 5 aktiviteter fra dagsdato og frem?
Avatar billede cdc Novice
04. september 2007 - 10:05 #9
nej det var bare et exempel.
Tabellen hedder events
kolonnerne hedder:
ID Dag Maaned Aar Beskrivelse EventType LinkDato URL URLTekst

Det jeg vil have er at jeg henter events fra og med dags dato og de næste 5 events
de skal listes med dato først, så beskrivelse og derfeter EventType
Avatar billede fennec Nybegynder
04. september 2007 - 10:29 #10
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)
%>
Avatar billede fennec Nybegynder
04. september 2007 - 10:29 #11
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)
%>
Avatar billede cdc Novice
04. september 2007 - 10:37 #12
jeg kigger på det, men skal lige til et møde om 2 minutter, så jeg vender tilbage lidt sener
Avatar billede cdc Novice
04. september 2007 - 10:41 #13
men du har ret i din kommentar
Avatar billede cdc Novice
04. september 2007 - 12:48 #14
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.

/mgk/skabelon.asp, line 182
Avatar billede fennec Nybegynder
04. september 2007 - 13:35 #15
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
Avatar billede cdc Novice
04. september 2007 - 13:40 #16
skal den se således ud:

<%
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)
%>
Avatar billede fennec Nybegynder
04. september 2007 - 14:00 #17
Der skal lige styr på linje skift:

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"
Avatar billede cdc Novice
04. september 2007 - 14:12 #18
Henter den dags dato fra serveren eller fra folks computer?
Avatar billede fennec Nybegynder
04. september 2007 - 14:14 #19
Fra serveren
Avatar billede cdc Novice
04. september 2007 - 14:16 #20
Tak for hjælpen det funker optimalt,er 100 points OK? Smid også et svar

/cdc
Avatar billede fennec Nybegynder
04. september 2007 - 14:17 #21
.o) <-- One Eyed Jack
Avatar billede cdc Novice
04. september 2007 - 14:35 #22
hvis du har tid kunne du måske kigge her ind: http://www.eksperten.dk/spm/794771
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