webForumDet fria alternativet

Datum "Typ kalender"

33 svar · 461 visningar · startad av SannyW

SannyWMedlem sedan jan. 2003438 inlägg
#1

Ny på if-satser därför behov av lite hjälp.

Databas med kolumnerna DATUM, TID, AKTIVITET

Är ute efter att hämta aktiviteten baserad på datum och tiden.

2003-03-06, 18:00, SIMMA
2003-03-07, 19:00, GÅ

Vill visa nästkommande aktivitet fram tills att den har passerat. Typ klockan är 17:00 6/3 vilket visar informationen SIMMA, men klockan 18:01 så skall informationen visa GÅ framtills nästa aktivitet eller tills att det inte finns någon akivitet och visa informationen typ "Har inga planer."

Någon som har lust att ge en hjälpande hand.

Tack på förhand.

EitrazMedlem sedan sep. 2002366 inlägg
#2

Ja, så här skulle det väll kunna bli eller nåt ;)

[1]
SQL = "SELECT * FROM databasen WHERE (DATUM='" & Date() & "' AND TID>'" & Time() & "') OR DATUM>'" & Date() & "' ORDER BY DATUM, TID"
Set RS = Connect.Execute(SQL)
	If NOT RS.EOF Then
		Do Until RS.EOF
			Response.Write RS("datum") & ", " & RS("TID") & ", " & RS("AKTIVITET") & "<br>"
		RS.MoveNext
		Loop
	Else
		Response.Write "Har inga planer."
	End If
Set RS = Nothing
[/1]

Här är alltså DATUM och TID strängar.

Har säkert precis som vanlig när jag skriver nåt här krånglat till det ovanligt mycket :birp

-Eitraz

SannyWMedlem sedan jan. 2003438 inlägg
#3

Tack för svaret - Eitraz

Hmmm, får inte rätt på det.

Vore tacksam om du kunde förklara vad jag satt fel.

<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../db/test.mdb")&";" 

Set RS = Server.CreateObject("ADODB.Recordset") 

SQL = "SELECT * FROM TEST WHERE (DATUM='" & Date() & "' AND TID>'" & Time() & "') OR DATUM>'" & Date() & "' ORDER BY DATUM, TID"

Set RS = Connect.Execute(SQL)
	If NOT RS.EOF Then
		Do Until RS.EOF
			Response.Write RS("datum") & ", " & RS("TID") & ", " & RS("AKTIVITET") & "<br>"
		RS.MoveNext
		Loop
	Else
		Response.Write "Har inga planer."
	End If
Set RS = Nothing
%>
Cannabis_TomtenMedlem sedan juli 20015 107 inlägg
#4
<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../db/test.mdb")&";" 

Set RS = Server.CreateObject("ADODB.Recordset") 

SQL = "SELECT * FROM TEST WHERE [b]([/b]DATUM='" & Date() & "' AND TID>'" & Time() & "') OR DATUM>'" & Date() & "' ORDER BY DATUM, TID"

Set RS = Connect.Execute(SQL)
	If NOT RS.EOF Then
		Do Until RS.EOF
			Response.Write RS("datum") & ", " & RS("TID") & ", " & RS("AKTIVITET") & "<br>"
		RS.MoveNext
		Loop
	Else
		Response.Write "Har inga planer."
	End If
Set RS = Nothing
%>

hör den tjockmarkerade prantesen verkligen hemma där??? den ligger i select satsen, efter where o innan datum

får du inget felmedelande? har du stavat rätt på tabellnamn? stora och små bokstäver?

Cannabis_TomtenMedlem sedan juli 20015 107 inlägg
#5
SQL = "SELECT * FROM TEST WHERE (DATUM='" & Date() & "' AND TID>'" & Time() & "') OR DATUM>'" & Date() & "' ORDER BY DATUM, TID"

borde väl ändå vara

SQL = "SELECT * FROM TEST WHERE DATUM='" & Date() & "' AND TID>'" & Time() & "' OR DATUM>'" & Date() & "' ORDER BY DATUM, TID"

föresten har du tabellnamnen i stora bokstäver i databasen?

SannyWMedlem sedan jan. 2003438 inlägg
#6

Jo, får följande fel:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][Drivrutin för ODBC Microsoft Access] Typblandningsfel i villkorsuttryck.
/ubk/test/tid.asp, line 10

Tabellnamnet är rätt, men osäker på stora och små bokstäver. Skall titta.

SannyWMedlem sedan jan. 2003438 inlägg
#7

Hjälpte inte med stora och små bokstavsförändringar.

Cannabis_TomtenMedlem sedan juli 20015 107 inlägg
#8

testa med:

SQL = "SELECT * FROM TEST WHERE (DATUM=" & Date() & " AND TID>" & Time() & ") OR DATUM>" & Date() & " ORDER BY DATUM, TID"

alternativt

SQL = "SELECT * FROM TEST WHERE DATUM=" & Date() & " AND TID>" & Time() & " OR DATUM>" & Date() & " ORDER BY DATUM, TID"

och berätta vad du får för medelande då

SannyWMedlem sedan jan. 2003438 inlägg
#9

Nu händer följande:

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket 'DATUM=2003-03-04 AND TID>01:16:44 OR DATUM>2003-03-04'.

Cannabis_TomtenMedlem sedan juli 20015 107 inlägg
#10

SannyW skrev:

Nu händer följande:

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket 'DATUM=2003-03-04 AND TID>01:16:44 OR DATUM>2003-03-04'.

okej vilket andvände du? nummer 1 eller 2?

SannyWMedlem sedan jan. 2003438 inlägg
#11

Samma svar på båda.

När jag testar följande så fungerar sidan:
SQL = "SELECT * FROM test ORDER BY Datum, Tid"

Frågan som jag ställer mig eller anledningen måste väl vara Date () och Time () uttrycken?

solbulleMedlem sedan mars 20015 287 inlägg
#12

Är det inte så att DATUM är ett reserverat ord i svensk access? Och därmed måste klamras?

Cannabis_TomtenMedlem sedan juli 20015 107 inlägg
#13

jag ska det en en sista försök inna det e dags o sova

datum = date
tid = time

SQL = "SELECT * FROM TEST WHERE (DATUM="&datum&" AND TID > ="&tid&") OR DATUM > ="&datum&" ORDER BY datum, tid"
SannyWMedlem sedan jan. 2003438 inlägg
#14

Vilket betyder? Utgå från att du pratar med en 5 åring så kommer jag nog att förstå. :q

Cannabis_TomtenMedlem sedan juli 20015 107 inlägg
#15

velket betyder följande..

<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../db/test.mdb")&";" 

Set RS = Server.CreateObject("ADODB.Recordset")

datum = date
tid = time

SQL = "SELECT * FROM TEST WHERE (DATUM="&datum&" AND TID > ="&tid&") OR DATUM > ="&datum&" ORDER BY datum, tid"

Set RS = Connect.Execute(SQL)
	If NOT RS.EOF Then
		Do Until RS.EOF
			Response.Write RS("datum") & ", " & RS("TID") & ", " & RS("AKTIVITET") & "<br>"
		RS.MoveNext
		Loop
	Else
		Response.Write "Har inga planer."
	End If
Set RS = Nothing
%>
Cannabis_TomtenMedlem sedan juli 20015 107 inlägg
#16

kan fungera, jag e svintrött just nu, har skolaimorn också o skulle vart i sängs för länge sen :P

SannyWMedlem sedan jan. 2003438 inlägg
#17

Okey, skall testa det sista du skickade. Tack för hjälpen och sov gott!

Cannabis_TomtenMedlem sedan juli 20015 107 inlägg
#18

om inte den fungerar så kan det hända aatt denna fungerar.. annars får du vänta tills dem riktiga guruna vaknar imorn o kan hjälpa dej!

<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../db/test.mdb")&";" 

Set RS = Server.CreateObject("ADODB.Recordset")

datum = date
tid = time

SQL = "SELECT * FROM TEST WHERE (DATUM='"&datum&"' AND TID > ='"&tid&"') OR DATUM > ='"&datum&"' ORDER BY datum, tid"

Set RS = Connect.Execute(SQL)
	If NOT RS.EOF Then
		Do Until RS.EOF
			Response.Write RS("datum") & ", " & RS("TID") & ", " & RS("AKTIVITET") & "<br>"
		RS.MoveNext
		Loop
	Else
		Response.Write "Har inga planer."
	End If
Set RS = Nothing
%>

jag väntar på ett besked om inget av dem fungerar sover jag, om det fungerar sover jag iaf.. vill bara veta om det gick eller inte :P

SannyWMedlem sedan jan. 2003438 inlägg
#19

Nope, det funkar inte.

Jag får vända och vrida på det lite till. Sen lägger jag det åtsidan för idag.

Tack än en gång för alla hjälp.

Cannabis_TomtenMedlem sedan juli 20015 107 inlägg
#20

okej... strange.. men men, kolla igenom denna sida om du ska fnula lite..

http://www.ultimateasp.com/tutorial/sql.asp

och här har du reserverade ord i SQL

http://www.jsoftware.com/books/help/user/sql_reserved_words.htm

125 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)