Avatar billede rane Nybegynder
12. juli 2006 - 14:51 Der er 6 kommentarer og
1 løsning

Ugenumre og hverdage

Jeg skal have lavet en formular for en bekendt hvor hun skal kunne indtaste noget ud for hver hverdag 4 ugenumre frem i tiden. Noget a la:

Uge 31:
Mandag  | Indtastning1
Tirsdag | Indtastning2
Onsdag  | Indtastning3
Torsdag | Indtastning4
Fredag  | Indtastning5

Uge 32:
Mandag  | Indtastning6
Tirsdag | Indtastning7
Onsdag  | Indtastning8
Torsdag | Indtastning9
Fredag  | Indtastning10

osv. 4 uger frem i tiden. 

Men hvordan får jeg vist ovenstående på en ASP-side, så man efterfølgende kan gemme indtastninger inkl. de rigtige ugenumre/datoer i en Access database?
Avatar billede cpufan Juniormester
12. juli 2006 - 18:29 #1
hvad skal formularfelterne hedde?
skal de identificeres vhj af den dato de repræsenterer?
eller skal dato være en værdi i formularfeltet?

du er nød til at uddybe for at kunne få kvalificeret hjælp.
Avatar billede rane Nybegynder
12. juli 2006 - 18:44 #2
Meningen er at kunden skal indtaste Dagens Ret til hver hverdag i den 4 ugers periode. Dagens Ret bliver så gemt i Access databasen i et felt der hedder DagensRet. Formularfeltet skal så også bare hedde DagensRet.  Når hun skal redigere i den periode, henter den så Dagens Ret fra databasen under den pågældende Dato.
Avatar billede fennec Nybegynder
13. juli 2006 - 08:41 #3
Noget i denne stil:

<%
function SQLDate(fDate)
    dim SQLYear,SQLMonth,SQLDay
    SQLYear = Year(fDate)
    SQLMonth = right("0"&Month(fDate), 2)
    SQLDay = right("0"&Day(fDate), 2)
    SQLDate = "#"& SQLMonth&"-"&SQLDay&"-"&SQLYear &"#"
end function

if Request.querystring("mode") = "save" then
    for each item in Request.Form("dates")
        sql = "insert into dinTabel(dato,dagensRet) values("& SQLDate(item) &",'"& Request.Form("ret"&item) &"')"
        conn.execute(sql)
    next
    Response.write "Dagensret er gemt"
    response.end
end if



%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <title>Untitled</title>
</head>

<body>

<form name="myForm" method="post" action="test.asp?mode=save">
<table border="0" cellspacing="0" cellpadding="2">
<%
'Startdate skal være mandag i ugen.
startdate = dateserial(2006,7,10)
for f=0 to (4*7)-1
  tmpDate = dateadd("d",f,startdate)
  if weekday(tmpDate,2) < 6 then
  %>
<tr>
    <td><%= weekdayname(weekday(tmpDate,2),false,2) &" den "& day(tmpDate) &"/"& month(tmpDate) %></td>
    <td>
        <input type="Hidden" name="dates" value="<%= tmpDate %>">
        <input type="Text" name="ret<%= tmpDate %>" value="">
    </td>
</tr>
<%end if
next %>
<tr>
    <td><input type="Submit" value="Gem"></td>
</tr>
</table>
</form>

</body>
</html>
Avatar billede rane Nybegynder
13. juli 2006 - 11:40 #4
Hvad hvis man har bestemte uge-intervaller hvorfra det skal gælde?  Eksempelvis skal hun første gang indtaste for uge 36-39 perioden..og derefter så 40-43 osv. osv.
Avatar billede fennec Nybegynder
13. juli 2006 - 11:54 #5
Det skal bare indbygges i metoden.

Et eller andet sted har du så angivet perioderne (DB måske), og så bestemmer du hvilken periode, der skal vises nu. Det er bare at sætte den rigtige startdato.

uge 36-39: startdato = dateserial(2006,8,4)
uge 40-43: startdato = dateserial(2006,9,2)

Kan også laves noget dynamisk, hvis det altid starter med uge 1 hver år. Så kan man tjekke ugenr for dagsdato, også finde den start dato der tilhører den periode.
Avatar billede rane Nybegynder
19. juli 2006 - 09:35 #6
Så blev det fikset - jeg takker for hjælpen. Læg lige et svar :)
Avatar billede fennec Nybegynder
19. juli 2006 - 10:02 #7
.o) <-- One Eyed Jack
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