Hey super, das du mir so eine gute Antwort geliefert hast.
So langsam steige ich dahinter. Hab jetzt mal deine erste Variante
ausprobiert.
Es kommt keine Fehlermeldung, aber das Event wird noch angezeigt.
Obwohl ich das Datum des Events in der DB auf den 20.12 ge�ndert habe.
Ich schicke dir mal den Source Code:
' Verbindug herstellen
myDSN="DSN=DM90_jvu"
mySQL="SELECT Name, Beschreibung, Datum, ID FROM Kalender WHERE fix(Datum)
>= date()"
set conn=server.createobject("adodb.connection")
conn.open myDSN
set rs=conn.execute(mySQL)
If rs.eof then
response.write "Es sind keine Termine in den Kalender eingetregen"
conn.close
set conn=nothing
response.end
end if
While not rs.EOF
id = rs("ID")
name = rs("name")
Beschreibung = rs("beschreibung")
Datum = rs("Datum")
%>
Ich sag schon mal im Vorraus Danke ;-)
MFG
Erik Fichtner
Ps: Kann es was mit dem rs.Movenext zu tun haben?
----- Original Message -----
From: "Hubert Daubmeier" <[EMAIL PROTECTED]>
To: "ASP Diskussionsliste fuer Anfaenger" <[EMAIL PROTECTED]>
Sent: Tuesday, December 25, 2001 6:11 PM
Subject: [aspdebeginners] RE: DateDiff
Mach es doch nicht so kompliziert.
Erstens: hinter jedem Zeit- und Datumswert steckt eine Zahl (die
Serielle Zahl). Die Einheit f�r beides ist der Tag. Ein halber Tag ist
also 12 Stunden, 7 Tage eine Woche. Sprich will ich was addieren, mache
ich mal plus 0,5 und das n�chste Mal plus 7.
Zweite Erkenntnis: da die Einheit Tage ist, brauche ich zur Berechnung
von Datumsdifferenzen keine DateDiff Funktion. Grund siehe oben;
simples plus oder minus tut es.
Drittens: Datenbankfelder k�nnen beides enthalten: Zeit und Datum. Die
Funktion now() tut es immer: sie hat Zeit und Datum. Dieser feine
Unterschied schmeisst manchmal aus dem Ruder. Etwa wenn da Abfragen
gestartet werden, die am Ende des Tages auf sowas rauslaufen "zeig mir
alle Forumseintr�ge, die am 25. Dezember 2001, um genau 17:52:34
eingestellt worden". Klar hab hier mal reichlich �bertrieben; da sagt
jeder "logo kann ja gar nicht gehen" dazu. Warten wir mal bis zur
n�chsten konkreten Frage in der Richtung ;-)
Viertens: in der Kalender Situation solltest Du mal klar werden, was Du
nun tats�chlich willst. Konkret wie sehen die Grenzf�lle aus. Es ist
jetzt genau 25. Dezember 2001, 17:52:34. Ist eine Veranstaltung die um
18:00 losgeht schon vorbei? Wie s�he es mit einer Veranstaltung um 12:00
aus?
Hilfreich in dem Zusammenhang auch, wenn ich mir klar werde was es alles
an Standardfunktionen gibt
Time() = Zeit (z.b. 0,5; also 12:00 Uhr)
Date() = Datum (also etwa 25.12.2001)
Now() = jetzt (Zeit und Datum). Als Beispiel heute 12:00 Uhr
F�r den Anfang nehme ich mal einen pragmatischen Fall und sag "alle
Veranstaltungen die zu einer beliebigen Zeit heute stattfinden werden
heute auch noch angezeigt". Wer dann sieht dass die tolle Veranstaltung
xyz vor einer halben Stunde zu Ende ging hat dann leider verloren.
SELECT
feld1, feld2
FROM
tabelle
WHERE
fix(datumsfeld) >= date()
AND
noch_eine_Bedingung
(hoffe Sinn kommt r�ber)
Gestrige Termine auch noch anzeigen
SELECT
feld1, feld2
FROM
tabelle
WHERE
fix(datumsfeld)+1 >= date()
Nur noch Termine ab morgen anzeigen
SELECT
feld1, feld2
FROM
tabelle
WHERE
fix(datumsfeld)-1 >= date()
Termine in einer Woche
SELECT
feld1, feld2
FROM
tabelle
WHERE
fix(datumsfeld)-7 >= date()
Und damit wir das DateAdd auch mal irgendwo eingebaut haben: Alle
Termine in einem Monat und danach.
SELECT
feld1, feld2
FROM
tabelle
WHERE
fix(dateadd('m', -1, datumsfeld))) >= date()
Alle Termine die heute vor einem Monat und danach stattfanden
SELECT
feld1, feld2
FROM
tabelle
WHERE
fix(dateadd('m', +1, datumsfeld))) >= date()
Nat�rlich k�nnten man es von der Logik auch umdrehen, in dem ich die
Addition/Subtraktion statt beim linken dann beim rechten Operanden
mache. Und / oder .... (der Phantasie sind da kaum Grenzen gesetzt).
Oder Funktionen die kein Argument brauchen, k�nnten sowohl in VBScript
als auch in SQL ohne leere Klammer geschrieben werden. Ich rate davon
ab, denn am Ende weiss wieder niemand mehr wo das Zeugs herkommt und wie
man es am einfachsten verwendet.
Alle Beispiele �brigens f�r Access. Mit SQL Server geht es ein bischen
(wenn auch nicht weltbewegend) anders.
--
Viele Gr��e
Hubert Daubmeier
-----Original Message-----
From: Erik Fichtner [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, December 25, 2001 5:16 PM
To: ASP Diskussionsliste fuer Anfaenger
Subject: [aspdebeginners] DateDiff
Hallo Liste,
ich komme mit diesem DateDiff einfach nicht weiter. Ich verstehe da nur
Bahnhof.. Ich erkl�re euch am besten nocheinmal ganz genau was ich
machen m�chte.
Ich habe einen Kalender programmiert. Dort sind einige Veranstaltungen
gespeichert, die das Programm beim aufrufen der Seite alle zeigt. Bis
hierher ist das ganze noch kein Problem, aber jetzt geht es darum eine
Veranstaltung die schon stattgefunden hat also sprich vorbei ist, darf
jetzt nicht mehr angezeigt werden wenn das Datum schon vorbei ist.
Sprich das er den Eintrag aus der DB l�scht oder halt �bergeht. Ihr
k�nnt euch ja mal den Kalender anschauen. Damit ihr genau wi�t von was
ich eigentlich rede ;-)
(http://www.aspfreak.de/jvu/kalender/veranstaltungen.asp).
Ich habe jetzt von einem Kumpel einen Tip bekommen, das man as ja in den
SQL String einbauen k�nnte. Das w�rde dann in etwa so aussehen: "SELECT
* FROM irgendwas WHERE DateDiff('d',Datum,now())" Kann das
funkktionieren? In einer SQL Anweisung asp ??
Hat jemand von euch auch schon mal so ein Problem gahabt? Wenn ja kann
er/sie mir da mal auf die Spr�nge helfen oder mir ein tutorial verraten.
F�r alle Bem�hungen danke ich schon einmal
MFG
Erik Fichtner
| Oft Gefragtes: http://www.aspgerman.com/aspgerman/faq/
| [aspdebeginners] als [EMAIL PROTECTED] subscribed
| http://www.aspgerman.com/archiv/aspdebeginners/ = Listenarchiv
| Sie knnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdebeginners.asp
| Oft Gefragtes: http://www.aspgerman.com/aspgerman/faq/
| [aspdebeginners] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdebeginners/ = Listenarchiv
| Sie knnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdebeginners.asp