---
title: "kalender som visar matcher, tuneringar och träningar"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/128156-kalender-som-visar-matcher-tuneringar-och-träningar/page5"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "PLks"
published: "2005-05-13T09:12:46.000Z"
updated: "2005-06-25T20:05:08.000Z"
replies: 137
views: 3818
page: 5
pages: 7
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/128156-kalender-som-visar-matcher-tuneringar-och-träningar"
---

# kalender som visar matcher, tuneringar och träningar

_Sida 5 av 7._

## #81 — J.N., 2005-05-20T08:53Z

HEJ!

Det tycker jag är ett glasklart felmeddelande!

```
[b]Extra )[/b] in query expression 'month(startDatum) = 5 AND month(dTempDate)[b])[/b]...
```

Permalänk: https://www.webforum.nu/p/1614751

## #82 — PLks, 2005-05-20T08:58Z

tänk att man skall vara sååå blind :r 
MEN,nu blir det

> Microsoft JET Database Engine error '80040e10' 
> No value given for one or more required parameters. 
> 
> /ovaasp/skrivbordskalender109.asp, line 289

Permalänk: https://www.webforum.nu/p/1614756

## #83 — @nders, 2005-05-20T09:03Z

dTempdate är ju inget fält i tabellen, utan en variabel i ASP-koden.

Permalänk: https://www.webforum.nu/p/1614760

## #84 — PLks, 2005-05-20T09:05Z

> **@nders skrev:**
>
> dTempdate är ju inget fält i tabellen, utan en variabel i ASP-koden.

 det stämmer ju förstås...
Har du ngra förslag på lösning av mitt problem?

Permalänk: https://www.webforum.nu/p/1614762

## #85 — @nders, 2005-05-20T09:06Z

Nix, för jag förstår inte varför du ska ha med dTempDate i SQL-frågan, eftersom det är en variabel som skapas i ditt Else-case i asp-koden.

Permalänk: https://www.webforum.nu/p/1614764

## #86 — PLks, 2005-05-20T09:09Z

@nders, nu menade jag problemet med varför det blir så konstigt i  [juni](http://www45.brinkster.com/ovaasp/skrivbordskalender104.asp) ???
dvs
fungerande kod

```
 strSQL = "SELECT * FROM upptaget WHERE month(startDatum) = " & manad & " AND day(startDatum) = " & iDag & " ORDER by ID ASC"
rsBokad.Open strSQL, minCon, 3, 3
Do While Not rsBokad.EOF

If Left(rsBokad("aktivitet"), 3) = "Trä"  then
	    Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
	 	Response.Write ", kl " & FormatDateTime(rsBokad("startTid"), 4) & " - "
	 	Response.Write FormatDateTime(rsBokad("endTid"), 4) & " , " & rsBokad("lokal")
	
	  Else
	     Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
		  Response.Write ", i " & rsBokad("lokal")
 
	Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
	Response.Write " i "  	
	Response.Write rsBokad("lokal")
	End if
	rsBokad.MoveNext
Loop
```

 

Ej korrekt fungerande kod

```
strSQL = "SELECT * FROM upptaget WHERE month(startDatum) = " & manad & " AND day(startDatum) = " & iDag & " ORDER by ID ASC"
rsBokad.Open strSQL, minCon, 3, 3
Do While Not rsBokad.EOF
    ElseIf Right(rsBokad("aktivitet"), 3) = "Cup" Then
	    dStartDate = Cdate(rsBokad("startDatum"))
	    dEndDate = Cdate(rsBokad("endDatum"))
		For dTempDate = dStartDate to dEndDate
		   Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
		   Response.Write ", i " & rsBokad("lokal")
		   		Next
 
	  Else
	     Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
		  Response.Write ", i " & rsBokad("lokal")
	Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
	Response.Write " i "  	
	Response.Write rsBokad("lokal")
	End if
	rsBokad.MoveNext
Loop
```

Permalänk: https://www.webforum.nu/p/1614765

## #87 — @nders, 2005-05-20T10:26Z

I den ej fungerande koden inleder du med en elseif först i loopen. Du kan inte ha någon elseif om du inte har någon if som den hör ihop med.

Och sedan tror jag att jag sagt det tusen gånger i denna tråd: indentera, indentera, indentera! Indenterar man inte blir det bara kladd och massor av slarvfel.

Bra indentering:

```
If detena = detandra then
        for i = 0 to 6
              if detfjärde = detfemte then
                     Response.write "jodå!"
              end if
        next
Else
        if foo = "bar" then
                 set objRS = objConn.execute ("select * from foobar")
                 while not objRS.EOF then
                        if något = någotannat then
                                 ' gör något
                        end if
                        objRS.Movenext
                 wend
        End if
End if
```

Svårläst:

```
If detena = detandra then
        for i = 0 to 6
if detfjärde = detfemte then
      Response.write "jodå!"
              end if
  next
                 Else
            if foo = "bar" then
          set objRS = objConn.execute ("select * from foobar")
        while not objRS.EOF then
    if något = någotannat then
                           ' gör något
end if
             objRS.Movenext
 wend
End if
```

Indenterar man ordentligt är det *extremt* mycket lättare att läsa koden, och lättare att hitta slarvfel, som exempelvis att man missar att påbörja eller avsluta ett block, eller om saker och ting påbörjas / avslutas på fel ställe.

Permalänk: https://www.webforum.nu/p/1614789

## #88 — PLks, 2005-05-22T17:51Z

tillbaka till civilisationen från landet...
@nders: jag försöker indentera, menmisslyckad tydlige...
Tycker det är svårt med indentering...

Permalänk: https://www.webforum.nu/p/1615480

## #89 — PLks, 2005-05-22T18:20Z

Vet inte om detta du menade (försökt indentera)

```
Do While Not rsBokad.EOF

If Left(rsBokad("aktivitet"), 3) = "Trä"  then
	        Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
	 	    Response.Write ", kl " & FormatDateTime(rsBokad("startTid"), 4) & " - "
	 	    Response.Write FormatDateTime(rsBokad("endTid"), 4) & " , " & rsBokad("lokal")
	    ElseIf Left(rsBokad("aktivitet"), 2) = "Ma" Then
		            Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
		            Response.Write " mot  " & rsBokad("Mot")
		            Response.Write " i " & rsBokad("lokal") & ", kl " 
		            Response.Write  FormatDateTime(rsBokad("startTid"), 4) 
		         
End If
If Right(rsBokad("aktivitet"), 3) = "Cup" Then
	              dStartDate = Cdate(rsBokad("startDatum"))
	              dEndDate = Cdate(rsBokad("endDatum"))
		                For dTempDate = dStartDate to dEndDate
		                 Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
		                 Response.Write ", i " & rsBokad("lokal")
						 Next
		   		   ElseIf Right(rsBokad("aktivitet"), 3) = "Cam" Then
	                     dStartDate = Cdate(rsBokad("startDatum"))
	                     dEndDate = Cdate(rsBokad("endDatum"))
		                   For dTempDate = dStartDate to dEndDate
		                       Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
		                       Response.Write ", i " & rsBokad("lokal")
                       Next
Else
	      Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
		  Response.Write ", i " & rsBokad("lokal")
End if
	rsBokad.MoveNext
Loop
    rsBokad.Close
```

  Men det blir [konstigt](http://www45.brinkster.com/ovaasp/skrivbordskalender114.asp) 

1. träningen skrivs två gånger - men andra gången utan tid
2. matchen skrivs två gånger - andra gången utan skriva ut motståndare
3. Eken Cup slrivs ut 5 ggånger (som det skall) ... men i samma cell och inte cellen under varandra, som det är tänkt...

Permalänk: https://www.webforum.nu/p/1615492

## #90 — PLks, 2005-05-23T05:09Z

Orsaken till #1 och #2 verkar att efter att kollat If och ElseIf satserna, så skrivs Else ut även om If eller ElseIf uppfylls...

Permalänk: https://www.webforum.nu/p/1615574

## #91 — @nders, 2005-05-23T06:21Z

Om jag inte tolkar allt helt fel så borde väl:

```
End If
If Right(rsBokad("aktivitet"), 3) = "Cup" Then
```

vara:

```
ElseIf Right(rsBokad("aktivitet"), 3) = "Cup" Then
```

Permalänk: https://www.webforum.nu/p/1615582

## #92 — PLks, 2005-05-23T06:24Z

men då @nders, har jag nog tolkat dig fel...
I [inlägget](http://www.webforum.nu/showthread.php?s=&postid=1047296#post1047296)  fattade jag som att det var fel att börja med ElseIF :q

Permalänk: https://www.webforum.nu/p/1615584

## #93 — @nders, 2005-05-23T06:33Z

Jo, men här har du ju en if-sats överst? Om du ändrar till ElseIf där jag föreslår så skulle ju hela if-satsblocket se ut så här (start med if-sats alltså):

```
If Left(rsBokad("aktivitet"), 3) = "Trä"  then
...
ElseIf Left(rsBokad("aktivitet"), 2) = "Ma" Then
...
ElseIf Right(rsBokad("aktivitet"), 3) = "Cup" Then
...
ElseIf Right(rsBokad("aktivitet"), 3) = "Cam" Then
...
Else
...
End if
```

Permalänk: https://www.webforum.nu/p/1615586

## #94 — PLks, 2005-05-23T06:37Z

då förstår jag....
För att återkomma till indentering.. är det så här du menar?

```
If Left(rsBokad("aktivitet"), 3) = "Trä"  then
         ...
               ElseIf Left(rsBokad("aktivitet"), 2) = "Ma" Then
                          ...
                         ElseIf Right(rsBokad("aktivitet"), 3) = "Cup" Then
                                   ...
                                   ElseIf Right(rsBokad("aktivitet"), 3) = "Cam" Then
                                               ...
Else
...
End if
```

Permalänk: https://www.webforum.nu/p/1615587

## #95 — @nders, 2005-05-23T06:49Z

Nej, det jag menar är att man ska hålla ihop de olika blocken så man ser vad som tillhör vad. Ett till exempel:

```
[kod]If Left(rsBokad("aktivitet"), 3) = "Trä"  then
	Response.write "trä"
ElseIf Left(rsBokad("aktivitet"), 2) = "Ma" Then
	Response.write "ma"
	if ett = tva then
		Response.write "foo"
	end if
ElseIf Right(rsBokad("aktivitet"), 3) = "Cup" Then
	Response.write "cup"
ElseIf Right(rsBokad("aktivitet"), 3) = "Cam" Then
	Response.write "cam"
Else
	Response.write "annat"
End if
```

Permalänk: https://www.webforum.nu/p/1615590

## #96 — PLks, 2005-05-23T07:30Z

Efter att fyllt i med div Next som Brinkster sa´till se koden ut så här

```
Do While Not rsBokad.EOF

If Left(rsBokad("aktivitet"), 3) = "Trä"  then
	    Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
	 	Response.Write ", kl " & FormatDateTime(rsBokad("startTid"), 4) & " - "
	 	Response.Write FormatDateTime(rsBokad("endTid"), 4) & " , " & rsBokad("lokal")
	ElseIf Left(rsBokad("aktivitet"), 2) = "Ma" Then
		Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
		Response.Write " mot  " & rsBokad("Mot")
		Response.Write " i " & rsBokad("lokal") & ", kl " 
		Response.Write  FormatDateTime(rsBokad("startTid"), 4) 
    ElseIf Right(rsBokad("aktivitet"), 3) = "Cup" Then
	      dStartDate = Cdate(rsBokad("startDatum"))
	      dEndDate = Cdate(rsBokad("endDatum"))
		         For dTempDate = dStartDate to dEndDate
		              If cint(manad) = Month(dTempDate) AND iDag = Day(dTempDate) then
		                 Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
		                 Response.Write ", i " & rsBokad("lokal")
		   	           End If
		Next
     ElseIf Right(rsBokad("aktivitet"), 3) = "Cam" Then
	       dStartDate = Cdate(rsBokad("startDatum"))
	       dEndDate = Cdate(rsBokad("endDatum"))
		           For dTempDate = dStartDate to dEndDate
				       If cint(manad) = Month(dTempDate) AND iDag = Day(dTempDate) then
		                   Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
		                   Response.Write ", i " & rsBokad("lokal")
                       End If
		     Next
Else
	Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
	Response.Write ", i " & rsBokad("lokal")
	End if
	rsBokad.MoveNext
Loop

rsBokad.Close
```

 så blir det bara första dagen av Eken Cup utskrivet...

Permalänk: https://www.webforum.nu/p/1615604

## #97 — @nders, 2005-05-23T07:34Z

Efteratt återigen ha indenterat din kod så ser man lätt att det saknas en *next* i din else-sats:

```
Do While Not rsBokad.EOF
	If Left(rsBokad("aktivitet"), 3) = "Trä"  then
		Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
		Response.Write ", kl " & FormatDateTime(rsBokad("startTid"), 4) & " - "
		Response.Write FormatDateTime(rsBokad("endTid"), 4) & " , " & rsBokad("lokal")
	ElseIf Left(rsBokad("aktivitet"), 2) = "Ma" Then
		Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
		Response.Write " mot  " & rsBokad("Mot")
		Response.Write " i " & rsBokad("lokal") & ", kl " 
		Response.Write  FormatDateTime(rsBokad("startTid"), 4) 
	ElseIf Right(rsBokad("aktivitet"), 3) = "Cup" Then
		dStartDate = Cdate(rsBokad("startDatum"))
		dEndDate = Cdate(rsBokad("endDatum"))
		For dTempDate = dStartDate to dEndDate
			If cint(manad) = Month(dTempDate) AND iDag = Day(dTempDate) then
				Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
				Response.Write ", i " & rsBokad("lokal")
			End If
		Next
	ElseIf Right(rsBokad("aktivitet"), 3) = "Cam" Then
		dStartDate = Cdate(rsBokad("startDatum"))
		dEndDate = Cdate(rsBokad("endDatum"))
		For dTempDate = dStartDate to dEndDate
			If cint(manad) = Month(dTempDate) AND iDag = Day(dTempDate) then
				Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
				Response.Write ", i " & rsBokad("lokal")
			End If
		Next
	Else
		Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
		Response.Write ", i " & rsBokad("lokal")
		dStartDate = Cdate(rsBokad("startDatum"))
		dEndDate = Cdate(rsBokad("endDatum"))	
		For dTempDate = dStartDate to dEndDate 	
			Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
			Response.Write " i "  	
			Response.Write rsBokad("lokal")
		[b]Next[/b]
	End if
	rsBokad.MoveNext
Loop

rsBokad.Close
```

Permalänk: https://www.webforum.nu/p/1615607

## #98 — PLks, 2005-05-23T08:09Z

tyvärr @nders är det fel kod du ändrade.
Den [rätta](http://www.webforum.nu/showthread.php?s=&postid=1048226#post1048226)

Permalänk: https://www.webforum.nu/p/1615620

## #99 — @nders, 2005-05-23T08:11Z

Hmm

Jag tyckte det var den koden jag ändrade?
Redigerade du medans jag skrev mitt inlägg?

Permalänk: https://www.webforum.nu/p/1615621

## #100 — PLks, 2005-05-23T08:14Z

vet inte om jag redigerade,men faktum kvarstar ;) 

Har provat med

```
If Left(rsBokad("aktivitet"), 3) = "Trä"  then
	    Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
	 	Response.Write ", kl " & FormatDateTime(rsBokad("startTid"), 4) & " - "
	 	Response.Write FormatDateTime(rsBokad("endTid"), 4) & " , " & rsBokad("lokal")
	ElseIf Left(rsBokad("aktivitet"), 2) = "Ma" Then
		Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
		Response.Write " mot  " & rsBokad("Mot")
		Response.Write " i " & rsBokad("lokal") & ", kl " 
		Response.Write  FormatDateTime(rsBokad("startTid"), 4) 
       ElseIf Right(rsBokad("aktivitet"), 3) = "Cup" Then
	      dStartDate = Cdate(rsBokad("startDatum"))
	      dEndDate = Cdate(rsBokad("endDatum"))
		         For dTempDate = dStartDate to dEndDate
		            [B]Do While NOT dTempDate = dEndDate[/B]
					  If cint(manad) = Month(dTempDate) AND iDag = Day(dTempDate) then
		                 Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
		                 Response.Write ", i " & rsBokad("lokal")
		   	           End If
		
     ElseIf Right(rsBokad("aktivitet"), 3) = "Cam" Then
	       dStartDate = Cdate(rsBokad("startDatum"))
	       dEndDate = Cdate(rsBokad("endDatum"))
		           For dTempDate = dStartDate to dEndDate
				      [B]Do While NOT dTempDate = dEndDate[/B]
				       If cint(manad) = Month(dTempDate) AND iDag = Day(dTempDate) then
		                   Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
		                   Response.Write ", i " & rsBokad("lokal")
                       End If
		    
Else
	Response.Write "</FONT></B></TD><TD CLASS=""tdcal""  VALIGN=""BOTTOM"">" & rsBokad("aktivitet")
	Response.Write ", i " & rsBokad("lokal")
	End if
	rsBokad.MoveNext
Loop

rsBokad.Close
```

 

> Microsoft VBScript compilation error '800a03fb' 
> 
> Expected 'Loop' 
> 
> /ovaasp/skrivbordskalender116.asp, line 310 
> 
> ElseIf Right(rsBokad("aktivitet"), 3) = "Cam" Then
> ^

Permalänk: https://www.webforum.nu/p/1615625

---

Tråden på webben: https://www.webforum.nu/amne/asp/128156-kalender-som-visar-matcher-tuneringar-och-träningar/page5  
Föregående sida: https://www.webforum.nu/amne/asp/128156-kalender-som-visar-matcher-tuneringar-och-träningar/page4.md  
Nästa sida: https://www.webforum.nu/amne/asp/128156-kalender-som-visar-matcher-tuneringar-och-träningar/page6.md
