Hi, habe folgendes Problem:
Es geht um einen Terminplaner. Ich bekomme von einem Formular ein Datum, von, bis, Kommentar.
Um ständig wiederkehrende Ereignisse beim Eintragen zu vereinfachen habe ich mir gedacht noch abzufragen ob es einmalig, wöchentlich, zweiwöchentlich ... sein soll und für wieviele Wochen das gelten soll.
Das Skript soll dann z.B. für die nächsten 10 Wochen jede den Termin eintragen.
Dazu habe ich ich For Schleife eingefügt. Was darunter unter else steht ist die Standartfunktion für das eintragen eines Termins, welche auch super funktioniert.
Wenn es aber um wiederkehrende Ereignisse geht klappt gar nix. Irgendwie steckt da ein Fehler in dem SQL Insert Befehl. Möglicherweise kommt er nicht mit der Datumsvariable dar. Unten (unter else) nutze ich einfach den übergebenen Datumsstring, in der for-Schleife habe ich das Datum aber in ein VB Datum konvertiert und z.B. 1 Woche drauf gerechnet.
Will ich das testen, erhalte ich entweder "Diese Seite kann nicht dargestellt werden (auf dem Webserver) bzw nur eine weiße Seite ohne jegliche Fehlermeldungen (Testserver) und es wird nix eingetragen.
Wo könnte der Fehler stecken?
Vielen Dank
Sayon
Es geht um einen Terminplaner. Ich bekomme von einem Formular ein Datum, von, bis, Kommentar.
Um ständig wiederkehrende Ereignisse beim Eintragen zu vereinfachen habe ich mir gedacht noch abzufragen ob es einmalig, wöchentlich, zweiwöchentlich ... sein soll und für wieviele Wochen das gelten soll.
Das Skript soll dann z.B. für die nächsten 10 Wochen jede den Termin eintragen.
Dazu habe ich ich For Schleife eingefügt. Was darunter unter else steht ist die Standartfunktion für das eintragen eines Termins, welche auch super funktioniert.
Wenn es aber um wiederkehrende Ereignisse geht klappt gar nix. Irgendwie steckt da ein Fehler in dem SQL Insert Befehl. Möglicherweise kommt er nicht mit der Datumsvariable dar. Unten (unter else) nutze ich einfach den übergebenen Datumsstring, in der for-Schleife habe ich das Datum aber in ein VB Datum konvertiert und z.B. 1 Woche drauf gerechnet.
Will ich das testen, erhalte ich entweder "Diese Seite kann nicht dargestellt werden (auf dem Webserver) bzw nur eine weiße Seite ohne jegliche Fehlermeldungen (Testserver) und es wird nix eingetragen.
Wo könnte der Fehler stecken?
Code:
Set Conn = CreateObject("ADODB.Connection") Conn.Open "File Name=" & Server.MapPath("termine.udl") 'Mehrfachschleife zum Eintragen wiederkehrender Ereignisse Dim Temp, strDatum, art, anzahl, wert, durchf, i strDatum=Request("datum") art=cint(Request("regel")) anzahl=cint(Request.QueryString("wochen")) strDatum2 = CDate(strDatum) 'Hier wird der Datumsstring in einen VB Datumswert konvertiert if art=0 then wert = 0 if art=1 then wert = 7 if art=2 then wert = 14 if art=3 then wert = 21 if art=4 then wert = 28 if art > 0 then durchf = (anzahl \ art) for i=1 to 1 'durchf if i > 1 then strDatum2 = DateSerial(Year(strDatum2),Month(strDatum2),Day(strDatum2)+wert) strDatum2 = cstr(strDatum2) end if '==== Hier noch den Fehler finden!!!!! ======= set RS1 = conn.execute("SELECT count(*) FROM " + Request.QueryString ("bereich") + " WHERE datum='" + Request.QueryString("strDatum2") + "' AND #" & DateAdd("n",1,Request.QueryString("von")) & "# BETWEEN von AND bis") set RS2 = conn.execute("SELECT count(*) FROM " + Request.QueryString ("bereich") + " WHERE datum='" + Request.QueryString("strDatum2") + "' AND #" & DateAdd("n",-1,Request.QueryString("bis")) & "# BETWEEN von AND bis ") if (( RS1(0) = 0 ) and (RS2(0) = 0) ) then set RS = conn.execute("INSERT INTO " + Request.QueryString("bereich") + " VALUES('" + Request.QueryString("strDatum2") + "',#" + Request.QueryString("von") + "#,#" + Request.QueryString("bis") + "#,'" + Request.QueryString("S1") + "')") else Err = 777 end if next else set RS1 = conn.execute("SELECT count(*) FROM " + Request.QueryString ("bereich") + " WHERE datum='" + Request.QueryString("datum")+ "' AND #" & DateAdd("n",1,Request.QueryString("von")) & "# BETWEEN von AND bis") set RS2 = conn.execute("SELECT count(*) FROM " + Request.QueryString ("bereich") + " WHERE datum='" + Request.QueryString("datum")+ "' AND #" & DateAdd("n",-1,Request.QueryString("bis")) & "# BETWEEN von AND bis ") if (( RS1(0) = 0 ) and (RS2(0) = 0) ) then set RS = conn.execute("INSERT INTO " + Request.QueryString("bereich") + " VALUES('" + Request.QueryString("datum") + "',#" + Request.QueryString("von") + "#,#" + Request.QueryString("bis") + "#,'" + Request.QueryString("S1") + "')") else Err = 777 end if end if
Vielen Dank
Sayon
Kommentar