Avatar billede krel Nybegynder
10. oktober 2007 - 12:15 Der er 133 kommentarer og
1 løsning

Kalender til den store guldmedalje

Hey derude.

Jeg sidder og vil gerne skrive min egen kalender, for mange af man finder gratis på nettet kan kun en del af det jeg gerne vil have - eller rettere jeg har fundet to scripts hvor jeg gerne vil benytte noget fra det ene og noget fra det andet.

Derfor vil jeg høre om der er en/eller flere herinde der ville være behjælplig med dette??

Desuden er der også en masse config-sider med som jeg gerne ville undlade at bruge og evt. skrive det hele i et scrip (hvis muligt)

Jeg har to .zip filer der bruges til de to kalendre.

Det jeg gerne ville ende med som resultat:

På min side vil der i højre side være en lille kalender (kun tekst/tal) de dage hvor der er noget i kalenderen makers med fed.
(script A)

Når man klikker på en vilkårlig dag i kalenderen skal en 'ny side' åbne hvor en stor kalender vises med flere detaljer for hver enkelt dag.
(script B)

OBS!
den 'nye side' skal stadig indeholde den lille kalender ude i højre side

Altsammen kædet til en og samme databse (Access)

- og en admindel til at oprette/redigere/slette
- evt. en funktion så man som gæst kan rette en forespørgsel og derved reservere dagen/dagene i kalenderen

Her kan de to kalendre hentes:
script A: http://www.kamath.com/downloads/aspcalendar_v1.zip
script B: http://www.asp-dev.com/download/diary.zip
- tænkte det ville fylde for meget i tekst hvis alle disse sider skulle skrives i dette spm ;)

mvh.
Kristian
Avatar billede w13 Novice
10. oktober 2007 - 12:48 #1
Jeg er ikke helt med. Du vil skrive dit eget kalenderscript. Men du har downloadet 2 kalenderscripts, som du vil bruge?

Jeg ville ellers foreslå, at du kiggede her: http://activedeveloper.dk/articles/37/

Det er meget simpelt og let at udbygge.
Avatar billede krel Nybegynder
10. oktober 2007 - 13:10 #2
Blev måske lige lidt kludret i startet fordi jeg bare gerne ville fortælle hvordan jeg ville have det til at se ud. tænkte bare at det var nemmere når nu de fleste funktioner jeg gerne ville have var kodet - så skulle det bare rykkes lidt rundt *G

Kristian

- godt eksempel til den 'lille kalender' (script A) men kan ikke lige se hvordan jeg skal kunne udbygge denne til script B..
Avatar billede w13 Novice
10. oktober 2007 - 13:12 #3
Script B er vel bare en side, som viser poster i databasen for en given dag, er det ikke? Så mit eksempel svarede til Script A. Dagene skal så bare laves til links, der eksempelvis linker til scriptb.asp?date=12/03/2006

scriptb.asp henter så fra databasen, hvor dagen er Request.Querystring("date")
Avatar billede krel Nybegynder
10. oktober 2007 - 13:24 #4
så man kan lave det med querystring!? smart så giver det hele lidt mere mening igen.. tror bare jeg starter fra bunden med det script du skrev.. så kan jeg jo altid spørge dig her når det går i hårknude...?
Avatar billede w13 Novice
10. oktober 2007 - 13:31 #5
Det kan du nemlig. =)

Det skulle være relativt enkelt. Bare find følgende linje ca. midt i scriptet:

Response.Write Day(dtmCurDate)

Denne kan du så evt. lave om til noget à la:

Response.Write "<a href=""diary.asp?date="&dtmCurDate&""">"&Day(dtmCurDate)&"</a>"

Du skal så bare sørge for også at gemme dtmCurDate i samme format i databasen, når du opretter en post for en given dag.
Avatar billede krel Nybegynder
10. oktober 2007 - 13:39 #6
jow..
jeg har lige to spm allerede (mere skønhedsfejl)
jeg ville lave det sådan at der står 01 i stedet for bare 1
og så vil jeg os gerne lave at dage i forrige næste måned skrives og laves en anden farve i stedet for et (-)tegn

den første er vel noget med at if day (hved ikke hvilket script) <= (er mindre end eller lig med) 9 så skal der skrives "0(script for dag)"

?
Avatar billede w13 Novice
10. oktober 2007 - 13:42 #7
Jep.

If Day(dtmCurDate)<=9 Then Response.Write "0"
Response.Write Day(dtmCurDate)

Det med minustegnet fik jeg ikke lige fat i. Det vises jo kun, hvis der ikke er nogen dato.
Avatar billede krel Nybegynder
10. oktober 2007 - 13:49 #8
ja lige præcis! der er ikke flere dare i eks oktober men så starter november jo:

01 02 03 04 05 06 07
08 09 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 -- -- -- -- <-- denne
linie skal blive til:

29 30 31 01 02 03 04
oktober |november (anden farve)
Avatar billede w13 Novice
10. oktober 2007 - 14:18 #9
Ja ok, det ved jeg ikke lige. :)
Avatar billede krel Nybegynder
10. oktober 2007 - 14:20 #10
ved ikke helt om det hjælper med i det andet script bruges dette til disse dage i den næst kommende måned:

' If the dates for the month are exhausted, start printing next month's dates
                        ' in grayed font
                        If intPrintDay > intLastDay Then
                            Write_TD NextMonthDate, "NON"
                            NextMonthDate = NextMonthDate + 1
                            EndRows = True
Avatar billede w13 Novice
10. oktober 2007 - 14:23 #11
Nej, jeg tror det er bygget helt anderledes op.
Avatar billede krel Nybegynder
10. oktober 2007 - 14:32 #12
hmm okay, som sagt en skønhedsfejl (i min verden!)
Med hensyn til at gøre en dato fed når der findes noget på datoen, så har jeg en ide, men igen mangler jeg evnen til at skrive det om til asp-kode (hvis man kan gøre det sådan som jeg har tænkt?!)

Ville tage fat i dtmCurDate og hvis den er lige med en værdi (strstatus) evt true then respone.write "<font......." (ligesom dags dato farves rød)

så hvordan laver jeg strstatus til en funtion der tjekker om dato er i db'en? og hvis den er sætter strstatus til true/optaget/'noget andet) ??
Avatar billede w13 Novice
10. oktober 2007 - 14:34 #13
Tjaeh, umiddelbart vil det være lettest for os at tjekke i databasen hver gang, selvom det selvfølgelig vil kræve lidt loadtid. Bruger du Access?
Avatar billede krel Nybegynder
10. oktober 2007 - 14:38 #14
Ja (desværre?)
nu skriver du det letteste, hvad er den sværre løsning/mindre loadtid? kalenderen skal som sagt bruges på alle sider...
Avatar billede w13 Novice
10. oktober 2007 - 14:42 #15
Problemet er jo load-tid. Så mere optimalt kunne det lade sig gøre at loade alle unikke datoer (fra måneden) over i et javascript-array. Dette array kunne så løbes igennem, når siden _er_ loadet, og dagene kunne så gøres fed dér. Dvs. vha. JavaScript.
Avatar billede krel Nybegynder
10. oktober 2007 - 14:47 #16
så først loades hele siden uden kalender? eller med kalender og så bliver datoerne fede efterhånden som javasript-array'et læses igennem??
Avatar billede w13 Novice
10. oktober 2007 - 14:52 #17
Den sidste løsning. Den vil loade siden hurtigt, og så vil alle datoerne blive "loadet" fede herefter. =) Den anden løsning vil gå slemt ud over loadtiden på samtlige sider, hvor kalenderen er sat ind. Og i øvrigt tror jeg, det vil gå superhurtigt med javascript.

Har lige strikket koden sammen. Tror den virker, men har ikke haft mulighed for at afprøve den:
-----------------------------------------
<script type="text/javascript">
function appendEvent(a,b,c){
    if(a.attachEvent){a.attachEvent("on"+b,c)}
    else if(a.addEventListener){a.addEventListener(b,c,false)}
    else{a["on"+b]=c}
}
appendEvent(window,"load",function(){
    var arrDates="02/04/2007,03/04/2007,12/04/2007".split(",");
    for(i=0;i<arrDates.length;i++){
        document.getElementById(arrDates[i]).parentNode.style.fontWeight="bold";
    }
})
</script>
-----------------------------------------
Funktionen appendEvent sørger for at tilføje vores "Fed"-funktion, når hele siden er loadet. Vi kan jo ikke have, at den bliver kørt, inden kalenderen eksisterer, for så får vi en fejlmeddelelse. Og appendEvent er lavet som funktion, fordi den skal kunne fungere i både Internet Explorer, Firefox og andre browsere. Browserne har nemlig, desværre, deres egne koder til dette, så man kan ikke nøjes med at bruge koden til den ene browser.

Og arrDates skal så indlæses fra databasen og adskilles med komma.
Avatar billede krel Nybegynder
10. oktober 2007 - 14:57 #18
så det skal ind sammen med kalenderen dette script?
kan man ikke snyde lidt ved at hente måned og år via de funktioner der allerede er lavet så man ikke skal lave en for hver måned specifikt? evt. noget er der 30/31 dage?
Avatar billede w13 Novice
10. oktober 2007 - 15:03 #19
Ja, det skal bare ind, hvor du synes. Men nok mest logisk i nærheden af kalenderen. Hvis du har en ekstern fil med javascript, kunne du putte appendEvent derind, da den er god at genbruge.

Ikke sikker på, jeg forstår dit andet spørgsmål. Men det vil nok være mest hensigtsmæssigt at have den fulde dato liggende i databasen, så man ikke skal omregne til en anden dato hver gang. Hvis den matcher dtmCurDate er det optimalt.

I øvrigt manglede jeg lige at skrive, hvad der skulle rettes i kalenderen, for at min javascriptkode virker:

Dagene skal stå således:

Response.Write "<span id="""&dtmCurDate&"""><a href=""diary.asp?date="&dtmCurDate&""">"&Day(dtmCurDate)&"</a></span>"

Altså en span med id=datoen.
Avatar billede w13 Novice
10. oktober 2007 - 15:04 #20
Nej, faktisk:
Response.Write "<a id="""&dtmCurDate&""" href=""diary.asp?date="&dtmCurDate&""">"&Day(dtmCurDate)&"</a>"

Og i javascripten kan du så rette:
document.getElementById(arrDates[i]).parentNode.style.fontWeight="bold";
Til:
document.getElementById(arrDates[i]).style.fontWeight="bold";
Avatar billede krel Nybegynder
10. oktober 2007 - 15:20 #21
hvor kommer al min databaseforbindelse ind i billedet og skal dato feltet så hedde dtmCurDate eller hvordan er det lige med det... ?
Avatar billede w13 Novice
10. oktober 2007 - 15:26 #22
Databasen skal indsættes her:

<script type="text/javascript">
function appendEvent(a,b,c){
    if(a.attachEvent){a.attachEvent("on"+b,c)}
    else if(a.addEventListener){a.addEventListener(b,c,false)}
    else{a["on"+b]=c}
}
appendEvent(window,"load",function(){
    var arrDates="<%Indsæt poster her%>".split(",");
    for(i=0;i<arrDates.length;i++){
        document.getElementById(arrDates[i]).style.fontWeight="bold"
    }
})
</script>

Har du noget kode, du bruger til at hente fra db?
Avatar billede w13 Novice
10. oktober 2007 - 15:29 #23
Forstod ikke det, du spurgte om mht. datofeltet. Hvilket datofelt? I databasen? Det behøver det ikke.
Avatar billede krel Nybegynder
10. oktober 2007 - 15:42 #24
Har ikke helt lavet en db endnu.. men plejer at bruge denne:

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

måske jeg lige skulle lave den - nok noget nemmere så
Avatar billede w13 Novice
10. oktober 2007 - 15:47 #25
Tror det så må blive:
------------------------------------
<script type="text/javascript">
function appendEvent(a,b,c){
    if(a.attachEvent){a.attachEvent("on"+b,c)}
    else if(a.addEventListener){a.addEventListener(b,c,false)}
    else{a["on"+b]=c}
}
appendEvent(window,"load",function(){
    var arrDates="<%Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../fpdb/database.mdb")

Set rs=Conn.Execute("SELECT [date] FROM [calendar] WHERE [date]>#01/"&Month(now)&"/"&Year(now))

i=0
Do While Not rs.EOF
  If i>0 Then Response.Write ","
  Response.Write rs("date")
  i=i+1
rs.MoveNext
Loop
rs.Close%>".split(",");
    for(i=0;i<arrDates.length;i++){
        document.getElementById(arrDates[i]).style.fontWeight="bold"
    }
})
</script>
------------------------------------
Navnene i SELECT'en skal selvfølgelig ændres til dine navne.
Avatar billede w13 Novice
10. oktober 2007 - 15:48 #26
Hov:

Set rs=Conn.Execute("SELECT [date] FROM [calendar] WHERE [date]>#01/"&Month(now)&"/"&Year(now))
skal være:
Set rs=Conn.Execute("SELECT [date] FROM [calendar] WHERE [date]>#01/"&Month(now)&"/"&Year(now)&"#")
Avatar billede krel Nybegynder
10. oktober 2007 - 15:50 #27
yes self. og uden [ ] ikke?
Avatar billede w13 Novice
10. oktober 2007 - 15:53 #28
Nej, [ ] er en god idé altid at bruge. Nogle feltnavne er nemlig "reserverede" og vil give fejl. Kan ikke huske, om password er en af de reserverede ord. Havde engang en liste over dem, men den er væk lige nu. I hvert fald sikrer [ ] at du kan skrive hvad som helst derinde.. Stort set.

(Et godt eksempel er selvfølgelig ordet SELECT. Hvis din tabel hedder det, har du et problem:

SELECT select FROM select WHERE select='select'

:) Den vil fucke fuldstændig op.

Der er dog mange andre mindre åbenlyse reserverede ord.)
Avatar billede krel Nybegynder
10. oktober 2007 - 15:55 #29
:D

ok prøver lige at lave noget database og så vender jeg nok tilbage derefter med endnu flere spm.
Avatar billede w13 Novice
10. oktober 2007 - 15:56 #30
Det gør du bare. :)
Avatar billede krel Nybegynder
10. oktober 2007 - 16:16 #31
ARHHH! så forsvandt alle tal! (datoerne) og kun måned og ugedag øverst oppe er tilbage.. :(
Avatar billede w13 Novice
10. oktober 2007 - 16:23 #32
:D Haha. Okey, så kan man vist ikke helt sige, min kode gør, hvad den burde.

Ser det ud til at være javascripten, der sletter tallene?

Prøv at rette:
    for(i=0;i<arrDates.length;i++){
        document.getElementById(arrDates[i]).style.fontWeight="bold"
    }
Til:
    for(i=0;i<arrDates.length;i++){
        document.getElementById(arrDates[i]).parentNode.style.fontWeight="bold"
    }
Avatar billede w13 Novice
10. oktober 2007 - 16:24 #33
Ellers må du lige smide et link, så jeg kan se det i aktion.
Avatar billede krel Nybegynder
10. oktober 2007 - 16:29 #34
Avatar billede w13 Novice
10. oktober 2007 - 16:32 #35
Hvis du højreklikker ser du, at der er en asp-fejl. Hvis du rykker javascriptdelen ned under kalender delen og ser filen på nettet igen, vil du kunne se hele kalenderen. Men der er åbenbart noget galt i ASP-delen i Javascriptkoden:

<p>Microsoft OLE DB Provider for ODBC Drivers</font> <font face="Arial" size=2>error '80004005'</font>
<p>
<font face="Arial" size=2>[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x3370 Thread 0x3314 DBC 0xa25d024 Jet'.</font>
<p>
<font face="Arial" size=2>/KalenderTEST/index.asp</font><font face="Arial" size=2>, line 69</font>

Hvad er linje 69? Hvordan ser din ASP-kode ud der?
Avatar billede w13 Novice
10. oktober 2007 - 16:33 #36
Det er i øvrigt "ulovligt" med et script-tag mellem </tr> og <tr>, derfor bør det sættes efter kalenderen.
Avatar billede krel Nybegynder
10. oktober 2007 - 16:40 #37
har lige flyttet rundt på scriptet og gemt så kan ikke se hva linie 69 er mere desuden får jeg ingen fejl nu _ dig?
Avatar billede w13 Novice
10. oktober 2007 - 16:42 #38
Når du ser HTML-koden for siden, ser du:

<p>Microsoft OLE DB Provider for ODBC Drivers</font> <font face="Arial" size=2>error '80004005'</font>
<p>
<font face="Arial" size=2>[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x3370 Thread 0x33b4 DBC 0x3766074 Jet'.</font>
<p>
<font face="Arial" size=2>/KalenderTEST/index.asp</font><font face="Arial" size=2>, line 100</font>

Altså linje 100. Hvad står der dér?
Avatar billede krel Nybegynder
10. oktober 2007 - 16:53 #39
linie 100:
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../fpdb/kristhedj.mdb")
Avatar billede w13 Novice
10. oktober 2007 - 16:54 #40
Jep. Den kan ikke finde din DB.

Ligger mappen "fpdb" i roden af din server? Så kan du udelade "..".

Hvis din sti starter med "/" ta'r den udgangspunkt i roden af serveren.
Avatar billede krel Nybegynder
10. oktober 2007 - 17:12 #41
fik det rettet men kan sku ikke helt få det til at makke ret :c har lavet en show.asp også og det er der det ikke helt vil som jeg
Avatar billede w13 Novice
10. oktober 2007 - 17:41 #42
Men selve kalenderen virker vist fint nu, right? Det er da altid noget. Prøv at skrive din show.asp-kode her.
Avatar billede w13 Novice
10. oktober 2007 - 17:51 #43
Der er i øvrigt en fejl i kalenderen.

Først og fremmest kan du rette:
          If dtmCurDate = dtmToday Then
            Response.Write "<strong><font color=#ff0000>"
          End If
til:
          If dtmCurDate = dtmToday Then Response.Write "<strong><font color=#ff0000>"
Det er langt mere overskueligt sådan, synes jeg.

2 linjer under står der:
          Response.Write "</strong></td>"
Det bør så være:
          If dtmCurDate = dtmToday Then Response.Write "</strong>"
          Response.Write "</td>"

Lige nu afsluttes strong for alle datoer, selvom det kun skrives ved én.
Avatar billede w13 Novice
10. oktober 2007 - 17:51 #44
Det sidst blev lidt vrøvlet.

*Lige nu afsluttes <strong> for alle datoer, selvom det kun startes ved én.
Avatar billede krel Nybegynder
10. oktober 2007 - 18:26 #45
show.asp:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<link rel="stylesheet" type="text/css" href="../KRIStheDJ/style/style.css">
<link rel="shortcut icon" href="../grafik/icon.ico">
<link rel="icon" href="../grafik/icon.ico">
<script type="text/javascript" language="javascript1.2">
//form tags to omit in NS6+:
var omitformtags=["input", "textarea", "select"]
omitformtags=omitformtags.join("|")
function disableselect(e){
if (omitformtags.indexOf(e.target.tagName.toLowerCase())==-1)
return false
}
function reEnable(){
return true
}
if (typeof document.onselectstart!="undefined")
document.onselectstart=new Function ("return false")
else{
document.onmousedown=disableselect
document.onmouseup=reEnable
}
</script>
<title></title>
</head>
<body>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/fpdb/kristhedj.mdb")
Conn.Open DSN
   
strSQL = "select * from [jobdata] where [dato] = " & Request.Querystring("dato")
Set rs = Conn.Execute(strSQL)

response.write "hej"
response.write Request.Querystring("dato")

Conn.Close
Set Conn = Nothing
%>
</body>
</html>

forresten angående fremhævning har jeg prøvet at rode lidt med også at farve denne:
kiggede på denne linie:
document.getElementById(arrDates[i]).style.fontWeight="bold"
prøvede at forlænge med ;style.fontColor="#ff0000"

uden held ??
Avatar billede w13 Novice
10. oktober 2007 - 18:28 #46
Ang. forlængelse med også at farve dagene, skal du lave en ny linje:
document.getElementById(arrDates[i]).style.fontWeight="bold";
document.getElementById(arrDates[i]).style.color="#ff0000"
Avatar billede w13 Novice
10. oktober 2007 - 18:29 #47
Har du fået Show.asp til at virke nu? Der er ikke længere fejlbesked. Ville ind og finde fejllinjenr.
Avatar billede krel Nybegynder
10. oktober 2007 - 18:45 #48
--> ang. kalenderen skriver den nu en fejl: "linie 59" som indeholder:
<td align="center" width="18" height="18"><b>L</b></td>

den kom først efter jeg rette det sidste du skrev
Avatar billede krel Nybegynder
10. oktober 2007 - 18:51 #49
arh. ok stor fejl 40 jeg har jo slettet det jeg havde før.. skriver det lige igen 2 sek..
Avatar billede krel Nybegynder
10. oktober 2007 - 18:52 #50
->> nu får jeg en fejl i linie 40:
response.write "hej "&rs("dato")&""
Avatar billede w13 Novice
10. oktober 2007 - 19:16 #51
Hmm.. Prøv:
------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<link rel="stylesheet" type="text/css" href="../KRIStheDJ/style/style.css">
<link rel="shortcut icon" href="../grafik/icon.ico">
<link rel="icon" href="../grafik/icon.ico">
<script type="text/javascript" language="javascript1.2">
//form tags to omit in NS6+:
var omitformtags=["input", "textarea", "select"]
omitformtags=omitformtags.join("|")
function disableselect(e){
if (omitformtags.indexOf(e.target.tagName.toLowerCase())==-1)
return false
}
function reEnable(){
return true
}
if (typeof document.onselectstart!="undefined")
document.onselectstart=new Function ("return false")
else{
document.onmousedown=disableselect
document.onmouseup=reEnable
}
</script>
<title></title>
</head>
<body>
<%Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};"&Server.MapPath("/fpdb/kristhedj.mdb")
 
Set rs=Conn.Execute("select * from [jobdata] where [dato]="&Request.Querystring("dato"))

If Not rs.EOF Then
response.write "hej<br>"
response.write Request.Querystring("dato")
Else
response.write "Ingen poster her"
End If

Conn.Close
Set Conn=Nothing%>
</body>
</html>
Avatar billede w13 Novice
10. oktober 2007 - 19:18 #52
response.write Request.Querystring("dato")
skal så være:
response.write rs("dato")
Avatar billede krel Nybegynder
10. oktober 2007 - 19:39 #53
fejl - men en anden -
Operation was canceled
linie 32:
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};"&Server.MapPath("/fpdb/kristhedj.mdb")
Avatar billede w13 Novice
10. oktober 2007 - 19:46 #54
Står det ligesom i kalenderkoden? Samme sti til databasen?
Avatar billede krel Nybegynder
10. oktober 2007 - 19:58 #55
nu gør det i hvert fald :D og det virker!

-næsten...

der står nemlig at der ikke er nogen post??? den skulle jo meget gerne skrive hej og datoen fra db'en (den dato man har valgt)
Avatar billede w13 Novice
10. oktober 2007 - 20:01 #56
Er du sikker på, datoen er præcis ens med den i querystringen?

Er dato-feltet i databasen af typen dato?

Muligvis skal denne linje:
strSQL = "select * from [jobdata] where [dato] = " & Request.Querystring("dato")
Så være:
strSQL = "select * from [jobdata] where [dato] = #"&Request.Querystring("dato")&"#"
Avatar billede krel Nybegynder
10. oktober 2007 - 20:10 #57
strSQL tror vi blander min og din udgave lidt sammen lige nu ser min aspkode sådan her ud:

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

Set rs=Conn.Execute("select [dato] from [jobdata] where [dato]=#"&Request.Querystring("date")&"#")
If Not rs.EOF Then
response.write "hej<br>"
response.write rs("dato")
Else
response.write "Ingen poster her"
End If

Conn.Close
Set Conn=Nothing%>

stadig ingen post - jeg har valg stadart datoformat ddmmåååå tt:mm:ss i access
Avatar billede w13 Novice
10. oktober 2007 - 20:18 #58
Det skal nok stå præcis på samme måde i databasen. Prøv at oprette en post, der bare hedder 11-10-2007
Avatar billede krel Nybegynder
10. oktober 2007 - 20:32 #59
tja ingen resultat ved at ændre formatet til tekst dvs. på selve kalenderen forsvandt en post!så har jeg også noget at rode med....

selve kalenderen er begyndt at give fejl når man bladre i månederne...
Avatar billede w13 Novice
10. oktober 2007 - 20:34 #60
Jeg ser ingen fejl. Link evt. til en.

Du skal dog nok ændre:
Set rs=Conn.Execute("select [dato] from [jobdata] where [dato]='"&Request.Querystring("date")&"'"
Til:
Set rs=Conn.Execute("select [dato] from [jobdata] where [dato]='"&Request.Querystring("date")&"'"
Når du bruger tekst- og ikke datoformat i din db.
Avatar billede krel Nybegynder
10. oktober 2007 - 20:41 #61
Avatar billede w13 Novice
10. oktober 2007 - 20:47 #62
Efter at du ændrede til tekst?
Avatar billede krel Nybegynder
10. oktober 2007 - 20:52 #63
også før har ændret tilbate til dato igen for som sagt forsvandt der en post da jeg brugte text-format
Avatar billede w13 Novice
10. oktober 2007 - 20:59 #64
Muligvis er det fordi den altid henter alle datoer ind i javascript-koden. Den skal kun hente måneder.

<script type="text/javascript">
function appendEvent(a,b,c){
    if(a.attachEvent){a.attachEvent("on"+b,c)}
    else if(a.addEventListener){a.addEventListener(b,c,false)}
    else{a["on"+b]=c}
}
appendEvent(window,"load",function(){
    var arrDates="<%Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/fpdb/database.mdb")

Set rs=Conn.Execute("SELECT [date] FROM [calendar] WHERE [date]>#01/"&Month(now)&"/"&Year(now)# AND
Avatar billede krel Nybegynder
10. oktober 2007 - 21:06 #65
hvorfor # AND mangler der ikke en )
Avatar billede w13 Novice
10. oktober 2007 - 21:06 #66
Jo, der forsvandt noget kode:

<script type="text/javascript">
function appendEvent(a,b,c){
    if(a.attachEvent){a.attachEvent("on"+b,c)}
    else if(a.addEventListener){a.addEventListener(b,c,false)}
    else{a["on"+b]=c}
}
appendEvent(window,"load",function(){
    var arrDates="<%Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/fpdb/database.mdb")

Set rs=Conn.Execute("SELECT [date] FROM [calendar] WHERE [date]>#01/"&Month(now)&"/"&Year(now)&"# AND [date]<#31/"&Month(now)&"/"&Year(now)&"#
Avatar billede w13 Novice
10. oktober 2007 - 21:07 #67
Hmmm. Jeg har nogle problemer med copy/paste lige nu
Avatar billede krel Nybegynder
10. oktober 2007 - 21:11 #68
Unterminated string constant
Avatar billede w13 Novice
10. oktober 2007 - 21:19 #69
Mangler stadig at afsluttes af "
Avatar billede krel Nybegynder
10. oktober 2007 - 21:23 #70
så vi tæt på.
det hele virker pånær at første gang siden inlæses vises der intet med fed - når man så har klikket på en dato vises show rigtigt! bruger man så tilbage-knappe i ie vises kalenderen korrekt igen!
Avatar billede w13 Novice
10. oktober 2007 - 21:38 #71
Lige nu viser den aldrig nogle af datoerne fra databasen. Har du lige ændret andet? Når du går ind i koden, ser du:

<font face="Arial" size=2>
<p>Microsoft OLE DB Provider for ODBC Drivers</font> <font face="Arial" size=2>error '80004005'</font>
<p>
<font face="Arial" size=2>[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x3370 Thread 0x34f8 DBC 0x38d8f74 Jet'.</font>
<p>
<font face="Arial" size=2>/KalenderTEST/index.asp</font><font face="Arial" size=2>, line 100</font>

Altså linje 100 igen. Det er på alle sider.
Avatar billede krel Nybegynder
10. oktober 2007 - 21:55 #72
så kom de tilbage igen! MEN MEN MEN show viser kun datoen 11-10-2007 lige meget hvilken dag man vælger også når der ikke er nogen post oprettet eks 13-10-2007
Avatar billede krel Nybegynder
10. oktober 2007 - 22:30 #73
ved ikke rigtig lige hvad der sker. hver gang jeg har rette det du har skrevet virker det efter noget tid kommer så der fejl igen. kan du ikke sende den stykke kode du har på din computer??

index.asp

og

show.asp
Avatar billede w13 Novice
10. oktober 2007 - 22:42 #74
Jeg har ingen af filerne på min pc.
Avatar billede krel Nybegynder
10. oktober 2007 - 22:52 #75
så fra din wordpad eller hvor du nu skriver? har du intet samlet kode???
Avatar billede w13 Novice
10. oktober 2007 - 23:19 #76
Nope. Afprøvede en enkelt js-kode på et tidspunkt, men slettede det igen. Programmerer kun her lige nu. =)
Avatar billede krel Nybegynder
10. oktober 2007 - 23:26 #77
hmm okay. det roder nemlig stadig med nogle fejl hist og her..

MEN til selve kalendere
hvorfor er dags dato makeret med fed syns ikke jeg kan finde nogen del i scriptet der skulle gøre dette.. ville hellere have det understreget sådan så det ikke går ud over om der er noget på datoen.

Så ville jeg evt gerne føje en if mere på sådan så hvis et felt kaldet status er lig med book så bliver dato i kalenderen gul (ikke fed) og hvis felt er lig med godkendt så skal det blive rød og fed ligsom nu.

kan man skrive en mere eller skal det skrives samme med det jeg har nu evt. med noget if et eller andet then else if the or...

ved ikke helt hvad jer er ude i??
Avatar billede w13 Novice
10. oktober 2007 - 23:29 #78
Det er denne, der laver det fed:
          If dtmCurDate = dtmToday Then Response.Write "<strong><font color=#ff0000>"
Avatar billede krel Nybegynder
10. oktober 2007 - 23:33 #79
hmm så står jeg sku af.. kan se den bliver lavet rød men hvor kommer der noget fed ind i billedet det er ikke <strong> vel? prøvede at skrive text-decoration: underline men ingen effekt i netop denne linie...
Avatar billede w13 Novice
10. oktober 2007 - 23:34 #80
Det <strong>-tag'et der er et alternativ til fed. Bare ret denne til <u>
Avatar billede krel Nybegynder
13. oktober 2007 - 17:51 #81
w13?

- Jeg tror der er noget i dit script der hopper af, for den laver stadig fejl når jeg bladre i kalenderen (skrifter måned). Så har prøvet at starte forfra 5-6 gange nu er det er først når din funtion til at farve/markere at der sker noget på en given dag at der kommer den fejl...??

Desuden kan jeg heller ikke helt gennemskue hvordan jeg skal lave det sådan at hvis status-feltet i db'en er:
***
booking
så skal datoen i kalenderen være gul/ikke fed

og hvis status er:
***
godkendt
så skal datoen i kalenderen være rød/fed (som det er nu)

Prøvede at starte på en if status = "booking" then men opdagede jo så at du lukker databaseforbindelsen før du farver datoen.. se evt. http://www.tourdefoxdecarvalho.dk/KalenderTEST/kalender_vis.asp hvis du ikke helt forstår..
Avatar billede w13 Novice
13. oktober 2007 - 17:59 #82
Nu har jeg nogle problemer med mit Internet Explorer, så jeg har svært ved at se fejlen. Hvilken fejlmeddelelse får du?
Avatar billede w13 Novice
13. oktober 2007 - 18:00 #83
Du mangler i øvrigt et ";" her:

        document.getElementById(arrDates[i]).style.fontWeight="bold"
        document.getElementById(arrDates[i]).style.color="#ff0000"

Det skal være:

        document.getElementById(arrDates[i]).style.fontWeight="bold";
        document.getElementById(arrDates[i]).style.color="#ff0000"

Men ved ikke, om det kan give den fejl.
Avatar billede w13 Novice
13. oktober 2007 - 18:02 #84
Hvordan ser Javascript-delen ud nu i din kode? Skriv den lige her, så tilføjer jeg booking- og godkendt-funktionerne.
Avatar billede krel Nybegynder
13. oktober 2007 - 18:20 #85
jeg prøvede selv at fjerne lidt hist og her men satte det tilbage igen som det var originalt (tror jeg) men så gik min computer ned og er derfor ikke sikker på at den har gemt det jeg rettede tilbage til....det kommer her det jeg har:

<script type="text/javascript">
function appendEvent(a,b,c){
    if(a.attachEvent){a.attachEvent("on"+b,c)}
    else if(a.addEventListener){a.addEventListener(b,c,false)}
    else{a["on"+b]=c}
}
appendEvent(window,"load",function(){
    var arrDates="<%Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/fpdb/kristhedj.mdb")

Set rs=Conn.Execute("SELECT [dato] FROM [jobdata] WHERE [dato]>#01/"&Month(now)&"/"&Year(now)&"# AND [dato]<#31/"&Month(now)&"/"&Year(now)&"#")
   
    i=0
    Do While Not rs.EOF
      If i>0 Then Response.Write ","
      Response.Write rs("dato")
      i=i+1
    rs.MoveNext
    Loop
    rs.Close%>".split(",");
        for(i=0;i<arrDates.length;i++){
            document.getElementById(arrDates[i]).style.fontWeight="bold"
            document.getElementById(arrDates[i]).style.color="#ff0000"
        }
    })
</script>

og det står lige efter </table> tagget før </body> har det noget at sige?
Avatar billede w13 Novice
13. oktober 2007 - 19:21 #86
Tror, det må være:
--------------------------------
<script type="text/javascript">
function appendEvent(a,b,c){
    if(a.attachEvent){a.attachEvent("on"+b,c)}
    else if(a.addEventListener){a.addEventListener(b,c,false)}
    else{a["on"+b]=c}
}
appendEvent(window,"load",function(){
    var arrDates="<%Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/fpdb/kristhedj.mdb")

Set rs=Conn.Execute("SELECT [dato] FROM [jobdata] WHERE [dato]>#01/"&Month(now)&"/"&Year(now)&"# AND [dato]<#31/"&Month(now)&"/"&Year(now)&"# AND [status]='booking'")

    i=0
    Do While Not rs.EOF
      If i>0 Then Response.Write ","
      Response.Write rs("dato")
      i=i+1
    rs.MoveNext
    Loop
    rs.Close%>".split(",");
        for(i=0;i<arrDates.length;i++){
            document.getElementById(arrDates[i]).style.fontWeight="normal"
            document.getElementById(arrDates[i]).style.color="#ffcc00"
        }
    arrDates="<%Set rs=Conn.Execute("SELECT [dato] FROM [jobdata] WHERE [dato]>#01/"&Month(now)&"/"&Year(now)&"# AND [dato]<#31/"&Month(now)&"/"&Year(now)&"# AND [status]='godkendt'")

    i=0
    Do While Not rs.EOF
      If i>0 Then Response.Write ","
      Response.Write rs("dato")
      i=i+1
    rs.MoveNext
    Loop
    rs.Close%>".split(",");
        for(i=0;i<arrDates.length;i++){
            document.getElementById(arrDates[i]).style.fontWeight="bold"
            document.getElementById(arrDates[i]).style.color="#ff0000"
        }
    })
</script>
Avatar billede krel Nybegynder
13. oktober 2007 - 19:40 #87
lige præcis!
det virker med alle poster som booking
med poster både som booking og godkendt,
men hvis alle poster er godkendt vises de ikke..

desuden er der nu fejl inden man bladre, men denne gang i en linie der måske har lidt mere med det at gøre..

Et objekt er obligatorisk
linie 63:
If blnLast <> True Then

c",)
Avatar billede w13 Novice
13. oktober 2007 - 19:54 #88
Hov, jeg havde lige glemt ; igen.
---------------------------------
<script type="text/javascript">
function appendEvent(a,b,c){
    if(a.attachEvent){a.attachEvent("on"+b,c)}
    else if(a.addEventListener){a.addEventListener(b,c,false)}
    else{a["on"+b]=c}
}
appendEvent(window,"load",function(){
    var arrDates="<%Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/fpdb/kristhedj.mdb")

Set rs=Conn.Execute("SELECT [dato] FROM [jobdata] WHERE [dato]>#01/"&Month(now)&"/"&Year(now)&"# AND [dato]<#31/"&Month(now)&"/"&Year(now)&"# AND [status]='booking'")

    i=0
    Do While Not rs.EOF
      If i>0 Then Response.Write ","
      Response.Write rs("dato")
      i=i+1
    rs.MoveNext
    Loop
    rs.Close%>".split(",");
        for(i=0;i<arrDates.length;i++){
            document.getElementById(arrDates[i]).style.fontWeight="normal";
            document.getElementById(arrDates[i]).style.color="#ffcc00"
        }
    arrDates="<%Set rs=Conn.Execute("SELECT [dato] FROM [jobdata] WHERE [dato]>#01/"&Month(now)&"/"&Year(now)&"# AND [dato]<#31/"&Month(now)&"/"&Year(now)&"# AND [status]='godkendt'")

    i=0
    Do While Not rs.EOF
      If i>0 Then Response.Write ","
      Response.Write rs("dato")
      i=i+1
    rs.MoveNext
    Loop
    rs.Close%>".split(",");
        for(i=0;i<arrDates.length;i++){
            document.getElementById(arrDates[i]).style.fontWeight="bold";
            document.getElementById(arrDates[i]).style.color="#ff0000"
        }
    })
</script>
---------------------------------------
Ser lige på den anden fejl.
Avatar billede w13 Novice
13. oktober 2007 - 19:54 #89
Er det en javascript-fejl eller en ASP-fejl?
Avatar billede krel Nybegynder
13. oktober 2007 - 19:59 #90
Mærkeligt! nu er der igen kun fejl når jeg bladre i kalendere og nu er det igen en linie der blot indeholder oplysninger om et felt (ren html!)

<td align="center" width="18px" height="18px"><b>L</b></td>

det er den der gule advarselstrekant der kommer i statusbaren... man kan sagtens se siden!
Avatar billede w13 Novice
13. oktober 2007 - 20:28 #91
Hvis der er javascript-fejl kan du ikke gå ind i originalfilen og finde linjenr.
Javascript ta'r nemlig ikke højde for ASP, så alle ASP-linjer tælles ikke med. For at få den rigtige linje, skal du finde den i Vis kilde for siden, altså ude på nettet.
Avatar billede krel Nybegynder
13. oktober 2007 - 20:42 #92
linie 58 er en (}) før står dette
53 <script type="text/javascript">
54 function appendEvent(a,b,c){
55    if(a.attachEvent){a.attachEvent("on"+b,c)}
56    else if(a.addEventListener){a.addEventListener(b,c,false)}
57    else{a["on"+b]=c}
58 }
59 appendEvent(window,"load",function(){
60    var arrDates="".split(",");
61        for(i=0;i<arrDates.length;i++){

-- i fejlbeskrivelsen skriver den tegn 13 ?. hva betyder det når der kun er det ene tegn??
62            document.getElementById(arrDates[i]).style.fontWeight="normal";
63            document.getElementById(arrDates[i]).style.color="#ffcc00"
64        }
65    arrDates="10/11/2007,10/1/2007".split(",");
66        for(i=0;i<arrDates.length;i++){
67            document.getElementById(arrDates[i]).style.fontWeight="bold";
68            document.getElementById(arrDates[i]).style.color="#ff0000"
69        }
70    })
71 </script>
Avatar billede w13 Novice
13. oktober 2007 - 20:50 #93
Det betyder, at det højst sandsynligt er en linje fra eller til - der kan godt være en fejlmargin på et par linjer.

Jeg gætter på, det er her:
    var arrDates="".split(",");

Den er tom, og så fejler den åbenbart, så det skal der tages højde for:

<script type="text/javascript">
function appendEvent(a,b,c){
    if(a.attachEvent){a.attachEvent("on"+b,c)}
    else if(a.addEventListener){a.addEventListener(b,c,false)}
    else{a["on"+b]=c}
}
appendEvent(window,"load",function(){
    <%Set Conn=Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/fpdb/kristhedj.mdb")

    Set rs=Conn.Execute("SELECT [dato] FROM [jobdata] WHERE [dato]>#01/"&Month(now)&"/"&Year(now)&"# AND [dato]<#31/"&Month(now)&"/"&Year(now)&"# AND [status]='booking'")
    If Not rs.EOF Then
      Response.Write "var arrDates="""
      i=0
      Do While Not rs.EOF
        If i>0 Then Response.Write ","
        Response.Write rs("dato")
        i=i+1
      rs.MoveNext
      Loop
      rs.Close%>".split(",");
        for(i=0;i<arrDates.length;i++){
            document.getElementById(arrDates[i]).style.fontWeight="normal";
            document.getElementById(arrDates[i]).style.color="#ffcc00"
        }
    <%End If
    Set rs=Conn.Execute("SELECT [dato] FROM [jobdata] WHERE [dato]>#01/"&Month(now)&"/"&Year(now)&"# AND [dato]<#31/"&Month(now)&"/"&Year(now)&"# AND [status]='godkendt'")
    If Not rs.EOF Then
      Response.Write "arrDates="""
      i=0
      Do While Not rs.EOF
        If i>0 Then Response.Write ","
        Response.Write rs("dato")
        i=i+1
      rs.MoveNext
      Loop
      rs.Close%>".split(",");
        for(i=0;i<arrDates.length;i++){
            document.getElementById(arrDates[i]).style.fontWeight="bold";
            document.getElementById(arrDates[i]).style.color="#ff0000"
        }
    <%End If%>
    })
</script>
Avatar billede krel Nybegynder
13. oktober 2007 - 21:00 #94
stor respect! :D
så er den lille irreterende advarsel væk! - men ingen visninger med rød/fed da begge er sat til godkendt? - har du en ide her?
Avatar billede w13 Novice
13. oktober 2007 - 21:28 #95
Har den der asp-fejl været der lige siden du rettede?
Avatar billede krel Nybegynder
13. oktober 2007 - 22:31 #96
altså lige fra du skrev koden til også at kigge i status viser den ikke noget i kalenderen når alle poster er godkendt. Men hvis alle poster er booking eller en post booking og en anden godkent så vises de i kalenderen.
Avatar billede w13 Novice
13. oktober 2007 - 22:35 #97
Hedder feltet i DB'en overhovedet status?
Avatar billede w13 Novice
13. oktober 2007 - 22:47 #98
Hvad er linje 102 i din kode?
Avatar billede krel Nybegynder
13. oktober 2007 - 23:10 #99
En rigtig go gammelsaws fejl 40!

Lave om på feltnavnene så de ikke hed noget ala tænkelige reserverede ord... glemte jeg jo lige at rette efter jeg kopierede din sidste rettelse....

nu virker det hele bare perfekt! :D

har dog også slette min show.asp for ville starte forefra med den - men det bliver ørst i morgen.. point ska du ha!

kan jo være jeg spørg videre i tråden i morgen omkring show.asp
Avatar billede krel Nybegynder
13. oktober 2007 - 23:15 #100
----->
lige en enkelt ting:
du skrev noget med load tid og javacript der skulle kører efter siden var indlæst.. kan det passe den kun tjekker for den aktuelle måned? ville nemlig gerne bruge det til noget booking hejs så ville det jo være passende at man kunne kigge et par måneder frem i tiden ;)
Avatar billede w13 Novice
13. oktober 2007 - 23:44 #101
Ja, det er faktisk rigtigt. Der skal ændres lidt.

<script type="text/javascript">
function appendEvent(a,b,c){
    if(a.attachEvent){a.attachEvent("on"+b,c)}
    else if(a.addEventListener){a.addEventListener(b,c,false)}
    else{a["on"+b]=c}
}
appendEvent(window,"load",function(){
    <%If Request.Querystring("date")="" Then
      strDate="[dato]>#01/"&Month(now)&"/"&Year(now)&"# AND [dato]<#31/"&Month(now)&"/"&Year(now)&"#"
    Else
      strDate="[dato]>#"&Request.Querystring("date")&"# AND [dato]<#"&DateAdd("d",-1,DateAdd("m",1,CDate(Request.Querystring("date"))))&"#"
    End If

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

    Set rs=Conn.Execute("SELECT [dato] FROM [jobdata] WHERE "&strDate&" AND [status]='booking'")
    If Not rs.EOF Then
      Response.Write "var arrDates="""
      i=0
      Do While Not rs.EOF
        If i>0 Then Response.Write ","
        Response.Write rs("dato")
        i=i+1
      rs.MoveNext
      Loop
      rs.Close%>".split(",");
        for(i=0;i<arrDates.length;i++){
            document.getElementById(arrDates[i]).style.fontWeight="normal";
            document.getElementById(arrDates[i]).style.color="#ffcc00"
        }
    <%End If
    Set rs=Conn.Execute("SELECT [dato] FROM [jobdata] WHERE "&strDate&" AND [status]='godkendt'")
    If Not rs.EOF Then
      Response.Write "arrDates="""
      i=0
      Do While Not rs.EOF
        If i>0 Then Response.Write ","
        Response.Write rs("dato")
        i=i+1
      rs.MoveNext
      Loop
      rs.Close%>".split(",");
        for(i=0;i<arrDates.length;i++){
            document.getElementById(arrDates[i]).style.fontWeight="bold";
            document.getElementById(arrDates[i]).style.color="#ff0000"
        }
    <%End If%>
    })
</script>
Avatar billede krel Nybegynder
14. oktober 2007 - 11:11 #102
<---
Er gået i gang med zoom.asp (som den hedder nu)
Det virker nogenlunde dog er der lidt knas når man klikker på en dato før dags dato vises der ingen oplysninger på zoom-siden. (dvs der skrives 'Ingen poster her')
Desuden kan man heller ikke se oplysninger hvis man går en måned frem eller tilbage. (igen 'Ingen poster her')...

min script ser sådan ud:
<%
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/fpdb/kristhedj.mdb")

Set rs=Conn.Execute("select [datostempel] from [jobdata] where [datostempel]=#"&Request.Querystring("date")&"#")
If Not rs.EOF Then
Response.Write "hej<br>"
Response.Write rs("datostempel")
Else
response.write "Ingen poster her"
End If
rs.Close
%>
Avatar billede w13 Novice
14. oktober 2007 - 14:12 #103
Smid lige et link til koden. Lader til, siden er flyttet/ómdøbt.

Din kode burde virke. Så det lader til, at datoerne står forkert i DB.
Avatar billede krel Nybegynder
14. oktober 2007 - 17:31 #104
http://www.tourdefoxdecarvalho.dk/kristhedj/kalender/index.asp

lige nu ligger der kun poster den 11. oktober, 15. og 16. november alle som godkendt!
Avatar billede w13 Novice
14. oktober 2007 - 17:39 #105
Ja, fejlen i koden ser ud til at være, fordi der også vælges 11/10/2007 selvom vi er i November. Og den dato findes jo ikke, og så kokser den. Prøv at indsætte:
Response.Write "alert('"&strDate&"');"

Lige efter:
If Request.Querystring("date")="" Then
      strDate="[dato]>#01/"&Month(now)&"/"&Year(now)&"# AND [dato]<#31/"&Month(now)&"/"&Year(now)&"#"
    Else
      strDate="[dato]>#"&Request.Querystring("date")&"# AND [dato]<#"&DateAdd("d",-1,DateAdd("m",1,CDate(Request.Querystring("date"))))&"#"
    End If
Avatar billede krel Nybegynder
14. oktober 2007 - 17:46 #106
altså efter end if?
Avatar billede w13 Novice
14. oktober 2007 - 17:47 #107
Jup!
Det skal blive til:

    If Request.Querystring("date")="" Then
      strDate="[dato]>#01/"&Month(now)&"/"&Year(now)&"# AND [dato]<#31/"&Month(now)&"/"&Year(now)&"#"
    Else
      strDate="[dato]>#"&Request.Querystring("date")&"# AND [dato]<#"&DateAdd("d",-1,DateAdd("m",1,CDate(Request.Querystring("date"))))&"#"
    End If
    Response.Write "alert('"&strDate&"');"
Avatar billede krel Nybegynder
14. oktober 2007 - 18:01 #108
så popper der en alert op hver gang kalenderen loades med:

[datostempel]>01/10/2007# AND [datostempel]<31/10/2007#

^ alt sammen som ren tekst!
Avatar billede w13 Novice
14. oktober 2007 - 18:05 #109
Ok. Så bare fjern Response.Write "alert('"&strDate&"');" igen..

Den skriver det rigtigt i vores SQL.. Hmm.. Står datoerne forskelligt i databasen?
Avatar billede krel Nybegynder
14. oktober 2007 - 18:10 #110
forskellige?
ja 11-10-2007, 15-11-2007, 16-11-2007
nej det er alle dd-mm-yyyy

bruger godt nok <% session.LCID = 1030 %> så det bliver dansk format på selve siden..
Avatar billede w13 Novice
14. oktober 2007 - 18:24 #111
Ok, så løser vi det på en anden måde. Fejlen opstår, når f.eks. datoen 11-10-2007 ikke findes på siden. Oprindeligt skulle den slet ikke have lyst til at lede efter 11-10-2007, når det er en anden måned, men hvis det ikke kan være anderledes, tjekker vi da bare, om den findes:
-------------------------------------
<script type="text/javascript">
function appendEvent(a,b,c){
    if(a.attachEvent){a.attachEvent("on"+b,c)}
    else if(a.addEventListener){a.addEventListener(b,c,false)}
    else{a["on"+b]=c}
}
appendEvent(window,"load",function(){
    <%If Request.Querystring("date")="" Then
      strDate="[dato]>#01/"&Month(now)&"/"&Year(now)&"# AND [dato]<#31/"&Month(now)&"/"&Year(now)&"#"
    Else
      strDate="[dato]>#"&Request.Querystring("date")&"# AND [dato]<#"&DateAdd("d",-1,DateAdd("m",1,CDate(Request.Querystring("date"))))&"#"
    End If

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

    Set rs=Conn.Execute("SELECT [dato] FROM [jobdata] WHERE "&strDate&" AND [status]='booking'")
    If Not rs.EOF Then
      Response.Write "var arrDates="""
      i=0
      Do While Not rs.EOF
        If i>0 Then Response.Write ","
        Response.Write rs("dato")
        i=i+1
      rs.MoveNext
      Loop
      rs.Close%>".split(",");
        for(i=0;i<arrDates.length;i++){
            if(document.getElementById(arrDates[i]){
                document.getElementById(arrDates[i]).style.fontWeight="normal";
                document.getElementById(arrDates[i]).style.color="#ffcc00"
            }
        }
    <%End If
    Set rs=Conn.Execute("SELECT [dato] FROM [jobdata] WHERE "&strDate&" AND [status]='godkendt'")
    If Not rs.EOF Then
      Response.Write "arrDates="""
      i=0
      Do While Not rs.EOF
        If i>0 Then Response.Write ","
        Response.Write rs("dato")
        i=i+1
      rs.MoveNext
      Loop
      rs.Close%>".split(",");
        for(i=0;i<arrDates.length;i++){
            if(document.getElementById(arrDates[i]){
                document.getElementById(arrDates[i]).style.fontWeight="bold";
                document.getElementById(arrDates[i]).style.color="#ff0000"
            }
        }
    <%End If%>
    })
</script>
Avatar billede krel Nybegynder
14. oktober 2007 - 18:51 #112
hmm meget mærkeligt. nu vises absolut intet i kalenderen, men klikker man påå datoen 15./16. november vises oplysningerne korrekt i zoom.asp ?!?
Avatar billede w13 Novice
14. oktober 2007 - 18:54 #113
Manglede lige en ) to steder:
------------------------------------------
<script type="text/javascript">
function appendEvent(a,b,c){
    if(a.attachEvent){a.attachEvent("on"+b,c)}
    else if(a.addEventListener){a.addEventListener(b,c,false)}
    else{a["on"+b]=c}
}
appendEvent(window,"load",function(){
    <%If Request.Querystring("date")="" Then
      strDate="[dato]>#01/"&Month(now)&"/"&Year(now)&"# AND [dato]<#31/"&Month(now)&"/"&Year(now)&"#"
    Else
      strDate="[dato]>#"&Request.Querystring("date")&"# AND [dato]<#"&DateAdd("d",-1,DateAdd("m",1,CDate(Request.Querystring("date"))))&"#"
    End If

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

    Set rs=Conn.Execute("SELECT [dato] FROM [jobdata] WHERE "&strDate&" AND [status]='booking'")
    If Not rs.EOF Then
      Response.Write "var arrDates="""
      i=0
      Do While Not rs.EOF
        If i>0 Then Response.Write ","
        Response.Write rs("dato")
        i=i+1
      rs.MoveNext
      Loop
      rs.Close%>".split(",");
        for(i=0;i<arrDates.length;i++){
            if(document.getElementById(arrDates[i])){
                document.getElementById(arrDates[i]).style.fontWeight="normal";
                document.getElementById(arrDates[i]).style.color="#ffcc00"
            }
        }
    <%End If
    Set rs=Conn.Execute("SELECT [dato] FROM [jobdata] WHERE "&strDate&" AND [status]='godkendt'")
    If Not rs.EOF Then
      Response.Write "arrDates="""
      i=0
      Do While Not rs.EOF
        If i>0 Then Response.Write ","
        Response.Write rs("dato")
        i=i+1
      rs.MoveNext
      Loop
      rs.Close%>".split(",");
        for(i=0;i<arrDates.length;i++){
            if(document.getElementById(arrDates[i])){
                document.getElementById(arrDates[i]).style.fontWeight="bold";
                document.getElementById(arrDates[i]).style.color="#ff0000"
            }
        }
    <%End If%>
    })
</script>
Avatar billede w13 Novice
14. oktober 2007 - 18:55 #114
Det ser dog ud til, der er en ASP-fejl på siden. Tjek lige, om ASP-oplysningerne i koden er korrekte.
Avatar billede krel Nybegynder
14. oktober 2007 - 19:05 #115
Sådan! Har lige dobbelttjekket med databasens navne på felter får at være 100 og med de to ) virker det!
Avatar billede krel Nybegynder
14. oktober 2007 - 19:20 #116
tænke på at lave feltet 'kalenderstatus' om til et ja/nej felt 'godkendt' og så rette til i koden.. hvlket jeg også har prøvet, men det virker hverken med ja/nej eller yes/no HJÆLP!

her er lige en stump hvor det indgår:

Set rs=Conn.Execute("SELECT [datostempel] FROM [jobdata] WHERE "&strDate&" AND [godkendt]='yes'")
Avatar billede w13 Novice
14. oktober 2007 - 19:37 #117
ja/nej kaldes også true/false. Prøv med det. Og så uden ' omkring. Altså [godkendt]=true.

Så er det nemlig en rigtig boolean (true/false) værdi.
Avatar billede krel Nybegynder
14. oktober 2007 - 19:59 #118
super fedt!
Avatar billede krel Nybegynder
15. oktober 2007 - 14:43 #119
nu har jeg føjet en masse poster ind i kalenderen og på nogle dage er der mere end en. hvordan kan jeg skrive i min zoom.asp så alle poster for én dato udskrives?

Har bygget min kode sådan op:

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

Set rs=Conn.Execute("select * from [jobdata] where [datostempel]=#"&Request.Querystring("date")&"#")

If Not rs.EOF Then
if rs("godkendt") = false and rs("heledagen") = false then Response.Write rs("datostempel")&"<br>(" & FormatDateTime(rs("starttid"),4)&"-" & FormatDateTime(rs("sluttid"),4)&") reserveret <br><br><a href='book.asp'>lav booking nu!</a><br><a href='java script:history.back(-1)'>tilbage..</a>"
if rs("godkendt") = false and rs("heledagen") = true then Response.Write rs("datostempel")&"<br>(HELE DAGEN) reserveret <br><br><a href='book.asp'>lav booking nu!</a><br><a href='java script:history.back(-1)'>tilbage..</a>"
if rs("godkendt") = true and rs("heledagen") = falset then Response.Write rs("datostempel")&"<br>OPTAGET " & FormatDateTime(rs("starttid"),4)&"-" & FormatDateTime(rs("sluttid"),4)&"<br><br><a href='book.asp'>lav booking nu!</a><br><a href='java script:history.back(-1)'>tilbage..</a>"
if rs("godkendt") = true and rs("heledagen") = true then Response.Write rs("datostempel")&"<br>OPTAGET HELE DAGEN<br><br><a href='book.asp'>lav booking nu!</a><br><a href='java script:history.back(-1)'>tilbage..</a>"
Else
Response.write "INGEN BOOKING"
Response.write "<br><a href='book.asp'>lav booking nu!</a>"

End If
rs.Close
%>
Avatar billede w13 Novice
15. oktober 2007 - 15:29 #120
Du skal bare bruge en Do While:

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

Set rs=Conn.Execute("select * from [jobdata] where [datostempel]=#"&Request.Querystring("date")&"#")

If Not rs.EOF Then
Do While Not rs.EOF
if rs("godkendt") = false and rs("heledagen") = false then Response.Write rs("datostempel")&"<br>(" & FormatDateTime(rs("starttid"),4)&"-" & FormatDateTime(rs("sluttid"),4)&") reserveret <br><br><a href='book.asp'>lav booking nu!</a><br><a href='java script:history.back(-1)'>tilbage..</a>"
if rs("godkendt") = false and rs("heledagen") = true then Response.Write rs("datostempel")&"<br>(HELE DAGEN) reserveret <br><br><a href='book.asp'>lav booking nu!</a><br><a href='java script:history.back(-1)'>tilbage..</a>"
if rs("godkendt") = true and rs("heledagen") = falset then Response.Write rs("datostempel")&"<br>OPTAGET " & FormatDateTime(rs("starttid"),4)&"-" & FormatDateTime(rs("sluttid"),4)&"<br><br><a href='book.asp'>lav booking nu!</a><br><a href='java script:history.back(-1)'>tilbage..</a>"
if rs("godkendt") = true and rs("heledagen") = true then Response.Write rs("datostempel")&"<br>OPTAGET HELE DAGEN<br><br><a href='book.asp'>lav booking nu!</a><br><a href='java script:history.back(-1)'>tilbage..</a>"
rs.MoveNext
Loop
Else
Response.write "INGEN BOOKING"
Response.write "<br><a href='book.asp'>lav booking nu!</a>"

End If
rs.Close
%>
Avatar billede krel Nybegynder
15. oktober 2007 - 15:49 #121
jo tak!
- men så kommer dato'en og links med opret ooking og luk detaljer jo med for ver eneste post..

Derfor prøver jeg at rykke lidt rundt på det - og så går det helt galt..
jeg slyttet datostempel op før If Not rs.EOF Then

og så rykkede jeg alle links ned til efter Loop

det virker også fint på dage med flere poster, men med dage med kun en post er resultatet knap så heldigt :(
Avatar billede w13 Novice
15. oktober 2007 - 18:43 #122
Det må bestemt ikke være der. Det skal blot være før Do while :)
Hvis du sætter det før if'en, bli'r det vist, hvis der ikke er poster.. Og det vil gi' fejl.
Avatar billede krel Nybegynder
15. oktober 2007 - 18:52 #123
fandt ud af det ved at prøve føst lidt her så lidt der og nu virker det!
Avatar billede w13 Novice
15. oktober 2007 - 18:53 #124
Godt :)
Avatar billede krel Nybegynder
15. oktober 2007 - 18:58 #125
Hold da op 122 svar! lægger lige et mere...
hvis man klikker på en dato før i dag (15-10-2007) og det vises med rød/fed vises der ingen detaljer...
Avatar billede w13 Novice
15. oktober 2007 - 19:58 #126
Hmm. Så prøv lige at poste dit zoom-script her igen.
Avatar billede krel Nybegynder
15. oktober 2007 - 20:02 #127
kommer her:
<%
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/fpdb/kristhedj.mdb")

Set rs=Conn.Execute("select * from [jobdata] where [datostempel]=#"&Request.Querystring("date")&"# order by starttid asc")

If Not rs.EOF Then
Response.Write "<b>"&rs("datostempel")&"</b><br>"
Do While Not rs.EOF
if rs("godkendt") = false and rs("heledagen") = false then Response.Write "(" & FormatDateTime(rs("starttid"),4)&"-" & FormatDateTime(rs("sluttid"),4)&") reserveret"
if rs("godkendt") = false and rs("heledagen") = true then Response.Write "(HELE DAGEN) reserveret <br>"
if rs("godkendt") = true and rs("heledagen") = falset then Response.Write "OPTAGET " & FormatDateTime(rs("starttid"),4)&"-" & FormatDateTime(rs("sluttid"),4)&"<br>"
if rs("godkendt") = true and rs("heledagen") = true then Response.Write "OPTAGET HELE DAGEN<br>"
if rs("godkendt") = false and rs("heledagen") = false then strlink = "<br><a href='booking.asp'>lav booking</a><br><a href='../kristhedj/chart/index.asp'>skjul detaljer</a>"
if rs("godkendt") = false and rs("heledagen") = true then strlink = "<br><a href='booking.asp'>lav booking</a><br><a href='../kristhedj/chart/index.asp'>skjul detaljer</a>"
if rs("godkendt") = true and rs("heledagen") = false then strlink = "<br><a href='booking.asp'>lav booking</a><br><a href='../kristhedj/chart/index.asp'>skjul detaljer</a>"
if rs("godkendt") = true and rs("heledagen") = true then strlink = "<br><a href='../kristhedj/chart/index.asp'>skjul detaljer</a>"
rs.MoveNext
Loop
Response.Write strLink
Else
Response.write "<b>INGEN BOOKING</b>"
Response.write "<br><a href='booking.asp'>lav booking</a><br><a href='../kristhedj/chart/index.asp'>skjul detaljer</a>"

End If
rs.Close
%>
Avatar billede w13 Novice
15. oktober 2007 - 21:08 #128
Jeg kan ikke umiddelbart se nogle fejl i koden. Men lige nu viser zoom.asp altid "ingen booking"..
Avatar billede krel Nybegynder
15. oktober 2007 - 21:14 #129
hvorfor? det virker helt som det skal altså viser detaljer på de datoer hvor der er noget i databasen...
Avatar billede w13 Novice
15. oktober 2007 - 21:17 #130
Ok, nu ser jeg det rigtigt.
Avatar billede krel Nybegynder
17. oktober 2007 - 20:52 #131
hop hey hej..
så har jeg tæsket kalenderen synd og sammen!.. en masse poster her og der for at tjekke at alt er som det skal være

og desværre er jeg løbet ind i dato-format problemer ;(

Har lavet et eksempel med
01.11.2007 (01.nov.2007) er sat til at være 'godkent' og 'optaget hele dagen'
og
11.01.2007 (11.jan.2007) er sat som 'booking' og tidsrum angives

det vises rigtigt i kalenderen altså at 1/11 er fed/rød og 11/1 er alm/gul så tror de er zoom.asp den er gal i får når man så vælger fx. 11/1 vises datoen som 01-11-2007 og optaget hele dagen...

HJÆÆÆÆÆÆÆÆLPPP !!!!
Avatar billede krel Nybegynder
17. oktober 2007 - 20:55 #132
.... det er jo derfor at den heller ikke har ville vise info for dage før d. 13... ellers har den jo vendt måned og dag !!!

- det må helt bestemt være zoom.asp der skal gøres noget ved...
Avatar billede w13 Novice
17. oktober 2007 - 21:06 #133
Jeg har faktisk (desværre) samme problem, når jeg koder for tiden. Tror problemet ligger i Access. Men siger til, hvis jeg skulle finde en løsning. Ellers må du måske blive nødt til at lave et nyt spørgsmål omkring det. Andre har sikkert en løsning.
Avatar billede krel Nybegynder
17. oktober 2007 - 21:18 #134
ok :) hvis du har tid/interesse se evt. http://www.eksperten.dk/spm/801504
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