Avatar billede riishoj Nybegynder
11. maj 2003 - 23:02 Der er 101 kommentarer og
1 løsning

Indsætte flere poster i database samtidig

En der en som kan forklare mig, hvordan man kan indsætte flere poster samtidig i en db ved hjælp af checkboxe?
Avatar billede -master-d- Nybegynder
11. maj 2003 - 23:05 #1
Lav et loop..

For EACH ITEM IN Request.Form
  Conn.Execute("Insert Into tabel(felt) values('værdi')")
Next
Avatar billede riishoj Nybegynder
11. maj 2003 - 23:10 #2
Det prøver jeg lige at bikse lidt med.
Avatar billede riishoj Nybegynder
11. maj 2003 - 23:34 #3
Øh, det kan jeg ikke umiddelbart få til at virke. Jeg har det her script, som indsætter forskellige ting i db'en. Hvordan får jeg Request.Formen("lektion") erstattet med checkboxe, så jeg kan vælge flere forskellige lektioner på en gang?

<%
Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath ("/xxx/data.mdb")
    Conn.Open DSN
   
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 = '" & request.form("lektion") & "' AND reservation = '" & request.form("reservation") & "';"
Set rs = Conn.Execute(strSQL)

If (Rs.BOF Or Rs.EOF) Then


' SQL sætning opbygges
strSQL = "Insert into ebberup_reserver (aar,uge,dag,lektion,initialer,klasse,reservation) values('" & Request.Form("aar") & "','" & Request.Form("uge") & "','" & Request.Form("dag") & "','" & Request.Form("lektion") & "','" & Request.Form("initialer") & "','" & Request.Form("klasse") & "','" & Request.Form("reservation") & "')"
Conn.Execute(strSQL)
Response.Redirect ("biologi.asp?uge=" & uge & "&reservation=" & reservation & "")


Else
Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt. Gå venligst tilbage og find en ny tid</td>"
End If
' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
Avatar billede -master-d- Nybegynder
12. maj 2003 - 14:49 #4
Min vil også kun virke hvis forumlaren ikke har andet end ceckboksene.
Og det er der jo ikke, så vi må prøve noget andet..
Avatar billede riishoj Nybegynder
12. maj 2003 - 16:52 #5
Har du et forslag? Som du kan se på scriptet, er det en del af et reservationssystem, hvor en del data puttes i en db. Jeg vil gerne have mulighed for at markere op til 7 lektioner på en gang, så man slipper for at reservere 7 gange, hvis man vil reservere noget en hel skoledag.
Avatar billede riishoj Nybegynder
12. maj 2003 - 20:15 #6
Hva', er der virkelig ingen eksperter, som kan hjælpe mig???
Avatar billede kimlarsen1978 Nybegynder
12. maj 2003 - 23:07 #7
Jeg tror godt jeg kan hjælpe dig gik mig lige 10 minutter
Avatar billede kimlarsen1978 Nybegynder
12. maj 2003 - 23:32 #8
Først giver dine boxse navne med numre fx
----------------
<input type="checkbox" name="box1" value="1">
<input type="checkbox" name="box2" value="2">
<input type="checkbox" name="box3" value="3">
----------------
På den side hvor du lægger i db kan du så gøre sådan her:
----------------
'***Loop der giver session efter checkbox'se og ser hvormange der er valgt
var = 0
for i = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("box" & i)
    if box = i then
      session("box" & i) = Request.form("box" & i)
          session("antal") = var+1
          var = var+1
    end if
next
----------------
Så kan du lægge x antal poster i db på denne måde:
----------------
    Set rs = Server.CreateObject("ADODB.recordset")
    strSQL = "Select * From ebberup_reserver " 
    rs.Open strSQL, Conn, 1, 3
   
    antal = CInt(session("antal"))
    dim i
   
    for i = 1 to antal
      rs.AddNew
          rs("aar") = Request.Form("aar")
          rs("uge") = Request.Form("uge")
          rs("dag") = Request.Form("dag")
          rs("lektion") = session("box" & i)
          rs("initialer") = Request.Form("initialer")
          rs("klasse") = Request.Form("klasse")
      rs("reservation") = Request.Form("reservation")
        rs.update
    next
-----------------
Kan du se ideén?
Avatar billede kimlarsen1978 Nybegynder
12. maj 2003 - 23:34 #9
Forresten er dine lektioner angiver som tal eller tekst?
Avatar billede kimlarsen1978 Nybegynder
12. maj 2003 - 23:35 #10
I mit eksempel:
Hvis box nummer 1 og 3 er "check" så lægger den 2 poster i db'en en hvor lektion har værdien 1 og en hvor den har værdien 3
Avatar billede riishoj Nybegynder
12. maj 2003 - 23:41 #11
Ja, det tror jeg nok. Bliver nødt til at vente til i morgen med at prøve det. Hvis du gider at kigge forbi spørgsmålet i morgen aften, så håber jeg at jeg har fundet ud af det. Meeeeeeeen man ved jo aldrig. Er desværre ikke så skrap til asp.
Avatar billede kimlarsen1978 Nybegynder
12. maj 2003 - 23:44 #12
Jeg har E-Mail vagt så jeg tjekker løbende :-)
Avatar billede riishoj Nybegynder
12. maj 2003 - 23:44 #13
Lektioner er angivet som tekst. Det du skriver er tilsyneladende lige det jeg har brug for!!
Avatar billede riishoj Nybegynder
12. maj 2003 - 23:45 #14
Godnat. Tak for hjælpen so far :)
Avatar billede kimlarsen1978 Nybegynder
12. maj 2003 - 23:54 #15
Det at du bruger tekst kan måske give nogle problemer, men prøv det her. Så skal du bytte dette ud:
------------
'***Loop der giver session efter checkbox'se og ser hvormange der er valgt
var = 0
for i = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("box" & i)
    if box = i then
      if i = 1 then
        session("box" & i) = NAVNET PÅ LEKTION 1
      elseif i = 2 then
        session("box" & i) = NAVNET PÅ LEKTION 2
      elseif i = 3 then
        session("box" & i) = NAVNET PÅ LEKTION 3
      end if
    session("antal") = var+1
    var = var+1
    end if
next
------------
Avatar billede riishoj Nybegynder
13. maj 2003 - 22:18 #16
Jeg ved ikke hvordan jeg skal implementere dit script i mit oprindlige indsætningsscript. Jeg har lagt loopet ind, men resten kan jeg ikke gennemskue. det ser nu sådan ud

<%
     
     
      '***Loop der giver session efter checkbox'se og ser hvormange der er valgt
var = 0
for i = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("box" & i)
    if box = i then
      if i = 1 then
        session("box" & i) = NAVNET PÅ LEKTION 1
      elseif i = 2 then
        session("box" & i) = NAVNET PÅ LEKTION 2
      elseif i = 3 then
        session("box" & i) = NAVNET PÅ LEKTION 3
      end if
    session("antal") = var+1
    var = var+1
    end if

Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath ("/ebberupskole_reservation/data.mdb")
    Conn.Open DSN
   
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 = '" & request.form("lektion") & "' AND reservation = '" & request.form("reservation") & "';"
Set rs = Conn.Execute(strSQL)

If (Rs.BOF Or Rs.EOF) Then


' SQL sætning opbygges
strSQL = "Insert into ebberup_reserver (aar,uge,dag,lektion,initialer,klasse,reservation) values('" & Request.Form("aar") & "','" & Request.Form("uge") & "','" & Request.Form("dag") & "','" & Request.Form("lektion") & "','" & Request.Form("initialer") & "','" & Request.Form("klasse") & "','" & Request.Form("reservation") & "')"
Conn.Execute(strSQL)
uge = request.form("uge")
Response.Redirect ("biologi.asp?uge=" & uge & "&reservation=" & reservation & "")


Else
Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt. Gå venligst tilbage og find en ny tid</td>"
End If
' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
Avatar billede kimlarsen1978 Nybegynder
13. maj 2003 - 22:59 #17
Prøv det her:
Har du rettet navne på dine checkbox'se?
-------------
<%
     
     
      '***Loop der giver session efter checkbox'se og ser hvormange der er valgt
var = 0
for i = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("box" & i)
    if box = i then
      if i = 1 then
        session("box" & i) = "NAVNET PÅ LEKTION 1"
      elseif i = 2 then
        session("box" & i) = "NAVNET PÅ LEKTION 2"
      elseif i = 3 then
        session("box" & i) = "NAVNET PÅ LEKTION 3"
      end if
    session("antal") = var+1
    var = var+1
    end if

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

  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 = '" & request.form("lektion") & "' 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
   
    antal = CInt(session("antal"))
    dim i
   
    for i = 1 to antal
      rs.AddNew
          rs("aar") = Request.Form("aar")
          rs("uge") = Request.Form("uge")
          rs("dag") = Request.Form("dag")
          rs("lektion") = session("box" & i)
          rs("initialer") = Request.Form("initialer")
          rs("klasse") = Request.Form("klasse")
      rs("reservation") = Request.Form("reservation")
        rs.update
    next

  uge = request.form("uge")
  Response.Redirect ("biologi.asp?uge=" & uge & "&reservation=" & reservation & "")
Else
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt. Gå venligst tilbage og find en ny tid</td>"
End If

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
Avatar billede riishoj Nybegynder
13. maj 2003 - 23:12 #18
Ja, jeg har rettet navne på checkboxene. ¨Får følgende fejl:

Der opstod en Microsoft VBScript-kompileringsfejl fejl '800a0410'

Ugyldig 'for'-løkkekontrolvariabel

/ebberupskole_reservation/biologi/indsaet_reservation.asp, linje 77

for i = 1 to antal
------^
Avatar billede riishoj Nybegynder
13. maj 2003 - 23:17 #19
Jeg går ud fra, at boxene skal hedde box1, box2 og box3, når jeg har en form med 3 boxe.
Avatar billede kimlarsen1978 Nybegynder
13. maj 2003 - 23:21 #20
slet det  "dim i" der står lige ovenover
Avatar billede kimlarsen1978 Nybegynder
13. maj 2003 - 23:23 #21
For at eksemplet virker skal dine check bokse så sådan her ud.
---------
<input type="checkbox" name="box1" value="1">
<input type="checkbox" name="box2" value="2">
<input type="checkbox" name="box3" value="3">
Avatar billede riishoj Nybegynder
13. maj 2003 - 23:27 #22
Det ændrer ikke noget at slette "dim i". Mine checkboxe ser ud som du skriver.
Avatar billede kimlarsen1978 Nybegynder
13. maj 2003 - 23:29 #23
hmm...
Hvormange boxse har du krydset af når du får fejlen?
Avatar billede riishoj Nybegynder
13. maj 2003 - 23:31 #24
Har kun prøvet med 1. Prøver lige med 2 og 3.
Avatar billede kimlarsen1978 Nybegynder
13. maj 2003 - 23:32 #25
Den kan være fordi vi bruger i også i den første løkke prøv at bytte forløkken ud med denne:
---------------
    for j = 1 to antal
      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
    next
Avatar billede riishoj Nybegynder
13. maj 2003 - 23:37 #26
Så skriver den

Der opstod en Microsoft VBScript-kompileringsfejl fejl '800a03fc'

'Next' var ventet

/ebberupskole_reservation/biologi/indsaet_reservation.asp, linje 96

men linje 96 er Set conn = nothing
Avatar billede kimlarsen1978 Nybegynder
13. maj 2003 - 23:40 #27
Nååå der mangler lige et NEXT i den førte forløkke - sorry byt den ud med det her:
---------------
for i = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("box" & i)
    if box = i then
      if i = 1 then
        session("box" & i) = "NAVNET PÅ LEKTION 1"
      elseif i = 2 then
        session("box" & i) = "NAVNET PÅ LEKTION 2"
      elseif i = 3 then
        session("box" & i) = "NAVNET PÅ LEKTION 3"
      end if
    session("antal") = var+1
    var = var+1
    end if
next
Avatar billede riishoj Nybegynder
13. maj 2003 - 23:49 #28
Øh, nu kommer der ingen fejlmeddelelse, scriptet gennemløbes og der redirectes til skemaet biologi.asp, men der bliver intet indsat i databasen!
Avatar billede kimlarsen1978 Nybegynder
13. maj 2003 - 23:53 #29
Okay...
Sæt lige det her ind og kør det hvad skriver den ud??
----------------
<%
     
'***Loop der giver session efter checkbox'se og ser hvormange der er valgt
var = 0
for i = 1 to 3 '3 er antallet af de boxse du har i mit eksempel 3
  box = Request.form("box" & i)
    if box = i then
      if i = 1 then
        session("box" & i) = "NAVNET PÅ LEKTION 1"
      elseif i = 2 then
        session("box" & i) = "NAVNET PÅ LEKTION 2"
      elseif i = 3 then
        session("box" & i) = "NAVNET PÅ LEKTION 3"
      end if
    session("antal") = var+1
    var = var+1
    end if
next

response.write "1: " & session("box1")
response.write "<br>"
response.write "2: " & session("box2")
response.write "<br>"
response.write "3: " & session("box3")
response.write "<br>"
response.write "Antal: " & session("antal")
response.write "<br>"


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

  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 = '" & request.form("lektion") & "' 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
   
    antal = CInt(session("antal"))
   
    for j = 1 to antal
      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
    next

  uge = request.form("uge")
  'Response.Redirect ("biologi.asp?uge=" & uge & "&reservation=" & reservation & "")
Else
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt. Gå venligst tilbage og find en ny tid</td>"
End If

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
Avatar billede kimlarsen1978 Nybegynder
13. maj 2003 - 23:54 #30
Prøv hvor du har krydset box 1 og 3 af
Avatar billede kimlarsen1978 Nybegynder
13. maj 2003 - 23:58 #31
Hvad bruger du dette til?:
-----------------
  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 = '" & request.form("lektion") & "' AND reservation = '" & request.form("reservation") & "';"
  Set rs = Conn.Execute(strSQL)
Avatar billede riishoj Nybegynder
13. maj 2003 - 23:58 #32
Det ser sådan ud

1:
2:
3:
Antal:
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 00:04 #33
Okay...
Hvormange boxse havde du krydset af?
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 00:07 #34
Okay...
Sæt lige det her ind og kør det hvad skriver den nu ud??
----------------
<%
     
'***Loop der giver session efter checkbox'se og ser hvormange der er valgt
var = 0
for i = 1 to 3 '3 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) = "NAVNET PÅ LEKTION 1"
      elseif i = 2 then
        session("box" & i) = "NAVNET PÅ LEKTION 2"
      elseif i = 3 then
        session("box" & i) = "NAVNET PÅ LEKTION 3"
      end if
    session("antal") = var+1
    var = var+1
    end if
next

response.write "1: " & session("box1")
response.write "<br>"
response.write "2: " & session("box2")
response.write "<br>"
response.write "3: " & session("box3")
response.write "<br>"
response.write "Antal: " & session("antal")
response.write "<br>"


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 antal

  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") = Request.Form("reservation")
      rs.update
next

  uge = request.form("uge")
  'Response.Redirect ("biologi.asp?uge=" & uge & "&reservation=" & reservation & "")
Else
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt. Gå venligst tilbage og find en ny tid</td>"
End If

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
Avatar billede riishoj Nybegynder
14. maj 2003 - 00:08 #35
1 og 3. Med hensyn til dit andet spørgsmål, så giver biologi.asp måske svaret. Det kommer her

<%Session.LCID = &H0407%>
<%
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
%>
<%
if Request("mode") = "change" then
Response.Redirect("biologi.asp?uge=" & Request("uge") & "&aar=2003")
end if
%>
<html>

<head>
<title>Biologi</title>
<LINK REL="StyleSheet"
HREF="../style.css"
TYPE="text/css">
<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Tom Khoury (twaks@yahoo.com) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function placeFocus() {
if (document.forms.length > 0) {
var field = document.forms[0];
for (i = 0; i < field.length; i++) {
if ((field.elements[i].type == "text") || (field.elements[i].type == "textarea") || (field.elements[i].type.toString().charAt(0) == "s")) {
document.forms[0].elements[i].focus();
break;
        }
      }
  }
}
//  End -->
</script>
</head>

<body background="../images/background7.gif" OnLoad="placeFocus()">

<p align="center"><br>
<table border="1" width="100%" cellspacing="0" cellpadding="0" bordercolor="#0000FF" bordercolorlight="#0000FF" bordercolordark="#FFFFFF">
  <tr>
    <td width="128%" colspan="6" bgcolor="#669999">
      <table border="0" width="100%">
        <tr>
          <td width="25%" valign="bottom"><b><font face="Verdana" color="#FFFFFF" size="4">Biologi</font></b></td>
          <%
          Function UgeTilDato(aar,uge,dag)
  januar1 = DateSerial(aar, 1, 1)
  ugedagjan1 = Weekday(januar1, vbMonday)
  if ugedagjan1 <= 4 then
      ' 1. januar er i uge 1
      mandaguge1 = DateAdd("d", -ugedagjan1+1, januar1)
  else
      ' 1. januar er i sidste uge foregående år
      mandaguge1 = DateAdd("d", 7-ugedagjan1+1, januar1)
  end if

  mandagugex = DateAdd("ww", uge-1, mandaguge1)
  xdagugex = DateAdd("d", dag-1, mandagugex)
  UgeTilDato = xdagugex
End Function         

         
If request.querystring("uge") <> "" Then
  uge = request.querystring("uge")
 
Else
  uge = DatePart("ww",date())
End if
  If request.querystring("aar") <> "" Then
  aar = request.querystring("aar")
Else

  aar = Year(Date)
End If

fuge = uge - 1
faar = aar
If fuge < 1 then
  fuge = 52
  faar = faar - 1
End If

Response.Write"<td width=20% align=left valign=bottom><font face=verdana size=3><A class='speciel' HREF='biologi.asp?uge=" & fuge & "&aar=" & faar & "'><--Forrige uge </A></font></td>"
%>

          <td width="20%" align="left"><font color=" #FFFFFF"><b><font face="Verdana" size="4">Uge</font><font face="Verdana" size="3">&nbsp</font></b>
            </font>
                       
            <%


If Request.Querystring("uge") <> "" Then
      uge = Request.Querystring("uge")
    Else
      uge = DatePart("ww",date())
    End If
   
    Response.Write "<font color=white face=verdana size=5>"
    Response.Write uge
    %>
</td>
<%

If request.querystring("uge") <> "" Then
  uge = request.querystring("uge")
Else
  uge = DatePart("ww",date())
End if
  If request.querystring("aar") <> "" Then
  aar = request.querystring("aar")
Else
aar = Year(Date)
End If

nuge = uge + 1
naar = aar
If nuge > 52 then
  nuge = 1
  naar = naar + 1
End If
Response.Write"<td width=35% align=left valign=bottom><font face=verdana size=3><A class='speciel' HREF='biologi.asp?uge=" & nuge & "&aar=" & naar & "'>Næste uge--></A></font></td>"
%>

        </tr>
     
      </table>
     
  <tr>
    <td width="8%" bgcolor="#669999">&nbsp;</td>
    <td width="18%" bgcolor="#669999">
      <p align="center"><font color="#FFFFFF" face="Verdana" size="2"><b>Mandag</b><br>
            <% Response.Write FormatDateTime(UgeTilDato(aar, uge, 1), vbShortDate) %></font></td>
    <td width="18%" bgcolor="#669999">
      <p align="center"><font color="#FFFFFF" face="Verdana" size="2"><b>Tirsdag</b><br>
            <% Response.Write FormatDateTime(UgeTilDato(aar, uge, 2), vbShortDate) %></font></td>
    <td width="19%" bgcolor="#669999">
      <p align="center"><font color="#FFFFFF" face="Verdana" size="2"><b>Onsdag</b><br>
              <% Response.Write FormatDateTime(UgeTilDato(aar, uge, 3), vbShortDate) %></font></td>
    <td width="19%" bgcolor="#669999">
      <p align="center"><font color="#FFFFFF" face="Verdana" size="2"><b>Torsdag</b><br>

              <% Response.Write FormatDateTime(UgeTilDato(aar, uge, 4), vbShortDate) %></font></td>
    <td width="19%" bgcolor="#669999">
      <p align="center"><font color="#FFFFFF" face="Verdana" size="2"><b>Fredag</b><br>

              <% Response.Write FormatDateTime(UgeTilDato(aar, uge, 5), vbShortDate) %></font></td>
 
 
  </tr>
<%
    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")
 

   
    dim SQLdag(7)
SQLdag(1) = "Mandag"
SQLdag(2) = "Tirsdag"
SQLdag(3) = "Onsdag"
SQLdag(4) = "Torsdag"
SQLdag(5) = "Fredag"
SQLdag(6) = "Lørdag"
SQLdag(7) = "Søndag"

dim linkdag(7)
linkdag(1) = "mandag"
linkdag(2) = "tirsdag"
linkdag(3) = "onsdag"
linkdag(4) = "torsdag"
linkdag(5) = "fredag"
linkdag(6) = "lørdag"
linkdag(7) = "søndag"


for lektion = 1 to 7

  Response.Write "<tr>"
    Response.Write "<td width=8% height=40 align=center bgcolor=#669999><font face=Verdana size=2 color=#FFFFFF>" & lektion & ". time</font></td>"


  for dag = 1 to 5
 
  strSQL = "SELECT dag,tekst,lektion FROM ebberup_blokering WHERE reservation='biologi' AND dag='" & SQLdag(dag) & "' AND lektion='" & lektion & "'"
set rs = Conn.Execute(strSQL)

if not (rs.EOF or rs.BOF) then
Response.write"<td border=1  bordercolor=#0000FF bordercolordark=#FFFFFF bordercolorlight=#0000F width=18% height=40 bgcolor=red><font face=Verdana size=1 color=#FFFFFF><p align=center>"&rs("tekst")&"</font></td>" 
 
Else
      'generer data og HTML kode for (dag,lektion)
      strSQL = "SELECT initialer,klasse FROM ebberup_reserver WHERE reservation='biologi' AND dag='" & SQLdag(dag) & "' AND lektion='" & lektion & "' AND uge='" & uge & "' AND aar='" & aar & "'"
set rs = Conn.Execute(strSQL)
if rs.EOF or rs.BOF then
Response.Write"<td width=18% height=40 bgcolor=#FFFFFF><font color=#FFFFFF><A HREF='reserver_form.asp?aar=" & aar & "&uge=" & uge & "&dag=" & linkdag(dag) & "&lektion=" & lektion & "&reservation=biologi'><img border=0 src='../images/greenball.gif' alt='Ledig'></font></td>"

  Else

    Response.Write"<td width=18% height=40 bgcolor=#FFFFFF><b><font color=#FFFFFF face='verdana' size='2'><img src='../images/redball.gif' alt='Optaget'><img src='../images/blank2.gif'><A HREF='vis_reservation.asp?reservation=biologi&lektion=" & lektion & "&dag=" & linkdag(dag) & "&uge=" & uge &"'>"&rs("initialer")&"</A></font></b></td>"

    rs.MoveNext
   
    End if
    End if
  next
  Response.Write "</tr>"
next
 

    Conn.Close
%>   
  </table>


  <form method="POST" action="biologi.asp" name="form1">
<p align="center"><font face="Verdana" size="2">Gå til uge</font> <input type="text" name="uge" size="3">
<input type="submit" value="Send" name="B1"></p>
<input type="hidden" name="mode" value="change">
</form>

 
<p align="center"><font face=verdana size=2><A class='speciel2' HREF='../index.htm'>Tilbage til forsiden</A></font></p>
</body>
</html>
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 00:10 #36
Nej jeg tror svaret ligger i at vi sammenligner tal og tekst kør lige det sidste jeg sendte
Avatar billede riishoj Nybegynder
14. maj 2003 - 00:14 #37
Så sker dette

Der opstod en Microsoft VBScript-kompileringsfejl fejl '800a041f'

Uventet 'Next'

/ebberupskole_reservation/biologi/indsaet_reservation.asp, linje 96

next
^
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 00:21 #38
Min fejl, prøv det her:
-------------
----------------
<%
     
'***Loop der giver session efter checkbox'se og ser hvormange der er valgt
var = 0
for i = 1 to 3 '3 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) = "NAVNET PÅ LEKTION 1"
      elseif i = 2 then
        session("box" & i) = "NAVNET PÅ LEKTION 2"
      elseif i = 3 then
        session("box" & i) = "NAVNET PÅ LEKTION 3"
      end if
    session("antal") = var+1
    var = var+1
    end if
next

response.write "1: " & session("box1")
response.write "<br>"
response.write "2: " & session("box2")
response.write "<br>"
response.write "3: " & session("box3")
response.write "<br>"
response.write "Antal: " & session("antal")
response.write "<br>"


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 antal

  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") = Request.Form("reservation")
      rs.update

  uge = request.form("uge")
  'Response.Redirect ("biologi.asp?uge=" & uge & "&reservation=" & reservation & "")
Else
  Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er desværre ikke ledigt. Gå venligst tilbage og find en ny tid</td>"
End If
next


' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
------------
Jeg har flyttet forløkke nummer 2 for ellers tager den ikke højde for hvis én af de afkrysede lektioner er optaget
Avatar billede riishoj Nybegynder
14. maj 2003 - 00:26 #39
Okay, så får jeg

1: NAVNET PÅ LEKTION 1
2:
3: NAVNET PÅ LEKTION 3
Antal: 2
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 00:28 #40
Fedt nok, så kør det her:
------------
<%
     
'***Loop der giver session efter checkbox'se og ser hvormange der er valgt
var = 0
for i = 1 to 3 '3 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) = "NAVNET PÅ LEKTION 1"
      elseif i = 2 then
        session("box" & i) = "NAVNET PÅ LEKTION 2"
      elseif i = 3 then
        session("box" & i) = "NAVNET PÅ LEKTION 3"
      end if
    session("antal") = var+1
    var = var+1
    end if
next

response.write "1: " & session("box1")
response.write "<br>"
response.write "2: " & session("box2")
response.write "<br>"
response.write "3: " & session("box3")
response.write "<br>"
response.write "Antal: " & session("antal")
response.write "<br>"


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 antal

  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") = Request.Form("reservation")
      rs.update
Else
  session("fejl" & j) = "true"
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>"
else
  uge = request.form("uge")
  Response.Redirect ("biologi.asp?uge=" & uge & "&reservation=" & reservation & "")
end if

%>
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 00:29 #41
Nej det her :-)
-------------
<%
     
'***Loop der giver session efter checkbox'se og ser hvormange der er valgt
var = 0
for i = 1 to 3 '3 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) = "NAVNET PÅ LEKTION 1"
      elseif i = 2 then
        session("box" & i) = "NAVNET PÅ LEKTION 2"
      elseif i = 3 then
        session("box" & i) = "NAVNET PÅ LEKTION 3"
      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 antal

  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") = Request.Form("reservation")
      rs.update
Else
  session("fejl" & j) = "true"
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>"
else
  uge = request.form("uge")
  Response.Redirect ("biologi.asp?uge=" & uge & "&reservation=" & reservation & "")
end if

%>
Avatar billede riishoj Nybegynder
14. maj 2003 - 00:34 #42
Øjeblik, nu tror jeg det kører
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 00:39 #43
Husk at nulstille de 3 fejl sessions:
-----------
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>"
  session("fejl1") = ""
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>"
  session("fejl2") = ""
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>"
  session("fejl3") = ""
else
  uge = request.form("uge")
  Response.Redirect ("biologi.asp?uge=" & uge & "&reservation=" & reservation & "")
end if
---------------
Avatar billede riishoj Nybegynder
14. maj 2003 - 00:47 #44
Bingo, så virker det. Tusind mange tak for dit store arbejde. Jeg har et spørgsmål til, som jeg gerne vil give dig ekstra point for, og du skal ikke svare på det i dag.
Insætningsformen kaldes fra skemaet biologi.asp, et alm. skoleskema, hvor man kan klikke på de forskellige lektioner. Kan det lade sig gøre, at f.eks. 1. lektion er "checked" når man kalder indsætningsformen via 1. lektion. Forstår du hvad jeg mener?

Men det er blevet sent,så jeg vil sige endnu engang tak og godnat. Gider du lige svare om du forstår spm.
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 00:50 #45
Jeg vil selvfølgelig gerne have flere points :-)
Men jeg er ikke helt med...
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 00:52 #46
Hvad mener du med at man kalder indsætningsformen via 1. lektion?
Avatar billede riishoj Nybegynder
14. maj 2003 - 00:53 #47
Er det ok hvis jeg prøver at formulere spm lidt bedre i morgen. Det kniber med at tænke klart i denne sene time? Jeg vil så lade spm. stå åbent, så vi kan forsætte her.
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 00:54 #48
Jo nu er jeg måske med...
Kan du ikke bare sende en variabel med også lade den bestemme hvilke boxet der er checked?
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 00:55 #49
Jep, vi fortsætter bare her, men jeg er her ikke efter klokken 18.00 i morgen... Men vi når det nok :-)
Avatar billede riishoj Nybegynder
14. maj 2003 - 00:57 #50
Jo, det er det jeg mener, men hvordan får jeg sat en variabel på checkboxene. Det jeg havde før var en alm. textbox med en variabel, men så var det jo at jeg kun kunne reservere èn lektion af gangen.
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 00:59 #51
Nu er jeg ikke med igen. Vil du ikke have at når man klikker ind på lektion 1 så er den checked, og at man så bare kan checke nogle flere hvis man vil?
Avatar billede riishoj Nybegynder
14. maj 2003 - 01:00 #52
Jeg skal arbejde længe i morgen, så det vil ikke være meget, jeg når inden kl. 18, men som du skriver, så når vi det jo nok.
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 01:01 #53
Har du siden liggede online så man kan se den - det kan være det vil gøre det nemmere?
Avatar billede riishoj Nybegynder
14. maj 2003 - 01:02 #54
Til din sidste kommentar: Jo lige nøjagtig
Avatar billede riishoj Nybegynder
14. maj 2003 - 01:06 #55
Til din sidste kommentar skulle have været din næstsidste kommentar.
Mht. til siden online, så ligger det lidt tung, da den er beskyttet med password, men jeg kan prøve at lave en lille demo, som jeg så kan smide op et sted.
Avatar billede riishoj Nybegynder
14. maj 2003 - 01:08 #56
Stopper nu, håber vi kan fortsætte :)
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 01:09 #57
Okay, men har jeg forstået dig ret så kan vi lave det med if then else sætninger
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 01:17 #58
Nu ved jeg ikke om jeg er her når du læser dette, men hvis jeg ikke er her kan du måske arbejde videre ud fra dette:
-------------
LINK på lektion1 laves til Insætningsformen.asp?lek=1
LINK på lektion2 laves til Insætningsformen.asp?lek=2
LINK på lektion3 laves til Insætningsformen.asp?lek=3
-------------
på Insætningsformen.asp kan du så gøre noget a'la det her:
-------------
<%
if request.querystring("lek") = "1" then
%>
<input type="checkbox" name="box1" value="1" checked>
<input type="checkbox" name="box2" value="2">
<input type="checkbox" name="box3" value="3">
<%
elseif request.querystring("lek") = "2" then
%>
<input type="checkbox" name="box1" value="1">
<input type="checkbox" name="box2" value="2" checked>
<input type="checkbox" name="box3" value="3">
<%
elseif request.querystring("lek") = "3" then
%>
<input type="checkbox" name="box1" value="1">
<input type="checkbox" name="box2" value="2">
<input type="checkbox" name="box3" value="3" checked>
<%
else
%>
<input type="checkbox" name="box1" value="1">
<input type="checkbox" name="box2" value="2">
<input type="checkbox" name="box3" value="3">
<%
end if
%>
------------
Nu ved jeg ikke om jeg har forstået det rigtig - kan du bruge ovenstående til noget?
Avatar billede riishoj Nybegynder
14. maj 2003 - 17:13 #59
Jeg opdagede desværre en fejl efter at vi var stoppet i går. Meningen med checkboxene er jo, at man skal kunne vælge hvilke(n) lektioner man  vil reservere. D.v.s. markeres checkbox1 og 3, så reserveres lektion 1 og 3 på skemaet, men sådan virker det ikke. Hvis man kun markerer èn checkbox, så reserveres lektion 1, ligegyldig om det er checkbox1, 2 eller 3 man vælger. På samme måde, hvis man vælger 2 checkboxe, så reserveres lektion 1 og 2, selv om box1 og box3 er valgt. Det går jo ikke, men det burde vel kunne løses.
Jeg er ved at strikke en længere forklaring sammen på systemets opbygning, men jeg ved ikke, om jeg når at blive færdig, før du smutter. Umiddelbart tror jeg ikke, at dit sidste forslag kan bruges.
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 17:28 #60
Sætter den så "NAVNET PÅ LEKTION 3" ind på lektions 2's plads?
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 17:30 #61
I denne SQL streng er alle felter i DB tekst?
Er der nogle der er tal? fx aar?
--------------
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)
Avatar billede riishoj Nybegynder
14. maj 2003 - 17:37 #62
Alle felterne i db'en er tekstfelter
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 17:38 #63
Prøv at bytte denne sætning:
-----------
for j = 1 to antal
-----------
ud med denne
-----------
for j = 1 to 3
-----------
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 17:44 #64
Hvis det virker så får du lidt problemer med de der fejl sessions sæt dette ind istedet for det gamle:
----------------
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") = Request.Form("reservation")
      rs.update
Else
  if session("box" & j) <> "" then
    session("fejl" & j) = "true"
  end if
End If
Avatar billede riishoj Nybegynder
14. maj 2003 - 17:48 #65
Prøv at bytte denne sætning:
-----------
for j = 1 to antal
-----------
ud med denne
-----------
for j = 1 to 3
-----------
Så indsætter den 3 poster uanset om 1, 2 eller 3 boxe markeres
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 17:50 #66
Så er det denne SQL streng der er ged i:
----------
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") & "';"
-------------
For det er jo den der bestemmer om den if-sætning overhoved bliver kørt
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 17:52 #67
Prøv med:
---------------
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)
response.write srtSQL
----------------
Hvad skriver den ud? HUSK at udkommenter den linier med redirect ellers kan vi ikke nå at se hvad den skriver ud
Avatar billede riishoj Nybegynder
14. maj 2003 - 17:57 #68
Den skriver ikke noget som helst!
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 17:58 #69
Ahh byt response.write srtSQL ud med:
----------
response.write strSQL
response.write "<BR>"
Avatar billede riishoj Nybegynder
14. maj 2003 - 18:00 #70
Ja, den nåede jeg lige at se

SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '2003' AND uge = '20' AND dag = 'mandag' AND lektion = '1' AND reservation = 'biologi';SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '2003' AND uge = '20' AND dag = 'mandag' AND lektion = '2' AND reservation = 'biologi';SELECT aar, uge, dag, lektion, reservation FROM ebberup_reserver WHERE aar = '2003' AND uge = '20' AND dag = 'mandag' AND lektion = '3' AND reservation = 'biologi'; Tidspunktet er desværre ikke ledigt for LEKTION 1. Gå venligst tilbage og find en ny tid
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 18:12 #71
og den sætte hvor mange poster i db'en?
Avatar billede riishoj Nybegynder
14. maj 2003 - 18:18 #72
Ja,  den sætter 3 poster i db'en selvom kun 1 box er valgt
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 18:25 #73
Hvad hedder dine lektioner i stedetfor NAVNET PÅ LEKTION 1:
-----------
        session("box" & i) = "NAVNET PÅ LEKTION 1"
      elseif i = 2 then
        session("box" & i) = "NAVNET PÅ LEKTION 2"
      elseif i = 3 then
        session("box" & i) = "NAVNET PÅ LEKTION 3"
--------------
Avatar billede riishoj Nybegynder
14. maj 2003 - 18:26 #74
De hedder "1", "2" og "3"
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 18:30 #75
Prøv at sætte den her ind
---------
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
--------------
MEN LUK ALLE DINE BROWSER VINDUER SÅ VI IKKE HAR NOGET GAMMELT I DERES HUKOMMELSE
Avatar billede riishoj Nybegynder
14. maj 2003 - 18:44 #76
Hvis box1 vælges reserveres lektion 1,2 og 3
Hvis box2 vælges reserveres lektion 2 og 3
Hvis box3 vælges reserveres lektion 3

Spiser lige :)
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 18:45 #77
Øverst på den side med skemaet sætter du det her:
---------------
<%
session("box1") = ""
session("box2") = ""
session("box3") = ""
%>
----------------
Så har du ikke problemet med at der ligger noget gemt i hukommelsen i browseren. Jeg bliver nødt til at smutte om 10 minutter
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 18:48 #78
Valgte du først box 3 så 2 så 1? Hvis du gjorde det så er problemet at den kan huske de gamle sessions.  Sæt dette ind:
---------------
'***Loop der giver session efter checkbox'se og ser hvormange der er valgt
session("box1") = ""
session("box2") = ""
session("box3") = ""
var = 0
for i = 1 to 3 '3 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) = "NAVNET PÅ LEKTION 1"
      elseif i = 2 then
        session("box" & i) = "NAVNET PÅ LEKTION 2"
      elseif i = 3 then
        session("box" & i) = "NAVNET PÅ LEKTION 3"
      end if
    session("antal") = var+1
    var = var+1
    end if
next
--------------
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 19:00 #79
Jeg smutter nu, men prøv ovenstående. Jeg er her nok igen i morgen :-)
Avatar billede riishoj Nybegynder
14. maj 2003 - 19:55 #80
Ovenstående gør det ikke muligt at indsætte 2. lektion, mens 1. og 3. er ok
Avatar billede kimlarsen1978 Nybegynder
15. maj 2003 - 10:35 #81
Det giver da ingen mening :-)
Er det ikke fordi lektion 2 er optaget?
Avatar billede riishoj Nybegynder
15. maj 2003 - 14:59 #82
Nej, lektion2 er ledig, men det er ikke muligt at reservere den
Avatar billede kimlarsen1978 Nybegynder
15. maj 2003 - 15:12 #83
Får du en fejlbesked?
Avatar billede riishoj Nybegynder
15. maj 2003 - 15:16 #84
Nej, der sker bare ingen ting.
Avatar billede kimlarsen1978 Nybegynder
15. maj 2003 - 15:24 #85
Det fatter jeg ikke... Prøv lige at sende hele dit script - altså det med for-løkkerne
Avatar billede riishoj Nybegynder
15. maj 2003 - 15:40 #86
Hold k... hvor er jeg dum. Ser nu at jeg var kommet til at skrive "" i stedet for "2". Undskyld at jeg har spildt din tid. Nu virker det tilsyneladende. Jeg skal så bare have lavet det, så det virker på alle 7 lektioner på en dag, men det burde vel være til at finde ud af.
Jeg prøver lige at sende min indsaet_form.asp, så du kan se, hvordan den så ud inden jeg udskiftede lektion textboxen med checkboxe. Som du kan se bliver lektionsnummeret overført via en variabel. Det er det jeg gerne vil have med checkboxene, så checkbox4 er checked, hvis vælges via linket på lektion 4 i biologi.asp. Jeg skal nok belønne med rigelige point, hvis du kan løse dette.

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Reservation</title>
<LINK REL="StyleSheet"
HREF="../style.css"
TYPE="text/css">

</head>

<body topmargin="0" leftmargin="0" background="../images/background7.gif">

<table border="0" width="100%">
  <tr>
    <td width="35%"><img border="0" src="../images/kalender.gif"></td>
    <td width="65%"><b><font face="Verdana" size="3">Her kan du foretage din
      reservation.<br>
      <br>
      <br>
      </font></b><font face="Verdana" size="2">
      Husk at skrive dine initialer og den klasse, som skal bruge
      reservationen.</font></td>
  </tr>
</table>

<%
    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">
    <center>
    <table border="1" width="80%" bordercolor="#000000" cellspacing="0" cellpadding="0" bordercolorlight="#000000" bordercolordark="#000000" bgcolor="#008080">
      <tr>
        <td width="100%">
          <table border="0" width="100%">
            <tr>
              <td width="102%" colspan="5">
                <p align="center"><font size="2" face="Verdana" color="#FFFFFF"><b>Ebberup
                Skoles Reservationssystem</b></font></td>
            </tr>
            <tr>
              <td width="102%" colspan="5">
              <p align="center">

              <%
        response.write "<font color=#FFFFFF face=verdana size=2>"
        response.write "Denne uge er nr:" & DatePart("ww",date())
        %>

              </td>
            </tr>
            <tr>
              <td width="20%">
                <p align="center"><font color="#FFFFFF" face="Verdana" size="1">År</font></td>
              <td width="20%">
                <p align="center"><font face="Verdana" size="1" color="#FFFFFF">Uge</font></td>
              <td width="20%">
                <p align="center"><font face="Verdana" size="1" color="#FFFFFF">Ugedag</font></td>
              <td width="20%">
                <p align="center"><font face="Verdana" size="1" color="#FFFFFF">Lektionsnr.</font></td>
              <td width="20%">
                <p align="center"><font face="Verdana" size="1" color="#FFFFFF">Reservation</font></td>
            </tr>
            <tr>
              <td width="20%">
                <p align="center"><b><input type="text" name="aar" size="4" value="<%= aar%>"></b></td>
              <td width="20%">
                <p align="center"><b><input type="text" name="uge" size="2" value="<%= uge%>"></b></td>
              <td width="20%">
                <p align="center"><input type="text" name="dag" size="7" value="<%=dag%>"></td>
              <td width="20%">
                <p align="center"><input type="text" name="lektion" size="3" value="<%=lektion%>"></td>
              <td width="20%">
                <p align="center"><input type="text" name="reservation" size="10" value="<%=reservation%>"></td>
            </tr>
            <tr>
              <td width="40%" colspan="2">
                <p align="center"></td>
              <td width="20%">
                <p align="center"><font face="Verdana" size="1" color="#FFFFFF">Initialer:</font></td>
              <td width="20%">
                <p align="center"><font face="Verdana" size="1" color="#FFFFFF">Klasse:</font></td>
              <td width="20%">
                <p align="center"></td>
            </tr>
            <tr>
              <td width="40%" colspan="2"></td>
              <td width="20%">
                <p align="center"><!--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>
              <td width="20%">
                <p align="center"><!--webbot bot="Validation"
                B-Value-Required="TRUE" I-Minimum-Length="2"
                I-Maximum-Length="5" --><input type="text" name="klasse" size="5" maxlength="5">&nbsp;</td>
              <td width="20%"><font color="#FFFFFF" face="Verdana" size="1">©2002
                Riishøj WebSoft</font></td>
            </tr>
          </table>
        </td>
      </tr>
    </table>
    </center>
  </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='biologi.asp?uge=" & uge & "&reservation=" & reservation & "'>Tilbage til skemaet</A></font></p>"
%>
</body>
</html>
Avatar billede riishoj Nybegynder
15. maj 2003 - 15:42 #87
Er lige væk en halv time!
Avatar billede kimlarsen1978 Nybegynder
15. maj 2003 - 15:47 #88
Send også lige den udgave med checkboxne
Avatar billede kimlarsen1978 Nybegynder
15. maj 2003 - 15:52 #89
Byt denne linie:
-----------
<p align="center"><input type="text" name="lektion" size="3" value="<%=lektion%>"></td>
-----------
ud med dette:
-----------
<%
if lektion = "1" then
%>
<p align="center">
<input type="checkbox" name="box1" value="1" checked>
<input type="checkbox" name="box2" value="2">
<input type="checkbox" name="box3" value="3">
</td>
<%
elseif lektion = "2" then
%>
<p align="center">
<input type="checkbox" name="box1" value="1">
<input type="checkbox" name="box2" value="2" checked>
<input type="checkbox" name="box3" value="3">
</td>
<%
elseif lektion = "3" then
%>
<p align="center">
<input type="checkbox" name="box1" value="1">
<input type="checkbox" name="box2" value="2">
<input type="checkbox" name="box3" value="3" checked>
</td>
<%
end if
%>
--------------
Avatar billede kimlarsen1978 Nybegynder
15. maj 2003 - 15:56 #90
Byt
-----------
<p align="center"><input type="text" name="lektion" size="3" value="<%=lektion%>"></td>
-----------
ud med det her istedet for :-)
----------------------
<p align="center">
<%
if lektion = "1" then
%>
<input type="checkbox" name="box1" value="1" checked>
<input type="checkbox" name="box2" value="2">
<input type="checkbox" name="box3" value="3">
<%
elseif lektion = "2" then
%>
<input type="checkbox" name="box1" value="1">
<input type="checkbox" name="box2" value="2" checked>
<input type="checkbox" name="box3" value="3">
<%
elseif lektion = "3" then
%>
<input type="checkbox" name="box1" value="1">
<input type="checkbox" name="box2" value="2">
<input type="checkbox" name="box3" value="3" checked>

<%
end if
%>
</td>
Avatar billede riishoj Nybegynder
15. maj 2003 - 16:33 #91
Det virker skisme. Tester lige hele systemet igennem, men jeg har lige lidt travlt. Vender tilbage med point!! :)
Avatar billede kimlarsen1978 Nybegynder
15. maj 2003 - 16:40 #92
Ja, det vil da være fedt :-)
Avatar billede kimlarsen1978 Nybegynder
15. maj 2003 - 18:25 #93
Har du forstand på Access? Hvis hu har må du gerne kigge forbi her: http://www.eksperten.dk/spm/353084
Avatar billede riishoj Nybegynder
15. maj 2003 - 20:26 #94
Jeg har testet systemet igennem, og det virker fint, bortset fra en lille detalje, som dog skal løses.
Hvis man har markeret box1 og lektion 1 er reserveret i forvejen, får man en meddelelse om, at lektionen er optaget, og at man skal gå tilbage og finde en ny tid. Fint nok !! Men når man så går tilbage og fjerner fluebenet i box1 og evt. markerer box3, får man stadig besked om, at lektion 1 er reserveret. Man kan altså ikke komme videre, før man går ud af systemet og logger på igen. Det er vel noget med, at en session stadig er gemt. Kan det løses?
Avatar billede kimlarsen1978 Nybegynder
16. maj 2003 - 10:03 #95
Ja hvis det er sessions så løses det sådan her:
Sæt dette ind øverst på resavationssiden
--------------
'Nulstil sessions
  session("Antal") = ""
for j=1 to 3 '3 er antallet af de boxse
  session("box" & J) = ""
  session("fejl" & j) = ""
next
--------------
Håber dette virker :-)
Avatar billede riishoj Nybegynder
16. maj 2003 - 10:35 #96
Mener du skemaet biologi.asp, eller indsaet.asp?
Avatar billede kimlarsen1978 Nybegynder
16. maj 2003 - 12:04 #97
Den side hvor titlen er:
---------
<title>Reservation</title>
Avatar billede riishoj Nybegynder
16. maj 2003 - 15:04 #98
Det hjælper desværre ikke noget!
Avatar billede kimlarsen1978 Nybegynder
16. maj 2003 - 15:48 #99
Kan være fordi du tilbageknappen i browseren???
Prøv at sætte det i toppen på den asp side hvor du gennem i databsen
Avatar billede riishoj Nybegynder
16. maj 2003 - 21:31 #100
Nu tror jeg, at det hele virker ok. Tusind tak for hjælpen, du har virkelig løst et stort problem for mig. Jeg opretter lige et nyt spørgsmål, så du kan få lidt flere point. Er 200 i alt ok? :-)
Avatar billede kenp Novice
16. maj 2003 - 22:51 #101
kimlarsen1978 -> du skal vist herover og hente resten!!
http://www.eksperten.dk/spm/353491
Avatar billede kimlarsen1978 Nybegynder
17. maj 2003 - 05:47 #102
Det var da dejligt vi fandt ud af det :-)
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