Avatar billede davidop Nybegynder
03. februar 2004 - 13:23 Der er 21 kommentarer og
2 løsninger

problemer med kalender

Hej derude!

Jeg har et lille problem med min kalender. Når jeg oprettet noget til databasen så skulle det meget gerne udkrives på mun side. Men det gør den altså ikke.

Men hvis jeg derimod laver denne kode:
SQL = "SELECT id, eventname, location, startdate FROM calender WHERE startdate > now() - 1 ORDER BY startdate"

Om til denne her:
SQL = "SELECT id, eventname, location, startdate FROM calender"

Så virker den. Men så bliver mine ting i kalenderen bare ikke sorteret.

Hvad kan der være galt? Jeg benytter azero som webhotel og kører med en access database.

PÅ forhånd tak.
Avatar billede nute Nybegynder
03. februar 2004 - 13:33 #1
prøv:

SQL = "SELECT id, eventname, location, startdate FROM calender WHERE startdate > ' & (now() - 1) & "' ORDER BY startdate"

/nute
Avatar billede torstenhagemann Nybegynder
03. februar 2004 - 13:35 #2
jeg tror problemet er forskellige datoformatter mellem sql-serveren og asp. Prøv i stedet at læg dags-dato opslaget i sql-strengen:
SQL = "SELECT id, eventname, location, startdate FROM calender WHERE startdate > getdate() - 1 ORDER BY startdate"

Og problemet med sorteringen var at du fjernede din ORDER BY, som ikke voldte problemer i første omgang 8-).

/Torsten
Avatar billede davidop Nybegynder
03. februar 2004 - 13:41 #3
Hvis jeg bruger torstenhagemann's forslag, så får jeg denne fejl? http://www.helsingorminiz.dk
Avatar billede davidop Nybegynder
03. februar 2004 - 13:50 #4
Det virker stadig ikke.
Avatar billede nute Nybegynder
03. februar 2004 - 13:52 #5
har du prøvet mit eksempel ?
Avatar billede torstenhagemann Nybegynder
03. februar 2004 - 13:53 #6
Undskyld, troede du kørte på MS SQL server (og nute oversatte det til asp 8-) ).

Så er spørgsmålet hvordan dine datoer i startdate er formatteret - ligger de i et date/time felt i access?

/Torsten
Avatar billede davidop Nybegynder
03. februar 2004 - 13:56 #7
ja. det var dette her:
    SQL = "SELECT id, eventname, location, startdate FROM calender WHERE startdate > ' & (now() - 1) & "' ORDER BY startdate"
    set RS = conn.execute(SQL)


og jeg fik denne fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in string in query expression 'startdate > ' & (now() - 1) &'.

/pages/calender.asp, line 9

SQL = "SELECT id, eventname, location, startdate FROM calender WHERE startdate > ' & (now() - 1) & " ORDER BY startdate"
Avatar billede davidop Nybegynder
03. februar 2004 - 13:57 #8
ja
Avatar billede nute Nybegynder
03. februar 2004 - 13:57 #9
ups .. der manglede et " - sådan skal den være

SQL = "SELECT id, eventname, location, startdate FROM calender WHERE startdate > '" & (now() - 1) & "' ORDER BY startdate"
Avatar billede davidop Nybegynder
03. februar 2004 - 14:01 #10
jeg får stadig denne fejl når den prøver at hente fra databasen.
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/pages/calender.asp, line 9
Avatar billede nute Nybegynder
03. februar 2004 - 14:09 #11
hvordan er dato-formatet i din database ?
Avatar billede davidop Nybegynder
03. februar 2004 - 14:12 #12
den er datetime
Avatar billede torstenhagemann Nybegynder
03. februar 2004 - 14:14 #13
prøv at lave det du ønsker i design-view i din access-database, og når det virker vælger du sql-view og hugger koden derfra.

/Torsten
Avatar billede davidop Nybegynder
03. februar 2004 - 14:17 #14
problemet er bare at jeg ikke er god til access
Avatar billede davidop Nybegynder
03. februar 2004 - 14:19 #15
Det virker hvis jeg gør sådan her:
SQL = "SELECT id, eventname, location, startdate FROM calender ORDER BY startdate"

Men hvad bruger man dette her til så? WHERE startdate > now()
Avatar billede nute Nybegynder
03. februar 2004 - 14:20 #16
jeg spurgte ikke hvad dato-formatet hedder i din database, jeg spurgte hvordan det *er* !!

er det yyyy-mm-dd, yy-mm-dd, dd-mm-yy eller noget andet ??

/nute
Avatar billede davidop Nybegynder
03. februar 2004 - 14:25 #17
dd/mm/yy
1/01/2004 12:00:00 PM

Rigtigt?
Avatar billede nute Nybegynder
03. februar 2004 - 14:31 #18
hmm ... nu er det rigtig længe siden jeg har bøvlet med access og endnu længer siden jeg har bøvlet med datoer i access. har altid husket at der et meget bøvl med det ... men ... mon ikke du kan prøve:

<%
Dim startDate : startDate = now() - 1
startDate = GetDate( startDate ) & "/" & GetMonth( startDate ) & "/" & GetYear( startDate )
SQL = "SELECT id, eventname, location, startdate FROM calender WHERE startdate > '" & startDate & "' ORDER BY startdate"
%>
Avatar billede davidop Nybegynder
03. februar 2004 - 14:36 #19
Men kan jeg ikke bare bruge denne funktion hvis den virker fint?
SQL = "SELECT id, eventname, location, startdate FROM calender ORDER BY startdate"
Avatar billede nute Nybegynder
03. februar 2004 - 14:40 #20
det er ikke en "funktion" ... det er et "statement"

som jeg har forstået, så vil du meget gerne hive ud alle records der har 'startDate' større end i går ... det vil du ikke få ud på den måde du har gjort her. Du er nødt til at bruge en "WHERE" clause for at dette skal kunne ske

/nute
Avatar billede davidop Nybegynder
03. februar 2004 - 14:47 #21
Den virker fint nu. Pointene bliver fordelt fifty fifty
Avatar billede nute Nybegynder
03. februar 2004 - 14:49 #22
fino ... og takker for points :o]
Avatar billede torstenhagemann Nybegynder
03. februar 2004 - 15:03 #23
samme ...
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