---
title: "Notes i en kalender"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/54346-notes-i-en-kalender"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Jesper T"
published: "2002-09-26T14:00:33.000Z"
updated: "2002-10-11T19:42:41.000Z"
replies: 16
views: 486
page: 1
pages: 1
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/databaser-sql/54346-notes-i-en-kalender"
---

# Notes i en kalender

## #1 — Jesper T, 2002-09-26T14:00Z

Jag undrar hur jag skall skapa en select-sats till min kalender som jag har tänkt att lägga till en "attgörakolumn" som skall vara kopplad till user och datum.

Databasen ser ut som följer (Access).

Tabell: Plan
Kolumner:
\| id \| user \| datum \| frantid \| tilltid \| rubrik \| detalj \| privat \|

Alltså, varje user skall kunna klicka på en "attgörafönster" och få upp dagens aktiviteter(inte relaterat till kalenderns händelser).

Skall jag göra en relaterad tabell eller hur gör man detta?

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

## #2 — doggelito, 2002-09-27T09:18Z

Du borde ha en användartabell.

Typ:

```
Users
--------------
Userid | Name

strSql = "Select P.rubrik, P.detalj, U.Name From Plan P " & _
"Inner Join Users U On P.user = U.Id  " & _
"Where P.datum = '" & Date() & "' ;"
```

Dagens uppgifter visas då, ta bort wheresatsen om du vill visa alla personens uppgifter.

Var det nått sånt du ville ha? :)

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

## #3 — Jesper T, 2002-09-28T14:17Z

Exakt vad jag sökte, tack!
Kan du förklara vad sql-satsen gör. Varför skriver man t.ex. **p.**detalj, **u.**name osv.?

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

## #4 — LarsG, 2002-09-28T17:43Z

Plan P
Users U

Innebär att P och U skall användas istället för users och plan. Dels blir det kortare att och dels blir det ingen tvetydighet om i vilken tabell en kolumn finns.

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

## #5 — Jesper T, 2002-09-28T18:28Z

Tack!
Men....I vilken tabell läggs aktiviteterna in?
Jag ser att på sql-satsen att det inte riktigt stämmer.
Jag vill ha en helt egen tabell med händelser kopplade till en viss user och en viss dag.
Dessa händelser har ingenting med kalenderns aktiviteter att göra, händelserna skall bara vara som ett slags "antecknignsblock" som man kan skriva in "attgörasaker" på under den specifika dagen.

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

## #6 — Jesper T, 2002-09-28T23:07Z

Den övre frågan kvarstår, har även en till grej.
Som ni ser så ser min tabell(plan) ut som följer:
\| id \| user \| datum \| frantid \| tilltid \| rubrik \| detalj \| privat \|

Och alla nya händelser läggs till i tabellen. 
När en viss person är i sin kalender så ser sqlsatsen ut så här:

```
		SQL= "SELECT frantid,tilltid,id,rubrik,detalj,user,privat FROM plan WHERE datum=#"& datum &"# and frantid=#"& i &":"& x &"# and user='"& user &"' and (privat=false" & _
        " or user = '" & user & "') order by tilltid desc"
```

Skulle det vara effektivara på ngt sätt att ha en separat tabell med användare?
Och hur länkar man användare till specifik aktivitet i kalendern?

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

## #7 — Jesper T, 2002-09-29T13:27Z

Någon?

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

## #8 — Chainsaw, 2002-09-30T07:05Z

Om du bara ska länka en enda användare till varje kalenderhändelse så är det skitenkelt: lägg in userId-numret som en kolumn. Ska flera användare kunna dela på samma händelse så krävs en mellantabell med två ID-värden: användare och händelse. Du kan på det sättet säga att flera olika användare äger samma händelse.

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

## #9 — Jesper T, 2002-09-30T11:11Z

> lägg in userId-numret som en kolumn

 
Är det bättre än att skippa användarlistan?
Nu så lägger jag in "löpande" rakt av utan id, så att det blir ungefär så här:

01 \| Olle \| 2002-11-21 \| 13:00 \| 16:00 \| Dans \| Dans på logen \|
02 \| Åke \| 2002-11-26 \| 17:00 \| 19:00 \| Möte \| Möte på Kontoret \|
03 \| Ulla \| 2002-08-28 \| 11:00 \| 12:00 \| Dans \| Fika med Olle  \|
04 \| Olle \| 2002-12-21 \| 13:00 \| 16:00 \| Dans \| Dans på logen \|

Och när jag plockar fram Olles poster så kör jag ovan nämnd sql(mitt förra inlägg).
Jag använder inte userid:t i en annan tabell. Vad är effektivast, smartast, lättast och trevligast?

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

## #10 — Chainsaw, 2002-10-01T08:15Z

Smidigast är att ha separata tabeller för användare och kalender, och köra med ett unikt ID-nummer för att identifiera vilken kalenderpryl som tillhör vem. Dessutom är det snabbare att söka på siffror än text.

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

## #11 — Jesper T, 2002-10-02T18:03Z

```
if not allPost<>"" then
sql = "Select P.rubrik, P.detalj, P.id, P.privat, U.uid, "
sql = sql &  " FORMAT$(P.datum, 'yyyy-mm-dd') as datum1,"
sql = sql &  " FORMAT$(P.frantid, 'hh:mm') as ftid,"
sql = sql &  " FORMAT$(P.tilltid, 'hh:mm') as ttid"
sql = sql &  " From Plan P Inner Join users U On P.pkuserid = U.pkuserid "
sql = sql &  " Where P.datum like '" & Left(dDate,7) & "%' "
sql = sql &  " order by frantid asc"
else'om ingen specifik användare
sql = "Select P.rubrik, P.detalj, P.id, P.privat, U.uid, "
sql = sql &  " FORMAT$(P.datum, 'yyyy-mm-dd') as datum1,"
sql = sql &  " FORMAT$(P.frantid, 'hh:mm') as ftid,"
sql = sql &  " FORMAT$(P.tilltid, 'hh:mm') as ttid"
sql = sql &  " From Plan P Inner Join users U On P.pkuserid  = U.pkuserid "
sql = sql &  " Where P.datum like '" & Left(dDate,7) & "%' "
sql = sql &  " and (P.privat=false or uid = '" & user & "')  order by frantid asc"
end if
```

 

Så här vill jag att det skall vara:
Den första sql:en skall hämta alla "personliga inlägg" i kalendern den andra skall hämta allas inlägg som inte är markerade med "trivat=true".

Så här är det nu:
Den första visar alla inägg
Den andra visar alla inlägg som inte är privata.

Vad göra?

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

## #12 — Jesper T, 2002-10-04T00:36Z

Hjäälp!

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

## #13 — Jesper T, 2002-10-07T16:39Z

Någon som vet?

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

## #14 — Jesper T, 2002-10-08T19:36Z

Detta problem är fortfarande inte löst.

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

## #15 — Jesper T, 2002-10-09T14:44Z

Inte löst, hjälp!

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

## #16 — doggelito, 2002-10-10T14:44Z

Om du inte redan löst det:
Jag vet inte riktigt hur du hämtar upp userid, förmodligen så loggar man in och så sparas id´t i en session, eller?
I så fall, första sqlén måste ha userid´t med i where-satsen:

```
sql = "Select P.rubrik, P.detalj, P.id, P.privat, U.uid, "
sql = sql &  " FORMAT$(P.datum, 'yyyy-mm-dd') as datum1,"
sql = sql &  " FORMAT$(P.frantid, 'hh:mm') as ftid,"
sql = sql &  " FORMAT$(P.tilltid, 'hh:mm') as ttid"
sql = sql &  " From Plan P Inner Join users U On P.pkuserid = U.pkuserid "
sql = sql &  " Where U.pkuserid = " & Session("Userid") & " And P.datum like '" & Left(dDate,7) & "%' "
sql = sql &  " order by frantid asc"
```

andra sqlén:

```
sql = "Select P.rubrik, P.detalj, P.id, P.privat, U.uid, "
sql = sql &  " FORMAT$(P.datum, 'yyyy-mm-dd') as datum1,"
sql = sql &  " FORMAT$(P.frantid, 'hh:mm') as ftid,"
sql = sql &  " FORMAT$(P.tilltid, 'hh:mm') as ttid"
sql = sql &  " From Plan P Inner Join users U On P.pkuserid  = U.pkuserid "
sql = sql &  " Where P.datum like '" & Left(dDate,7) & "%' "
sql = sql &  " and P.privat=false order by frantid asc"
```

Kanske kommer du lite närmare! :)

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

## #17 — Jesper T, 2002-10-11T19:42Z

Tack, jag skall titta på det senare. Jag har inte löst det än. Men tack ändå!
Återkommer.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/54346-notes-i-en-kalender
