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