Also bei meinen Test habe ich festgestellt, das das mit < und > nicht funktioniert. Aber vielleicht habe ich das auch falsch gemacht....
-----Urspr�ngliche Nachricht----- Von: Hubert Daubmeier [mailto:[EMAIL PROTECTED]] Gesendet: Dienstag, 25. Dezember 2001 18:11 An: ASP Diskussionsliste fuer Anfaenger Betreff: [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
