---
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/page7"
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: 7
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 7 av 7._

## #121 — PLks, 2005-05-24T17:01Z

Aj f\*\*n, då är det väl fortfarande detta som

> **@nders skrev:**
>
> Du kan inte använda variabler innan du har definierat dem. Dvs, ska du ha dem i SQL-frågan måste du definiera variablerna innan dess.

spökar. Kan beropåatt jag aldrog riktigt fattat vad han menar...?

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

## #122 — KimG, 2005-05-24T18:23Z

> **PLks skrev:**
>
> Aj f\*\*n, då är det väl fortfarande detta som
>
> > **@nders skrev:**
> >
> > Du kan inte använda variabler innan du har definierat dem. Dvs, ska du ha dem i SQL-frågan måste du definiera variablerna innan dess.
>
> spökar. Kan beropåatt jag aldrog riktigt fattat vad han menar...?

Ex. 

```
<%

strVariabel = "Hej"  'Här skapar jag en variabel med värdet Hej
Response.Write strVariabel 'Här använder jag samma variabel och skriver ut dess värde.

%>
```

Svårare än så är det inte.
Du måste ge en variabel ett värde innan du kan använda den.

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

## #123 — PLks, 2005-05-24T18:28Z

> **KimG skrev:**
>
> Du måste ge en variabel ett värde innan du kan använda den.

 

```
Set minCon = Server.CreateObject("ADODB.Connection")
set rsBokad = Server.CreateObject("ADODB.Recordset")
        
minCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\ovaasp\db\upptaget.mdb")
strSQL = "SELECT * FROM upptaget WHERE month(startDatum) = " & manad & " AND day(startDatum) = " & iDag & ""
strSQL = strSQL & "WHERE startDatum between #" & dStartDate & "# AND #" &  dEndDate & "#"
strSQL = strSQL & "ORDER by ID startDatum ASC"
rsBokad.Open strSQL, minCon, 3, 3
      dStartDate = Cdate(rsBokad("startDatum"))
	  dEndDate = Cdate(rsBokad("endDatum"))
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
		For dDag = dstartDate To DateAdd("D", dStartDate, +DateDiff("D", dStartDate, dEndDate))
			If cint(manad) = Month(dDag) AND iDag = Day(dDag) 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
		For dDag = dstartDate To DateAdd("D", dStartDate, +DateDiff("D", dStartDate, dEndDate))
			If cint(manad) = Month(dDag) AND iDag = Day(dDag) 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
```

 Men det gör jag väl  i ovanstående med

```
rsBokad.Open strSQL, minCon, 3, 3
      dStartDate = Cdate(rsBokad("startDatum"))
	  dEndDate = Cdate(rsBokad("endDatum"))
Do While Not rsBokad.EOF
	If Left(rsBokad("aktivitet"), 3) = "Trä"  then
```

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

## #124 — @nders, 2005-05-24T18:30Z

I SQL-frågan använder du variablerna dStartDate och dEndDate, trots att du inte skapar dem förrän *efter det* i koden!

Jag lämnar detta nu, jag pratar bara förbi dig.

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

## #125 — KimG, 2005-05-24T18:34Z

Du använder variablarna i din SQL fråga innan de fått något värde. 

```
strSQL = "SELECT * FROM upptaget WHERE month(startDatum) = " & manad & " AND day(startDatum) = " & iDag & ""
strSQL = strSQL & "WHERE startDatum between #" & dStartDate & "# AND #" &  dEndDate & "#"
strSQL = strSQL & "ORDER by ID startDatum ASC"
```

Här använder du variablarna, *dStartDate*  och *dEndDate*.

```
rsBokad.Open strSQL, minCon, 3, 3
```

Här kör du SQL frågan mot databasen

```
dStartDate = Cdate(rsBokad("startDatum"))
dEndDate = Cdate(rsBokad("endDatum"))
```

Här ger du variablerna, som du använt i din SQL fråga, ett värde.

Eftersom du sätter variablernas värde *efter* du använder dem, finns inget värde i variablerna och därmed genererar det fel.

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

## #126 — PLks, 2005-05-24T18:43Z

När jag försöker du sätter variablernas värde före

```
Dim strSQL
Dim dStartDate, dEndDate 
dStartDate = Cdate(rsBokad("startDatum"))
dEndDate = Cdate(rsBokad("endDatum"))

Response.Write "<TR><TD CLASS=""tdleft"" ALIGN=""CENTER"" VALIGN=""BOTTOM""><CENTER><B><FONT SIZE=""5"">"
Response.Write iDag
Response.Write "</FONT></B></CENTER></TD><TD CLASS=""tdnamn"" VALIGN=""BOTTOM"">" &  FirstVersal(aDagar(iDag)) & "</TD>"
minCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\ovaasp\db\upptaget.mdb")
        
strSQL = "SELECT * FROM upptaget WHERE month(startDatum) = " & manad & " AND day(startDatum) = " & iDag & ""
strSQL = strSQL & " WHERE startDatum between #" & dStartDate & "# AND #" &  dEndDate & "#"
strSQL = strSQL & " ORDER by ID startDatum ASC"
rsBokad.Open strSQL, minCon, 3, 3
```

 så får jag

> Microsoft VBScript runtime error '800a000d' 
> Type mismatch: 'rsBokad' 
> 
> /ovaasp/skrivbordskalender1115.asp, line 280

 rad 280

```
dStartDate = Cdate(rsBokad("startDatum"))
```

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

## #127 — KimG, 2005-05-24T18:55Z

Värdet i dina variabler, *dStartDate* och *dEndDate*, kommer ju från databasen. 

Eftersom du inte öppnat databasen och hämtat värdet för variablerna ännu, så får du detta fel. 

Din kod just nu ser ut så här:
1\. *dStartDate* och *dEndDate* *får* ett värde ur databasen, med objektet rsBokad
2\. Du öppnar databasen.
3\. Du kör en SQL sats mot databasen och skapar objektet rsBokad.

Detta fungerar inte. Samma sak gäller för objekt som för variabler i ASP. Du kan inte använda dem *innan* de har fått ett värde som kan användas.

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

## #128 — PLks, 2005-05-25T06:56Z

> Detta fungerar inte. Samma sak gäller för objekt som för variabler i ASP. Du kan inte använda dem innan de har fått ett värde som kan användas.

 att det inte funkar har jag märkt...
Har försökt flyttta coh byta plats på dessa 2 variabler, menkan inte hitta deras rätta plats..
Var skall de vara?

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

## #129 — J.N., 2005-05-25T08:40Z

HEJ!

Det ska inte vara någonstans, i alla fall inte i sin nuvarande form.

Som KimG skriver, kan du inte fylla variablerna med värden ur ett recordset.

Eftersom jag knappast kan säga att jag följt med eller förstått något i alla turer denna tråd har gått, ger jag generella råd för hur du ska få en datum dit:
\- sätt en utgångsdatum
\- spara undan föregående datum
\- programmera om
\- lös uppgiften på annat sätt

Passar också på att skriva att inlägget <http://www.webforum.nu/showthread.php?s=&postid=1049017#post1049017> var fel, du skapar ju objektet i den raden du markerade, vilket jag trodde var line 284, eftersom den var markerad...

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

## #130 — PLks, 2005-05-25T09:13Z

> **J.N skrev:**
>
> lös uppgiften på annat sätt

 då är vi tillbaka ngra steg... varför jag inte kan skriva ut händelse med start och slutdatum..
[inlägg](http://www.webforum.nu/showthread.php?s=&postid=1047264#post1047264) 
[I denna post skrivs iaf alla post ut även om det är på samma rad…](http://www.webforum.nu/showthread.php?s=&postid=1047072#post1047072) [i denna kod skrivs bara först *Eken Cup* ut..](http://www.webforum.nu/showthread.php?s=&postid=1048268#post1048268) [Inlägg](http://www.webforum.nu/showthread.php?s=&postid=1048305#post1048305)

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

## #131 — PLks, 2005-05-26T06:27Z

Snälla ni hjälp mig \*desperat\* kan varken sova, äta eller motsv.
Denna kod är det bästa jag har kommit fram till

```
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")
	    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 även denna kod har sina brister [som ni kan se](http://www45.brinkster.com/ovaasp/skrivbordskalender100.asp) 

1. dubbelpostad träning i maj
2. dubbelpostad matchi maj
3. Alla 5 Ekens Cup listade, men inte på rätt dag

 
Nu ha rjag stirrat i timmar på koden, utan att varken upptäcka fel, eller ha idéer om hur ändra...

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

## #132 — J.N., 2005-05-26T07:30Z

HEJ!

Kontrollera när du skriver ut första posten när det blir dubbelt varför den skriver ut en till. Av någon anledning får du dubbla poster där, vilket är fel.

Är det fel i hämtningen?
Är det fel i visningen?
Är det fel i databasen?

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

## #133 — PLks, 2005-05-26T07:34Z

snälla J.N det är ju bla. det jag har försökt senaste 20 timmarna.
Kan ngn förbarma sig över koden?

Fast dubbel-postningen är ju bara en del av problemet...
Sedan finn sju också #3 och varför inte *Ekens Cup*hamnar på rätt datum??

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

## #134 — SannyW, 2005-05-27T04:53Z

Har ändrat lite i en kalender som jag hade här och gjort om den lite mot dina önskemål. Där e skillnader och databas uppbyggnaden ser ut så här:

ID (räknare)
startdatum
slutdatum
frantid
tilltid
rubrik
detalj

Vilket betyder att du får skriva Rubrik t ex MATCH, TRÄNING, CUP.

Sedan under detalj så fyller man i typ, 
borta match mot IBK Bollfint, samling 12:00

Om du sedan vill berätta i vilken "lokal" som träning eller match skall hållas så kan du ganska enkelt styra det från formuläret istället då du uppdaterar databasen.

Även funktionen med Första Maj osv. måste läggas till i scriptet.

Hoppas det kan hjälpa dig lite i strävan mot ditt slutliga kalender mål.

Bilagor:

- [calender.rar](https://www.webforum.nu/a/6799.rar)

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

## #135 — PLks, 2005-06-25T19:03Z

tyvärr får jag ej din lösning att fungera.

När jag laddar upp  dina filer till brinkster (site.mdb, calendeer.asp och nameday.inc)  får jag följande fel

> Microsoft OLE DB Provider for ODBC Drivers error '80004005' 
> 
> \[Microsoft\]\[ODBC Microsoft Access Driver\]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x1e8 Thread 0x190 DBC 0xcccee8c Jet'.

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

## #136 — SannyW, 2005-06-25T19:43Z

Såg ett fel, du måste ändra i calender.asp gjort ett slarv fel och missat ändra namnet på databaskopplingen.

Ändra databas kopplingen till detta:

```
          "Dbq=" & Server.MapPath("site.mdb")&";" & _
```

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

## #137 — PLks, 2005-06-25T19:57Z

> Såg ett fel, du måste ändra i calender.asp gjort ett slarv fel och missat ändra namnet på databaskopplingen.

 detta löste ej problemet...

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

## #138 — SannyW, 2005-06-25T20:05Z

Har du ändrat på något? Testade precis igen med att tömma databasen och se om det var pga att det fattades fält, men icke.

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

---

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