Avatar billede riishoj Nybegynder
22. maj 2003 - 20:17 Der er 71 kommentarer og
1 løsning

Fejl i indsætningsscript

Kan nogen finde fejlen(e) i nedenstående script, som indsætter poster i en db.

<%
     
'***Loop der giver session efter checkboxe og ser hvor mange der er valgt
session("box1") = ""
session("box2") = ""
session("box3") = ""
session("box4") = ""
session("box5") = ""
session("box6") = ""
session("box7") = ""

var = 0
for i = 1 to 7 '7 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("box" & i)
    if box = CStr(i) then
      if i = 1 then
        session("box" & i) = "1"
      elseif i = 2 then
        session("box" & i) = "2"
      elseif i = 3 then
        session("box" & i) = "3"
      elseif i = 4 then
        session("box" & i) = "4"
      elseif i = 5 then
        session("box" & i) = "5"
      elseif i = 6 then
        session("box" & i) = "6"
      elseif i = 7 then
        session("box" & i) = "7"


      end if
    session("antal") = var+1
    var = var+1
    end if
next

antal = CInt(session("antal"))

'***Loop der giver session efter checkbox'se og ser hvormange der er valgt
session("data1") = ""
session("data2") = ""
session("data3") = ""

var = 0
for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("data" & d)
    if box = CStr(d) then
      if d = 1 then
        session("data" & d) = "dataA"
      elseif d = 2 then
        session("data" & d) = "dataB"
      elseif d = 3 then
        session("data" & d) = "dataBib"
     


      end if
    session("antal") = var+1
    var = var+1
    end if
next

antal = CInt(session("antal"))



    Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath ("/xxx/data.mdb")
    Conn.Open DSN

for j = 1 to 7

for e = 1 to 3

  strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & request.form("reservation") & "';"
Set rs = Conn.Execute(strSQL)

  If (Rs.BOF Or Rs.EOF) Then
if session("box" & j) <> "" then
    Set rs = Server.CreateObject("ADODB.recordset")
    strSQL = "Select * From ebberup_reserver " 
    rs.Open strSQL, Conn, 1, 3
      rs.AddNew
          rs("aar") = Request.Form("aar")
          rs("uge") = Request.Form("uge")
          rs("dag") = Request.Form("dag")
          rs("lektion") = session("box" & j)
          rs("initialer") = Request.Form("initialer")
          rs("klasse") = Request.Form("klasse")
          rs("reservation") = session("data" & e)
      rs.update
  end if
Else
  if session("box" & j) <> "" then
    session("fejl" & j) = "true"
  end if
End If
next
next
' Luk databaseforbindelse HUSK at gøre dette inden du redirecter :-)
Conn.Close
Set Conn = Nothing

if session("fejl1") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 1. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl2") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 2. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl3") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 3. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl4") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 4. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl5") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 5. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl6") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 6. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl7") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 7. Gå venligst tilbage og find en ny tid</td>"

else
  uge = request.form("uge")
  Response.Redirect ("datalokalet.asp?uge=" & uge & "&reservation=" & reservation & "")
end if

%>
Avatar billede riishoj Nybegynder
22. maj 2003 - 21:28 #1
Jeg har selv rettet en fejl, men det virker stadig ikke.

%
     
'***Loop der giver session efter checkboxe og ser hvor mange der er valgt
session("box1") = ""
session("box2") = ""
session("box3") = ""
session("box4") = ""
session("box5") = ""
session("box6") = ""
session("box7") = ""

var = 0
for i = 1 to 7 '7 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("box" & i)
    if box = CStr(i) then
      if i = 1 then
        session("box" & i) = "1"
      elseif i = 2 then
        session("box" & i) = "2"
      elseif i = 3 then
        session("box" & i) = "3"
      elseif i = 4 then
        session("box" & i) = "4"
      elseif i = 5 then
        session("box" & i) = "5"
      elseif i = 6 then
        session("box" & i) = "6"
      elseif i = 7 then
        session("box" & i) = "7"


      end if
    session("antal") = var+1
    var = var+1
    end if
next

antal = CInt(session("antal"))

'***Loop der giver session efter checkbox'se og ser hvormange der er valgt
session("data1") = ""
session("data2") = ""
session("data3") = ""

var = 0
for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("data" & d)
    if box = CStr(d) then
      if d = 1 then
        session("data" & d) = "dataA"
      elseif d = 2 then
        session("data" & d) = "dataB"
      elseif d = 3 then
        session("data" & d) = "dataBib"
     


      end if
    session("antal") = var+1
    var = var+1
    end if
next

antal = CInt(session("antal"))



    Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath ("/ebberupskole_reservation/data.mdb")
    Conn.Open DSN

for j = 1 to 7

for e = 1 to 3

  strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & session("data" & e) & "';"
Set rs = Conn.Execute(strSQL)

  If (Rs.BOF Or Rs.EOF) Then
if session("box" & j) <> "" then
    Set rs = Server.CreateObject("ADODB.recordset")
    strSQL = "Select * From ebberup_reserver " 
    rs.Open strSQL, Conn, 1, 3
      rs.AddNew
          rs("aar") = Request.Form("aar")
          rs("uge") = Request.Form("uge")
          rs("dag") = Request.Form("dag")
          rs("lektion") = session("box" & j)
          rs("initialer") = Request.Form("initialer")
          rs("klasse") = Request.Form("klasse")
          rs("reservation") = session("data" & e)
      rs.update
  end if
Else
  if session("box" & j) <> "" then
    session("fejl" & j) = "true"
  end if
End If
next
next
' Luk databaseforbindelse HUSK at gøre dette inden du redirecter :-)
Conn.Close
Set Conn = Nothing

if session("fejl1") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 1. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl2") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 2. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl3") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 3. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl4") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 4. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl5") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 5. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl6") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 6. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl7") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 7. Gå venligst tilbage og find en ny tid</td>"

else
  uge = request.form("uge")
  Response.Redirect ("datalokalet.asp?uge=" & uge & "&reservation=" & reservation & "")
end if

%>
Avatar billede -master-d- Nybegynder
22. maj 2003 - 21:30 #2
Hvad er der galt med den ? Sætter den ikke dataene ind ?

Er alle felterne idatabasen virkelig tekstfelter ?
Avatar billede riishoj Nybegynder
22. maj 2003 - 21:31 #3
Jeg får fejlen

Microsoft OLE DB Provider for ODBC Drivers fejl '80004005'
[Microsoft][ODBC Microsoft Access-driver] Feltet "ebberup_reserver.reservation" kan ikke indeholde en streng af længden nul.

/ebberupskole_reservation/datalokalet/indsaet_reservation.asp, linje 144
Avatar billede riishoj Nybegynder
22. maj 2003 - 21:32 #4
Ja, det er tekstfelter. Er det ikke så godt?
Avatar billede -master-d- Nybegynder
22. maj 2003 - 21:33 #5
Ergo må fejlen ligge her

strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & session("data" & e) & "';"
Set rs = Conn.Execute(strSQL)
Avatar billede -master-d- Nybegynder
22. maj 2003 - 21:34 #6
Nej det er ligegyldigt ville bare være sikker..

Lille fejl.

Fejlen ligger her :

for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("data" & d)
    if box = CStr(d) then
      if d = 1 then
        session("data" & d) = "dataA"
      elseif d = 2 then
        session("data" & d) = "dataB"
      elseif d = 3 then
        session("data" & d) = "dataBib"
     


      end if
    session("antal") = var+1
    var = var+1
    end if
next
Avatar billede -master-d- Nybegynder
22. maj 2003 - 21:36 #7
Vi prøver lige at debugge os igennem

for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("data" & d)
  Response.Write box & "<br>"
    if box = CStr(d) then
  Response.Write d & "<br>" 
      if d = 1 then
        session("data" & d) = "dataA"
      elseif d = 2 then
        session("data" & d) = "dataB"
      elseif d = 3 then
        session("data" & d) = "dataBib"
     


      end if
    session("antal") = var+1
    var = var+1
    end if
next
Avatar billede riishoj Nybegynder
22. maj 2003 - 21:38 #8
Øh, hvor er det så lige at fejlen er?
Avatar billede -master-d- Nybegynder
22. maj 2003 - 21:39 #9
Prøv lige at bruge denne her :

for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("data" & d)
  x = d
    if box = CStr(x) then
      if d = 1 then
        session("data" & d) = "dataA"
      elseif d = 2 then
        session("data" & d) = "dataB"
      elseif d = 3 then
        session("data" & d) = "dataBib"
      end if
    session("antal") = var+1
    var = var+1
    end if
next
Avatar billede -master-d- Nybegynder
22. maj 2003 - 21:40 #10
Fejlen ligger i at reservation ikke får nogen værdi når dit loop bliver kørt.
Derfor får du fejlen "Feltet "ebberup_reserver.reservation" kan ikke indeholde en streng af længden nul. "

Da rs("reservation") = session("data" & e)
Åbenbart bliver til

rs("reservation") = ""
Avatar billede riishoj Nybegynder
22. maj 2003 - 21:45 #11
Hvad gør jeg ved det?
Avatar billede -master-d- Nybegynder
22. maj 2003 - 21:46 #12
Prøv det jeg skrev lige før.
Avatar billede riishoj Nybegynder
22. maj 2003 - 21:51 #13
Det har jeg prøvet. Så mangler der et "next"
Avatar billede riishoj Nybegynder
22. maj 2003 - 21:53 #14
Der er dog ingen tvivl om, at det er her fejlen ligger, for reservation har før virket med en textbox, som jeg så har forsøgt at erstatte med 3 checkboxe.
Avatar billede -master-d- Nybegynder
22. maj 2003 - 21:58 #15
Kan du ikke lige prøve denne.

for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("data" & d)%>
<script>
  alert("<%=box%>
</script>
<%
    if box = CStr(d) then%>
<script>
  alert("<%=d%>
</script>
<% 
      if d = 1 then
        session("data" & d) = "dataA"
      elseif d = 2 then
        session("data" & d) = "dataB"
      elseif d = 3 then
        session("data" & d) = "dataBib"
     


      end if
    session("antal") = var+1
    var = var+1
    end if
next

Og så sig hvad du får af meddelser.
Avatar billede riishoj Nybegynder
22. maj 2003 - 22:05 #16
Jeg får en alertbox, som siger at strengkonstanten er uafsluttet.
Avatar billede -master-d- Nybegynder
22. maj 2003 - 22:14 #17
Doooh min fejl, sådan

for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("data" & d)%>
<script>
  alert("<%=box%>")
</script>
<%
    if box = CStr(d) then%>
<script>
  alert("<%=d%>")
</script>
<% 
      if d = 1 then
        session("data" & d) = "dataA"
      elseif d = 2 then
        session("data" & d) = "dataB"
      elseif d = 3 then
        session("data" & d) = "dataBib"
      end if
    session("antal") = var+1
    var = var+1
    end if
next


Prøv så igen
Avatar billede riishoj Nybegynder
22. maj 2003 - 22:24 #18
Får at vide, at der mangler et "next" i linje 180 som er den sidste linje i scriptet. Hvis jeg sætter next ind her, får jeg ingen fejlmeddelelse, men der bliver intet indsat i db'en. Det ser sådan ud nu

<%
     
'***Loop der giver session efter checkboxe og ser hvor mange der er valgt
session("box1") = ""
session("box2") = ""
session("box3") = ""
session("box4") = ""
session("box5") = ""
session("box6") = ""
session("box7") = ""

var = 0
for i = 1 to 7 '7 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("box" & i)
    if box = CStr(i) then
      if i = 1 then
        session("box" & i) = "1"
      elseif i = 2 then
        session("box" & i) = "2"
      elseif i = 3 then
        session("box" & i) = "3"
      elseif i = 4 then
        session("box" & i) = "4"
      elseif i = 5 then
        session("box" & i) = "5"
      elseif i = 6 then
        session("box" & i) = "6"
      elseif i = 7 then
        session("box" & i) = "7"


      end if
    session("antal") = var+1
    var = var+1
    end if
next

antal = CInt(session("antal"))

'***Loop der giver session efter checkbox'se og ser hvormange der er valgt
session("data1") = ""
session("data2") = ""
session("data3") = ""

var = 0
for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("data" & d)%>
<script>
  alert("<%=box%>")
</script>
<%
    if box = CStr(d) then%>
<script>
  alert("<%=d%>")
</script>
<% 
      if d = 1 then
        session("data" & d) = "dataA"
      elseif d = 2 then
        session("data" & d) = "dataB"
      elseif d = 3 then
        session("data" & d) = "dataBib"
      end if
    session("antal") = var+1
    var = var+1
    end if
next


antal = CInt(session("antal"))



    Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath ("/ebberupskole_reservation/data.mdb")
    Conn.Open DSN

for j = 1 to 7

for e = 1 to 3

  strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & session("data" & e) & "';"
Set rs = Conn.Execute(strSQL)

  If (Rs.BOF Or Rs.EOF) Then
if session("box" & j) <> "" then
    Set rs = Server.CreateObject("ADODB.recordset")
    strSQL = "Select * From ebberup_reserver " 
    rs.Open strSQL, Conn, 1, 3
      rs.AddNew
          rs("aar") = Request.Form("aar")
          rs("uge") = Request.Form("uge")
          rs("dag") = Request.Form("dag")
          rs("lektion") = session("box" & j)
          rs("initialer") = Request.Form("initialer")
          rs("klasse") = Request.Form("klasse")
          rs("reservation") = session("data" & e)
      rs.update
  end if
Else
  if session("box" & j) <> "" then
    session("fejl" & j) = "true"
  end if
End If
next
' Luk databaseforbindelse HUSK at gøre dette inden du redirecter :-)
Conn.Close
Set Conn = Nothing

if session("fejl1") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 1. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl2") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 2. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl3") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 3. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl4") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 4. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl5") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 5. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl6") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 6. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl7") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 7. Gå venligst tilbage og find en ny tid</td>"

else
  uge = request.form("uge")
  Response.Redirect ("datalokalet.asp?uge=" & uge & "&reservation=" & reservation & "")
end if

%>
Avatar billede -master-d- Nybegynder
22. maj 2003 - 22:26 #19
Du får alert message ?
Avatar billede riishoj Nybegynder
22. maj 2003 - 22:27 #20
Nej
Avatar billede -master-d- Nybegynder
22. maj 2003 - 22:41 #21
Test lige det her :

<%
     
'***Loop der giver session efter checkboxe og ser hvor mange der er valgt
session("box1") = ""
session("box2") = ""
session("box3") = ""
session("box4") = ""
session("box5") = ""
session("box6") = ""
session("box7") = ""

var = 0
for i = 1 to 7 '7 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("box" & i)
    if box = CStr(i) then
      if i = 1 then
        session("box" & i) = "1"
      elseif i = 2 then
        session("box" & i) = "2"
      elseif i = 3 then
        session("box" & i) = "3"
      elseif i = 4 then
        session("box" & i) = "4"
      elseif i = 5 then
        session("box" & i) = "5"
      elseif i = 6 then
        session("box" & i) = "6"
      elseif i = 7 then
        session("box" & i) = "7"


      end if
    session("antal") = var+1
    var = var+1
    end if
next

antal = CInt(session("antal"))

'***Loop der giver session efter checkbox'se og ser hvormange der er valgt
session("data1") = ""
session("data2") = ""
session("data3") = ""

var = 0
for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("data" & d)
var1 = box
    if box = CStr(d) then
var2 = d
      if d = 1 then
        session("data" & d) = "dataA"
      elseif d = 2 then
        session("data" & d) = "dataB"
      elseif d = 3 then
        session("data" & d) = "dataBib"
      end if
    session("antal") = var+1
    var = var+1
    end if
next


antal = CInt(session("antal"))



    Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath ("/ebberupskole_reservation/data.mdb")
    Conn.Open DSN

for j = 1 to 7

for e = 1 to 3

  strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & session("data" & e) & "';"
Set rs = Conn.Execute(strSQL)

  If (Rs.BOF Or Rs.EOF) Then
if session("box" & j) <> "" then
    Set rs = Server.CreateObject("ADODB.recordset")
    strSQL = "Select * From ebberup_reserver " 
    rs.Open strSQL, Conn, 1, 3
      rs.AddNew
          rs("aar") = Request.Form("aar")
          rs("uge") = Request.Form("uge")
          rs("dag") = Request.Form("dag")
          rs("lektion") = session("box" & j)
          rs("initialer") = Request.Form("initialer")
          rs("klasse") = Request.Form("klasse")
          rs("reservation") = session("data" & e)
      rs.update
  end if
Else
  if session("box" & j) <> "" then
    session("fejl" & j) = "true"
  end if
End If
next
' Luk databaseforbindelse HUSK at gøre dette inden du redirecter :-)
Conn.Close
Set Conn = Nothing

if session("fejl1") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 1. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl2") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 2. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl3") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 3. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl4") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 4. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl5") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 5. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl6") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 6. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl7") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 7. Gå venligst tilbage og find en ny tid</td>"

else
  uge = request.form("uge")
  Response.Redirect ("datalokalet.asp?uge=" & uge & "&reservation=" & reservation & "")
end if

Response.Write var1 &"<br>"
Response.Write var2

%>
Avatar billede riishoj Nybegynder
22. maj 2003 - 22:47 #22
Får endnu en gang beskeden "next" var ventet i sidste linje
Avatar billede -master-d- Nybegynder
22. maj 2003 - 23:12 #23
Du skal også lige have det her med

....
If (Rs.BOF Or Rs.EOF) Then
if session("box" & j) <> "" then
    Set rs = Server.CreateObject("ADODB.recordset")
    strSQL = "Select * From ebberup_reserver " 
    rs.Open strSQL, Conn, 1, 3
      rs.AddNew
          rs("aar") = Request.Form("aar")
          rs("uge") = Request.Form("uge")
          rs("dag") = Request.Form("dag")
          rs("lektion") = session("box" & j)
          rs("initialer") = Request.Form("initialer")
          rs("klasse") = Request.Form("klasse")
          rs("reservation") = session("data" & e)
      rs.update
  end if
Else
  if session("box" & j) <> "" then
    session("fejl" & j) = "true"
  end if
End If
next
next
' Luk databaseforbindelse HUSK at gøre dette inden du redirecter :-)
Conn.Close
Set Conn = Nothing
...
Avatar billede riishoj Nybegynder
22. maj 2003 - 23:21 #24
Så har vi igen

Microsoft OLE DB Provider for ODBC Drivers fejl '80004005'
[Microsoft][ODBC Microsoft Access-driver] Feltet "ebberup_reserver.reservation" kan ikke indeholde en streng af længden nul.

/ebberupskole_reservation/datalokalet/indsaet_reservation.asp, linje 144

Jeg viser lige formen, som indsaet.asp henter. Ved ikke om den kan have noget med fejlen at gøre?

<%
    Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath ("/ebberupskole_reservation/data.mdb")
    Conn.Open DSN


    lektion = Request.Querystring("lektion")
    dag = Request.Querystring("dag")
    reservation = Request.Querystring("reservation")
    uge = Request.Querystring("uge")
    aar = Request.Querystring("aar")
%>

<form method="POST" action="indsaet_reservation.asp" onsubmit="return FrontPage_Form1_Validator(this)" name="FrontPage_Form1">
&nbsp;

<div align="center">
  <table border="0" width="40%" bgcolor="#008080" style="border: 1 solid #000000" cellpadding="3">
    <tr>
      <td width="100%" colspan="3">
        <p align="center"><font size="2" face="Verdana" color="#FFFFFF"><b>Ebberup
                Skoles Reservationssystem</b></font></td>
    </tr>
  <center>
    <tr>
      <td width="100%" colspan="3">
        <p align="center"><!--webbot bot="HTMLMarkup" startspan --> <%
        response.write "<font color=#FFFFFF face=verdana size=2>"
        response.write "Denne uge er nr:" & DatePart("ww",date())
        %><!--webbot bot="HTMLMarkup" endspan -->
        </p>
      </td>
    </tr>
    <tr>
      <td width="14%"><font color="#FFFFFF" face="Verdana" size="1">År:</font></td>
      <td width="24%"><b><input type="text" name="aar" size="4" value="<%= aar%>"></b></td>
  </center>
      <td width="37%" rowspan="7">
        <p align="center"><%
if lektion = "1" then
%>
        <font face="Verdana" size="1" color="#FFFFFF">Lektion 1</font><input type="checkbox" name="box1" value="1" checked><br>
        <font face="Verdana" size="1" color="#FFFFFF">Lektion 2</font><input type="checkbox" name="box2" value="2"><br>
        <font face="Verdana" size="1" color="#FFFFFF">Lektion 3</font><input type="checkbox" name="box3" value="3"><br>
        <font face="Verdana" size="1" color="#FFFFFF">Lektion 4</font><input type="checkbox" name="box4" value="4"><br>
        <font face="Verdana" size="1" color="#FFFFFF">Lektion 5</font><input type="checkbox" name="box5" value="5"><br>
        <font face="Verdana" size="1" color="#FFFFFF">Lektion 6</font><input type="checkbox" name="box6" value="6"><br>
        <font face="Verdana" size="1" color="#FFFFFF">Lektion 7</font><input type="checkbox" name="box7" value="7"><br>


<%
elseif lektion = "2" then
%>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 1<input type="checkbox" name="box1" value="1"><br><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 2<input type="checkbox" name="box2" value="2" checked><br><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 3<input type="checkbox" name="box3" value="3"><br><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 4<input type="checkbox" name="box4" value="4"><br><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 5<input type="checkbox" name="box5" value="5"><br><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 6<input type="checkbox" name="box6" value="6"><br><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 7<input type="checkbox" name="box7" value="7"><br><br>


<%
elseif lektion = "3" then
%>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 1<input type="checkbox" name="box1" value="1"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 2<input type="checkbox" name="box2" value="2"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 3<input type="checkbox" name="box3" value="3" checked><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 4<input type="checkbox" name="box4" value="4"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 5<input type="checkbox" name="box5" value="5"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 6<input type="checkbox" name="box6" value="6"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 7<input type="checkbox" name="box7" value="7"><br>

<%
elseif lektion = "4" then
%>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 1<input type="checkbox" name="box1" value="1"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 2<input type="checkbox" name="box2" value="2"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 3<input type="checkbox" name="box3" value="3"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 4<input type="checkbox" name="box4" value="4" checked><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 5<input type="checkbox" name="box5" value="5"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 6<input type="checkbox" name="box6" value="6"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 7<input type="checkbox" name="box7" value="7"><br>

<%
elseif lektion = "5" then
%>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 1<input type="checkbox" name="box1" value="1"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 2<input type="checkbox" name="box2" value="2"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 3<input type="checkbox" name="box3" value="3"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 4<input type="checkbox" name="box4" value="4"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 5<input type="checkbox" name="box5" value="5" checked><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 6<input type="checkbox" name="box6" value="6"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 7<input type="checkbox" name="box7" value="7"><br>

<%
elseif lektion = "6" then
%>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 1<input type="checkbox" name="box1" value="1"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 2<input type="checkbox" name="box2" value="2"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 3<input type="checkbox" name="box3" value="3"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 4<input type="checkbox" name="box4" value="4"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 5<input type="checkbox" name="box5" value="5"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 6<input type="checkbox" name="box6" value="6" checked><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 7<input type="checkbox" name="box7" value="7"><br>

<%
elseif lektion = "7" then
%>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 1<input type="checkbox" name="box1" value="1"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 2<input type="checkbox" name="box2" value="2"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 3<input type="checkbox" name="box3" value="3"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 4<input type="checkbox" name="box4" value="4"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 5<input type="checkbox" name="box5" value="5"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 6<input type="checkbox" name="box6" value="6"><br>
<font face="Verdana" size="1" color="#FFFFFF">Lektion 7<input type="checkbox" name="box7" value="7" checked><br>

<%
end if
%>
        </p>
</td>
    </tr>
    <tr>
      <td width="14%">
                <p align="left"><font face="Verdana" size="1" color="#FFFFFF">Uge:</font></td>
  <center>
      <td width="24%"><b><input type="text" name="uge" size="2" value="<%= uge%>"></b></td>
  </center>
    </tr>
  <center>
    <tr>
      <td width="14%"><font face="Verdana" size="1" color="#FFFFFF">Ugedag:</font></td>
      <td width="24%"><input type="text" name="dag" size="7" value="<%=dag%>"></td>
  </center>
    </tr>
  <center>
    <tr>
      <td width="14%"><font face="Verdana" size="1" color="#FFFFFF">Reservation:</font></td>
      <td width="24%"><!--webbot bot="HTMLMarkup" startspan -->
<%
if reservation = "dataA" then
%>
        <font face="Verdana" size="1" color="#FFFFFF">dataA</font><input type="checkbox" name="data1" value="dataA" checked><br>
        <font face="Verdana" size="1" color="#FFFFFF">dataB</font><input type="checkbox" name="data2" value="dataB"><br>
        <font face="Verdana" size="1" color="#FFFFFF">dataBib</font><input type="checkbox" name="data3" value="dataBib"><br>

<%
elseif reservation = "dataB" then
%>
        <font face="Verdana" size="1" color="#FFFFFF">dataA</font><input type="checkbox" name="data1" value="dataA"><br>
        <font face="Verdana" size="1" color="#FFFFFF">dataB</font><input type="checkbox" name="data2" value="dataB" checked><br>
        <font face="Verdana" size="1" color="#FFFFFF">dataBib</font><input type="checkbox" name="data3" value="dataBib"><br>


<%
elseif reservation = "dataBib" then
%>
        <font face="Verdana" size="1" color="#FFFFFF">dataA</font><input type="checkbox" name="data1" value="dataA"><br>
        <font face="Verdana" size="1" color="#FFFFFF">dataB</font><input type="checkbox" name="data2" value="dataB"><br>
        <font face="Verdana" size="1" color="#FFFFFF">dataBib</font><input type="checkbox" name="data3" value="dataBib" checked><br>

<%
end if
%>

<!--webbot bot="HTMLMarkup" endspan -->
      </td>
  </center>
    </tr>
  <center>
    <tr>
      <td width="14%"><font face="Verdana" size="1" color="#FFFFFF">Initialer:</font></td>
      <td width="24%"><!--webbot bot="Validation" S-Display-Name="initialer"
        B-Value-Required="TRUE" I-Minimum-Length="2" I-Maximum-Length="5" --><input type="text" name="initialer" size="5" maxlength="5"></td>
  </center>
    </tr>
  <center>
    <tr>
      <td width="14%"><font face="Verdana" size="1" color="#FFFFFF">Klasse:</font></td>
      <td width="24%"><!--webbot bot="Validation" B-Value-Required="TRUE"
        I-Minimum-Length="2" I-Maximum-Length="5" --><input type="text" name="klasse" size="5" maxlength="5"></td>
  </center>
    </tr>
  <center>
    <tr>
      <td width="14%"><font color="#FFFFFF" face="Verdana" size="1">©2003
                Riishøj WebSoft</font></td>
      <td width="24%">&nbsp;</td>
  </center>
    </tr>
  </table>
</div>

  <p align="center"><input type="submit" value="Send" name="B1"><input type="reset" value="Nulstil" name="B2"></p>

</form>
<br>
<%
Response.Write"<p align=center><font face=verdana size=2><A HREF='datalokalet.asp?uge=" & uge & "&reservation=" & reservation & "'>Tilbage til skemaet</A></font></p>"
%>
</body>
</html>
Avatar billede riishoj Nybegynder
22. maj 2003 - 23:49 #25
-master-d->>Er du med endnu? Bliver snart nødt til at stoppe for i dag. Gider du lige skrive, om du har givet op eller om vi kan fortsætte i morgen?
Avatar billede -master-d- Nybegynder
23. maj 2003 - 20:29 #26
Jeg har ikke opgivet, men kan ikke helt se fejlen.
Avatar billede riishoj Nybegynder
23. maj 2003 - 20:39 #27
Måske kan dette hjælpe. Scriptet virkede, da jeg kun havde checkboxe til indsættelse af lektionerne. Resten blev indsat via textboxe. Jeg har så forsøgt at bruge checkboxe til indsættelse af reservationer (dataA, dataB og dataBib), så man udover at kunne reservere flere lektioner også kan foretage forskellige reservationer på en gang. Det er så her det går galt, og det vi har arbejdet med indtil nu, er netop en del af det nye jeg har forsøgt mig med. Håber du forstår den lidt knudrede forklaring. Hvis det kan hjælpe, kan jeg vise dig scriptet, som det så ud før da det virkede.
Avatar billede -master-d- Nybegynder
23. maj 2003 - 20:48 #28
Det ville jeg da utrolig gerne se.
Bare for at se hvad forskelle der er blevet lavet.
Avatar billede -master-d- Nybegynder
23. maj 2003 - 20:51 #29
Prøv lige med denne her.

var = 0
for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
  box2 = Request.form("data" & d)
    if box2 = CStr(d) then
      if d = 1 then
        session("data" & d) = "dataA"
      elseif d = 2 then
        session("data" & d) = "dataB"
      elseif d = 3 then
        session("data" & d) = "dataBib"
      end if
    session("antal") = var+1
    var = var+1
    end if
next

Bare for at se om det gør en forskel.
Avatar billede riishoj Nybegynder
23. maj 2003 - 21:04 #30
Der sker det samme, nemlig

Microsoft OLE DB Provider for ODBC Drivers fejl '80004005'
[Microsoft][ODBC Microsoft Access-driver] Feltet "ebberup_reserver.reservation" kan ikke indeholde en streng af længden nul.

/ebberupskole_reservation/datalokalet/indsaet_reservation.asp, linje 143

Finder lige det andet script, det varer lidt tid, da det ligger på en anden pc.
Avatar billede -master-d- Nybegynder
23. maj 2003 - 21:13 #31
Det er bare sjovt da det ene loop virker og de er stort set identiske...
Avatar billede -master-d- Nybegynder
23. maj 2003 - 21:16 #32
Har vist fundet fejlen. Prøv dette istedet.

var = 0
for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("data" & d)
    if box = "dataA" OR box = "dataB" OR box = "dataBib" then
      if d = 1 then
        session("data" & d) = "dataA"
      elseif d = 2 then
        session("data" & d) = "dataB"
      elseif d = 3 then
        session("data" & d) = "dataBib"   
      end if
    session("antal") = var+1
    var = var+1
    end if
next
Avatar billede riishoj Nybegynder
23. maj 2003 - 21:20 #33
Her kommer det gamle script som virkede

<%
     
'***Loop der giver session efter checkbox'se og ser hvormange der er valgt
session("box1") = ""
session("box2") = ""
session("box3") = ""
session("box4") = ""
session("box5") = ""
session("box6") = ""
session("box7") = ""

var = 0
for i = 1 to 7 '7 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("box" & i)
    if box = CStr(i) then
      if i = 1 then
        session("box" & i) = "1"
      elseif i = 2 then
        session("box" & i) = "2"
      elseif i = 3 then
        session("box" & i) = "3"
      elseif i = 4 then
        session("box" & i) = "4"
      elseif i = 5 then
        session("box" & i) = "5"
      elseif i = 6 then
        session("box" & i) = "6"
      elseif i = 7 then
        session("box" & i) = "7"


      end if
    session("antal") = var+1
    var = var+1
    end if
next

antal = CInt(session("antal"))

    Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath ("/ebberupskole_reservation/data.mdb")
    Conn.Open DSN

for j = 1 to 7

  strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & request.form("reservation") & "';"
Set rs = Conn.Execute(strSQL)

  If (Rs.BOF Or Rs.EOF) Then
if session("box" & j) <> "" then
    Set rs = Server.CreateObject("ADODB.recordset")
    strSQL = "Select * From ebberup_reserver " 
    rs.Open strSQL, Conn, 1, 3
      rs.AddNew
          rs("aar") = Request.Form("aar")
          rs("uge") = Request.Form("uge")
          rs("dag") = Request.Form("dag")
          rs("lektion") = session("box" & j)
          rs("initialer") = Request.Form("initialer")
          rs("klasse") = Request.Form("klasse")
          rs("reservation") = Request.Form("reservation")
      rs.update
  end if
Else
  if session("box" & j) <> "" then
    session("fejl" & j) = "true"
  end if
End If
next

' Luk databaseforbindelse HUSK at gøre dette inden du redirecter :-)
Conn.Close
Set Conn = Nothing

if session("fejl1") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 1. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl2") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 2. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl3") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 3. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl4") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 4. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl5") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 5. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl6") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 6. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl7") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 7. Gå venligst tilbage og find en ny tid</td>"

else
  uge = request.form("uge")
  Response.Redirect ("billedkunst.asp?uge=" & uge & "&reservation=" & reservation & "")
end if

%>
Avatar billede riishoj Nybegynder
23. maj 2003 - 21:26 #34
Nej, desværre samme fejlmeddelelse. Altså den med "kan ikke indeholde en streng af længden nul"
Avatar billede -master-d- Nybegynder
23. maj 2003 - 21:26 #35
okay, det er jo egentlig nogenlunde det samme bare uden det loop som der volder os problemer.

Prøv lige det jeg skrev...
Avatar billede riishoj Nybegynder
23. maj 2003 - 21:33 #36
Har prøvet. Fejl "kan ikke indeholde en streng af længden nul"
Avatar billede -master-d- Nybegynder
23. maj 2003 - 21:37 #37
Prøver en gang til så.

var = 0
for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
    if Request.form("data" & d) <> "" then
      if d = 1 then
        session("data" & d) = "dataA"
      elseif d = 2 then
        session("data" & d) = "dataB"
      elseif d = 3 then
        session("data" & d) = "dataBib"   
      end if
    session("antal") = var+1
    var = var+1
    end if
next
Avatar billede riishoj Nybegynder
23. maj 2003 - 21:55 #38
Jeg tror der sker noget, men det er kun noget af det der virker.
Hvis jeg vælger alle 3 reservationer i 7 lektioner, så virker det, men vælger jeg 1 eller 2 reservationer i 7 lektioner, bliver kun 1 lektion indsat. Desuden fremkommer fejlmeddelelsen med længden nul, men bruger jeg tilbagepilen så jeg kommer til skemaet, så kan der godt være noget indsat
Avatar billede riishoj Nybegynder
23. maj 2003 - 21:59 #39
Jeg tror at jeg har indkredset fejlen. Det virker hvis alle 3 checkboxe i reservation vælges uanset hvor mange lektioner der vælges. Vælges kun 1 eller 2 checkboxe i reservation, så virker det ikke.
Avatar billede riishoj Nybegynder
23. maj 2003 - 22:33 #40
Er du der endnu?
Avatar billede -master-d- Nybegynder
23. maj 2003 - 23:02 #41
ja jeg er her...
Avatar billede riishoj Nybegynder
24. maj 2003 - 10:46 #42
Jeg (vi) skal simpelthen have det her til at virke. Et godt tilbud... 200 point, hvis du løser mit problem. Når det virker når alle checkboxene markeres, så må det også kunne komme til at virke, når kun nogle af dem markeres!!!
Avatar billede -master-d- Nybegynder
24. maj 2003 - 11:39 #43
Har vist løst det nu.

laver lige hele koden til dig.
Avatar billede -master-d- Nybegynder
24. maj 2003 - 11:41 #44
Den kommer her :

<%
     
'***Loop der giver session efter checkboxe og ser hvor mange der er valgt
session("box1") = ""
session("box2") = ""
session("box3") = ""
session("box4") = ""
session("box5") = ""
session("box6") = ""
session("box7") = ""

var = 0
for i = 1 to 7 '7 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("box" & i)
    if box = CStr(i) then
      if i = 1 then
        session("box" & i) = "1"
      elseif i = 2 then
        session("box" & i) = "2"
      elseif i = 3 then
        session("box" & i) = "3"
      elseif i = 4 then
        session("box" & i) = "4"
      elseif i = 5 then
        session("box" & i) = "5"
      elseif i = 6 then
        session("box" & i) = "6"
      elseif i = 7 then
        session("box" & i) = "7"


      end if
    session("antal") = var+1
    var = var+1
    end if
next

antal = CInt(session("antal"))

'***Loop der giver session efter checkbox'se og ser hvormange der er valgt
session("data1") = ""
session("data2") = ""
session("data3") = ""
var = 1
for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
    if Request.form("data" & d) <> "" then
      if d = 1 then
        session("data" & d) = "dataA"
      elseif d = 2 then
        session("data" & d) = "dataB"
      elseif d = 3 then
        session("data" & d) = "dataBib"   
      end if
    session("antal2") = var+1
    var = var+1
    end if
next

antal = CInt(session("antal"))



    Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath ("/xxx/data.mdb")
    Conn.Open DSN

for j = 1 to 7

for e = 1 to CInt(session("antal2"))-1

  strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & request.form("reservation") & "';"
Set rs = Conn.Execute(strSQL)

  If (Rs.BOF Or Rs.EOF) Then
if session("box" & j) <> "" then
    Set rs = Server.CreateObject("ADODB.recordset")
    strSQL = "Select * From ebberup_reserver " 
    rs.Open strSQL, Conn, 1, 3
      rs.AddNew
          rs("aar") = Request.Form("aar")
          rs("uge") = Request.Form("uge")
          rs("dag") = Request.Form("dag")
          rs("lektion") = session("box" & j)
          rs("initialer") = Request.Form("initialer")
          rs("klasse") = Request.Form("klasse")
          rs("reservation") = session("data" & e)
      rs.update
  end if
Else
  if session("box" & j) <> "" then
    session("fejl" & j) = "true"
  end if
End If
next
next
' Luk databaseforbindelse HUSK at gøre dette inden du redirecter :-)
Conn.Close
Set Conn = Nothing

if session("fejl1") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 1. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl2") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 2. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl3") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 3. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl4") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 4. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl5") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 5. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl6") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 6. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl7") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 7. Gå venligst tilbage og find en ny tid</td>"

else
  uge = request.form("uge")
  Response.Redirect ("datalokalet.asp?uge=" & uge & "&reservation=" & reservation & "")
end if

%>
Avatar billede riishoj Nybegynder
24. maj 2003 - 12:22 #45
Jeg tror, at d er tæt på en løsning. Kan nu indsætte dataA i alle 7 lektioner, og dataA og dataB i alle 7 lektioner, og dataA og dataB og dataBib i alle 7 lektioner. Men ikke f.eks. dataB og DataBib i 7 lektioner, og dataA og dataBib i 7 lektioner. Desuden er det kun dataA, som kan indsættes alene i 7 lektioner, ikke dataB og DataBib. Håber du forstår, det er lidt kompliceret, da der er så mange kombinationsmuligheder.
Avatar billede -master-d- Nybegynder
24. maj 2003 - 12:29 #46
Prøv at udskifte dette

for j = 1 to 7

for e = 1 to CInt(session("antal2"))-1

  strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & request.form("reservation") & "';"
Set rs = Conn.Execute(strSQL)

  If (Rs.BOF Or Rs.EOF) Then
if session("box" & j) <> "" then
    Set rs = Server.CreateObject("ADODB.recordset")
    strSQL = "Select * From ebberup_reserver " 
    rs.Open strSQL, Conn, 1, 3
      rs.AddNew
          rs("aar") = Request.Form("aar")
          rs("uge") = Request.Form("uge")
          rs("dag") = Request.Form("dag")
          rs("lektion") = session("box" & j)
          rs("initialer") = Request.Form("initialer")
          rs("klasse") = Request.Form("klasse")
          rs("reservation") = session("data" & e)
      rs.update
  end if
Else
  if session("box" & j) <> "" then
    session("fejl" & j) = "true"
  end if
End If
next
next

Med

for j = 1 to 7

for e = 1 to CInt(session("antal2"))-1

  strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & request.form("reservation") & "';"
Set rs = Conn.Execute(strSQL)
If (Rs.BOF Or Rs.EOF) Then
  if session("data" & e) <> "" Then
if session("box" & j) <> "" then
    Set rs = Server.CreateObject("ADODB.recordset")
    strSQL = "Select * From ebberup_reserver " 
    rs.Open strSQL, Conn, 1, 3
      rs.AddNew
          rs("aar") = Request.Form("aar")
          rs("uge") = Request.Form("uge")
          rs("dag") = Request.Form("dag")
          rs("lektion") = session("box" & j)
          rs("initialer") = Request.Form("initialer")
          rs("klasse") = Request.Form("klasse")
          rs("reservation") = session("data" & e)
      rs.update
  end if
  end if
Else
  if session("box" & j) <> "" then
    session("fejl" & j) = "true"
  end if
End If
next
next

Så skulle den gerne være der.
Avatar billede -master-d- Nybegynder
24. maj 2003 - 12:30 #47
Lille fejl.

udskift også

for e = 1 to CInt(session("antal2"))-1

med

for e = 1 to 3
Avatar billede riishoj Nybegynder
24. maj 2003 - 12:54 #48
Det blev det faktisk kun værre af. Nu virker det kun hvis alle 3 checkboxe i "reservation" vælges.
Avatar billede -master-d- Nybegynder
24. maj 2003 - 13:13 #49
Er du sikker har lige testet det uden database på min egen maskine og her virker det fint.
Avatar billede -master-d- Nybegynder
24. maj 2003 - 13:16 #50
Kan du ikke lige prøve med den her kode så.

<%
     
'***Loop der giver session efter checkboxe og ser hvor mange der er valgt
session("box1") = ""
session("box2") = ""
session("box3") = ""
session("box4") = ""
session("box5") = ""
session("box6") = ""
session("box7") = ""

var = 0
for i = 1 to 7 '7 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("box" & i)
    if box = CStr(i) then
      if i = 1 then
        session("box" & i) = "1"
      elseif i = 2 then
        session("box" & i) = "2"
      elseif i = 3 then
        session("box" & i) = "3"
      elseif i = 4 then
        session("box" & i) = "4"
      elseif i = 5 then
        session("box" & i) = "5"
      elseif i = 6 then
        session("box" & i) = "6"
      elseif i = 7 then
        session("box" & i) = "7"


      end if
    session("antal") = var+1
    var = var+1
    end if
next

antal = CInt(session("antal"))

'***Loop der giver session efter checkbox'se og ser hvormange der er valgt
session("data1") = ""
session("data2") = ""
session("data3") = ""

var = 1
for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
    if Request.form("data" & d) <> "" then
      if d = 1 then
        session("data" & d) = "dataA"
      elseif d = 2 then
        session("data" & d) = "dataB"
      elseif d = 3 then
        session("data" & d) = "dataBib"   
      end if
    session("antal2") = var+1
    var = var+1
    end if
next


antal = CInt(session("antal"))

for j = 1 to 7
for e = 1 to 3
if session("data" & e) <> "" then
if session("box" & j) <> "" then

strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & request.form("reservation") & "';"
Set rs = Conn.Execute(strSQL)
    If (Rs.BOF Or Rs.EOF) Then
      Set rs = Server.CreateObject("ADODB.recordset")
    strSQL = "Select * From ebberup_reserver " 
    rs.Open strSQL, Conn, 1, 3
      rs.AddNew
          rs("aar") = Request.Form("aar")
          rs("uge") = Request.Form("uge")
          rs("dag") = Request.Form("dag")
          rs("lektion") = session("box" & j)
          rs("initialer") = Request.Form("initialer")
          rs("klasse") = Request.Form("klasse")
          rs("reservation") = session("data" & e)
      rs.update
    Else
          if session("box" & j) <> "" then
            session("fejl" & j) = "true"
          end if
    End If
end if
end if

next
next
' Luk databaseforbindelse HUSK at gøre dette inden du redirecter :-)
Conn.Close
Set Conn = Nothing

if session("fejl1") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 1. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl2") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 2. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl3") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 3. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl4") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 4. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl5") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 5. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl6") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 6. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl7") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 7. Gå venligst tilbage og find en ny tid</td>"

else
  uge = request.form("uge")
  Response.Redirect ("datalokalet.asp?uge=" & uge & "&reservation=" & reservation & "")
end if
%>
Avatar billede riishoj Nybegynder
24. maj 2003 - 13:48 #51
Øh, hvor er min db connection blevet af?
Avatar billede -master-d- Nybegynder
24. maj 2003 - 13:49 #52
Ups lille copy paste fejl, kan du ikke lige sætte den ind igen. :P
Avatar billede riishoj Nybegynder
24. maj 2003 - 17:10 #53
Sorry, jeg har været væk! Nu virker det :) Desværre med den undtagelse, at jeg nu ikke får en besked, når man forsøger at reservere en lektion, der er optaget i forvejen, men det må vel også kunne komme til at fungere igen
Avatar billede -master-d- Nybegynder
24. maj 2003 - 17:37 #54
Nå okay, så prøver vi på at få det op og køre...
Avatar billede riishoj Nybegynder
25. maj 2003 - 17:42 #55
Jeg kan altså ikke finde ud af hvorfor man ikke får besked, når en lektion er optaget. Du må på banen igen, og du skal jo også have dine point :-)
Avatar billede -master-d- Nybegynder
25. maj 2003 - 18:27 #56
Ja jeg ved det godt, men jeg kan ikke se den fejl, der gør at man ikke får fejlene printet ud.
Avatar billede riishoj Nybegynder
25. maj 2003 - 21:33 #57
Okay, jeg må nok oprette et nyt spm, men du skal selvfølgelig have de 200 point jeg har lovet dig. Send et svar, så får du de 60 p. og jeg opretter et spm til dig med resten. Tak for hjælpen, du har kæmpet bravt og jeg er glad for at du fik det til at virke.
Avatar billede -master-d- Nybegynder
25. maj 2003 - 22:20 #58
Jeg lægger et svar her så. Prøver lige en sidste gang på min egen comp. Det var ikke muligt du kunne sende mig en database(behøver ikke være med data i) hvor strukturen er den samme som den vi knokler med her.

du kan sende den på delle22@hotmail.com
Avatar billede -master-d- Nybegynder
25. maj 2003 - 22:23 #59
Kan du ikke lige teste dette

udskift
          Else
          if session("box" & j) <> "" then
            session("fejl" & j) = "true"
          end if
          End If
med
          Else
          session("fejl" & j) = "true"
          End If
Avatar billede riishoj Nybegynder
25. maj 2003 - 22:37 #60
Nej, duer ikke! Sender lige db'en
Avatar billede -master-d- Nybegynder
25. maj 2003 - 23:03 #61
okay så..
Avatar billede -master-d- Nybegynder
25. maj 2003 - 23:11 #62
Har du sendt den ?
Avatar billede riishoj Nybegynder
25. maj 2003 - 23:22 #63
Ja, har du ikke fået den?
Avatar billede -master-d- Nybegynder
25. maj 2003 - 23:25 #64
nope ikke endnu.
Avatar billede -master-d- Nybegynder
25. maj 2003 - 23:27 #65
Men jeg smutter også i seng nu. Så jeg kigger på det imorgen.
Avatar billede riishoj Nybegynder
25. maj 2003 - 23:28 #66
Så prøver jeg igen. Du kan godt vente til i morgen med at kigge på den. Jeg når ikke mere i aften. Sender db'en nu
Avatar billede -master-d- Nybegynder
26. maj 2003 - 12:50 #67
nu har jeg fået db'en.
Avatar billede riishoj Nybegynder
26. maj 2003 - 13:12 #68
Der mangler en tabel i db'en, så jeg sender lige igen
Avatar billede -master-d- Nybegynder
26. maj 2003 - 13:14 #69
okay.
Avatar billede -master-d- Nybegynder
26. maj 2003 - 13:24 #70
Så er problemet løst din side skal se sådan her ud.

<%
     
'***Loop der giver session efter checkboxe og ser hvor mange der er valgt
session("box1") = ""
session("box2") = ""
session("box3") = ""
session("box4") = ""
session("box5") = ""
session("box6") = ""
session("box7") = ""

var = 0
for i = 1 to 7 '7 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("box" & i)
    if box = CStr(i) then
      if i = 1 then
        session("box" & i) = "1"
      elseif i = 2 then
        session("box" & i) = "2"
      elseif i = 3 then
        session("box" & i) = "3"
      elseif i = 4 then
        session("box" & i) = "4"
      elseif i = 5 then
        session("box" & i) = "5"
      elseif i = 6 then
        session("box" & i) = "6"
      elseif i = 7 then
        session("box" & i) = "7"


      end if
    session("antal") = var+1
    var = var+1
    end if
next

antal = CInt(session("antal"))

'***Loop der giver session efter checkbox'se og ser hvormange der er valgt
session("data1") = ""
session("data2") = ""
session("data3") = ""

var = 1
for d = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
    if Request.form("data" & d) <> "" then
      if d = 1 then
        session("data" & d) = "dataA"
      elseif d = 2 then
        session("data" & d) = "dataB"
      elseif d = 3 then
        session("data" & d) = "dataBib"   
      end if
    session("antal2") = var+1
    var = var+1
    end if
next


antal = CInt(session("antal"))

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("data.mdb")
Conn.Open DSN


for j = 1 to 7
if session("box" & j) <> "" then

for e = 1 to 3
if session("data" & e) <> "" then

strSQL = "SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '" & request.form("aar") & "' AND uge = '" & request.form("uge") & "' AND dag = '" & request.form("dag") & "' AND lektion = '" & session("box" & j) & "' AND reservation = '" & session("data" & e) & "';"
Set rs = Conn.Execute(strSQL)

  If (Rs.BOF Or Rs.EOF) Then
      Set rs = Server.CreateObject("ADODB.recordset")
    strSQL = "Select * From ebberup_reserver " 
    rs.Open strSQL, Conn, 1, 3
      rs.AddNew
          rs("aar") = Request.Form("aar")
          rs("uge") = Request.Form("uge")
          rs("dag") = Request.Form("dag")
          rs("lektion") = session("box" & j)
          rs("initialer") = Request.Form("initialer")
          rs("klasse") = Request.Form("klasse")
          rs("reservation") = session("data" & e)
      rs.update
    Else
            session("fejl" & j) = "true"
    End If

end if
next
end if
next
' Luk databaseforbindelse HUSK at gøre dette inden du redirecter :-)
Conn.Close
Set Conn = Nothing

if session("fejl1") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 1. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl2") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 2. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl3") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 3. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl4") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 4. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl5") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 5. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl6") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 6. Gå venligst tilbage og find en ny tid</td>"
elseif session("fejl7") <> "" then
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt for LEKTION 7. Gå venligst tilbage og find en ny tid</td>"
else
Response.Write "Din reservation er nu reserveret"
end if
%>
Avatar billede riishoj Nybegynder
26. maj 2003 - 14:15 #71
Så funger der ganske rigtigt. Tusind mange tak for din hjælp. Jeg opretter et spørgsmål med de resterende 140p til dig :)
venlig hilsen riishoj
Avatar billede -master-d- Nybegynder
26. maj 2003 - 14:37 #72
jeg har svaret på det andet spørgsmål, det var så lidt. Problemet var den sidste variabel i din strSQL.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester