---
title: "hjälp med utfomningen av resultat-lagring"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/86597-hjälp-med-utfomningen-av-resultat-lagring"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "plelkes"
published: "2003-09-21T19:20:55.000Z"
updated: "2003-10-02T13:19:02.000Z"
replies: 35
views: 505
page: 1
pages: 2
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/86597-hjälp-med-utfomningen-av-resultat-lagring"
---

# hjälp med utfomningen av resultat-lagring

_Sida 1 av 2._

## #1 — plelkes, 2003-09-21T19:20Z

Hej på Er webforumare :) 
Nu har jag tänkt ta tag i en vilande projekt. Nämligen att för jobbets skull underlätta/automatisera beräkningen av vätskebalans. Tanken är att med hjälp av ASP lista innehåller i en databas. Sedan med hjälp av en formulär (kryssrutor – för de brukade vätskorna och textfält – för mängd) fylla i förbrukade vätskor. Denna information vill jag kunna lagra…
Följande villkor gäller:

1. Varje patient har flera dagar
2. Men varje dag är unik för just den pat. Dvs att jag skall kunna ta bort all inskriven data genom att jag tar bort patienten
3. Varje dag används flera vätskor, men alla används inte varje dag
4. Varje vätska har flera egenskaper (Na, K, Cl  osv)
5. Mängden som per dag används av varje vätska (dvs innehållet i textrutan) skall multipliceras med ”egenskapen” för just den vätskan och sedan skall de enskilda egenskaperna adderas var för sig  och resultat skall skrivas in och lagras i en resultattabell.

 

Följande frågor har jag:

1. Hur kan jag utforma denna lagringstabell, när jag på förhand inte vet hur många av vätskorna, och vilka som skall användas?
2. På vilket sätt kan jag lösa beräkningen (se punkt e)

Bilagor:

- [genväg till databas.zip](https://www.webforum.nu/a/2023.zip)

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

## #2 — Engine^, 2003-09-22T07:39Z

Jag antar att du var trött när du postade det här, eftersom du har packat ihop och bifogat en genväg... ;)

Hursomhelst, så här skulle min databas se ut. Den verkar täcka behovet. (1)

**tblPatient**
intPatientID (Integer) (PK)
*\+annan patientdata*

**tblUseage**
dteDag (Date/Time)
intPatientID (Integer)
intFluidID (Integer)
sngAmount (Single)

**tblFluids**
intFluidID (Integer) (PK)
strNamn (String)

**tblChemicals**
intChemicalID (Integer) (PK)
strNamn (String)

**tblMadeOf**
intChemicalID (Integer) (FK -\> tblChemicals)
intFluidID (Integer) (FK -\> tblLiquids)
sngAmount (Single)

(2) Säg att patient 1 på en given dag får tre olika vätskor vilka i sig består av en till fyra olika delar kemikalier, så kan beräkningen se ut så här

```
SELECT Sum(tblU.sngAmount * tblMO.sngAmount)
FROM tblPatient tblP
INNER JOIN (tblUseage tblU
  INNER JOIN (tblFluids tblF
    INNER JOIN (tblMadeOf tblMO
       INNER JOIN tblChemicals tblC
         ON tblC.intChemicalID = tblMO.intChemicalID)
       ON tblMO.intFluidID = tblF.intFluidID)
    ON tblF.intFluidID = tblU.intFluidID)
  ON tblU.intPatientID = tblP.intPatientID
WHERE tblP.intPatientID = 1 AND tblU.dteDag = #2003-09-23#
```

Jag bifogar en liten databas för att visa hur jag tänker och om jag gjort som du tänkt :)

Bilagor:

- [kemi.rar](https://www.webforum.nu/a/2027.rar)

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

## #3 — plelkes, 2003-09-22T08:35Z

tack för ditt svar Engine^.....
Ser ut som en elegant lösning :bire - inget annat var att förvänta.
Kommer fördjupa och dissikera grundligare ditt förslag så fort  jag hinner, men först ngr frågor/förtydligande:

> PK

 betyder primär nyckel - eller hur?
Men vad betyder

> FK -\> tblChemicals

 
Du  har delat upp "innehållet" i 2 tabeller - dels en tabell som listar alla i förhållandet intressanta kemikaler (tblChemicals) och dels tillförda mängden (tblMadeOf) eller hur?

Ett annat problem är att jag inte kan öppna .rar med XP home - kan du packa i ngt annat format?

> eftersom du har packat ihop och bifogat en genväg...

 Och lika bra var det, eftersom mitt databas ändå inte såg ut som ditt :stud

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

## #4 — Engine^, 2003-09-22T08:58Z

PK är mycket riktigt Primary Key och FK är Foreign Key, vilken är en nyckel som är skapad utifrån relationer mellan tabeller och det kan du läsa mer om [här](http://www.ida.liu.se/~tompa/databaser/index.html). Det är ett resultat av att jag delat upp "innehållet" som du skrev.

Ja, visst, jag kan väl bifoga en zip-fil istället ;)

Bilagor:

- [kemi.zip](https://www.webforum.nu/a/2029.zip)

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

## #5 — plelkes, 2003-09-22T09:50Z

OK,
jag förstår att jag var ute och fladdrade när jag konstruerade mitt databas. Men med tanke på att det är första gången jag försöker så är det förståerligt:OO 

Men vad menar du egentligen med:

> Det är ett resultat av att jag delat upp "innehållet

 

Om jag nu skulle villja dela upp tblFluids i olika undergrupper, då måste jag skapa sådana FK, eller?

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

## #6 — Engine^, 2003-09-22T10:50Z

Jag la upp databasen som så att en vätska kan innehålla en eller flera olika kemikalier, så för varje vätska du lägger till behöver du även lägga till i tblMadeOf vad den består av. Du ser hur jag har gjort med vatten t.ex.
i tblFluid är har vatten id 2 och i tblChemicals finns atomerna H och O representerat med varsitt idnummer. I tblMadeOf är vätskan vatten beskriven med två rader.

```
intChemicalID    intFluidID    sngAmount
-------------    ----------    ---------
            3             2            1
            4             2            2
```

D.v.s. vätskan med id 2 innehåller 1 del av ämnet 3 och 2 delar av ämnet 4.

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

## #7 — plelkes, 2003-09-22T12:43Z

> vätskan med id 2 innehåller 1 del av ämnet 3 och 2 delar av ämnet 4

 
I mitt fall blir det snarare:
vätskan med id 2 innehåller 0,154 mmol/ml av ämnet 3 och 0,004 mmol/ml av ämnet 4. Så totala mängden av respektive ämnen som är intressanta beror på mängden förbrukade.

Förrestän, ytterligare en fråga:
är sngAmount  i tblUseage  identisk med sngAmount i tblMadeOf ?

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

## #8 — Engine^, 2003-09-22T21:51Z

Jag tror att din ytterligare fråga kommer på grund av att du ínte förstog mitt upplägg av databasen. Att vätska två innehåller 0,154 millimol och 0,004 mmol är helt enligt hur jag tänkte... så svaret på din ytterligare fråga är nej. :)

En lösning av något ämne t.ex. det du beskrev är en (1) del av den lösningen. I tabellen tblUseage tänkte jag att du skulle ange hur många delar av den lösningen patienten ska få / fick, capice?

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

## #9 — plelkes, 2003-09-23T08:26Z

Vet inte om vi pratar förbi varandra, men...

1. mängden "innehåll" är ju beroende av mängden patienten får av en speciell vätska.
2. tex. i mitt exempel ger 1000 ml av vätskan med id 2 , då får patienten 154 mmol av ämnet 3 och 4 mmol av ämnet 4. Detta behöver inte (mellan)lagras ngnstans. Utan är bara intresserad av det totala mmol av ämnena 1, 2, 3 osv som patienten erhåller per dag
3. var anger man mängden av de olika vätskor som patienten får? Detta skall nämligen lagras i "resultat"tabellen för varaje enskild vätska och för varje dag

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

## #10 — plelkes, 2003-09-23T16:44Z

Jag vet inte om jag lyckats förklara vad jag vill åstadkomma. Därför tänker jag vara "äkligt" tydlig och bifogar ngra filer:
Filen vätskebalans_projekt.xls hittas följande blad:

1. inneh.per.ml visar de i sammanhanget relevanta vätskor med innehåll
2. bladet vätskebalans kanske bättre kan förklara vad jag vill åstadkomma: i de rosa fälten fylls sammanlagda mängden "innehåll", medan i de blå givna mängden av de enskilda vätskorna

Bilagor:

- [vätskebalans_projekt.zip](https://www.webforum.nu/a/2044.zip)

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

## #11 — plelkes, 2003-09-23T18:59Z

Tyvärr kan inte jag öppna Kemi.mdb eftersom jag har Access 2000...

Däremot har jag försökt göra en databas efter Engine^´s hjälp och vägledning.
Var det ungefär såhär du tänkt dig?

Bilagor:

- [vatskebalans.zip](https://www.webforum.nu/a/2048.zip)

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

## #12 — plelkes, 2003-09-25T14:47Z

Engine^, har du sett "databasen"?

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

## #13 — plelkes, 2003-09-30T06:12Z

Nu har jag äntligen kunnat kolla kemi.mdb...
Vad betyder 

> \+

  i tblChemicals?

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

## #14 — Engine^, 2003-09-30T09:35Z

Åh, det betyder att posten har en relation till en post i en annan tabell.

Angående "databasen", så kan jag inte komma ihåg att jag har hunnit titta på den, men jag skulle kanske kunna ta mig en titt :)

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

## #15 — plelkes, 2003-09-30T09:41Z

> posten har en relation till en post i en annan tabell

 och hur fixar jag till det?

> men jag skulle kanske kunna ta mig en titt

 Vänta ett tag med det - håller just på att "jobba" med databasen

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

## #16 — Engine^, 2003-09-30T10:56Z

Hur du fixar till?

Om jag förstår dig rätt, så skapar du relationer genom att gå in på Tools-\>Relationships (eller klickar på en liten knapp i verktygsfältet som har tre små fönster i sig, förbundna med streck). En relation skapar genom några enkla steg

- Högerklicka på den grå ytan och välj Show Tables. Välj dom tabeller du vill ha med...
- Klicka på ett fält i en tabell och "dra" det till ett fält i en annan tabell, som du vill ska vara relaterade med varandra.

Men eftersom du hade tänkt att datat skulle vara för en ASPsida är det (förhållandevis) onödigt att skapa dessa relationer, eftersom Access jobbar internt med dessa då det till exempel skapar frågor med en wizard. (Det kan vara praktiskt i dom fallen du vill göra en cascade delete/update.)

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

## #17 — plelkes, 2003-09-30T13:30Z

> en ASPsida är det (förhållandevis) onödigt att skapa dessa relationer

 Menar du att jag inte behöver bry mig om relationer?

1. i tblUsage och tblMadeOff har du 2 primärnycklar? hur har du lyckats med detta?
2. \+ tecknet i tblChemicals - hur har du lyckats med det?
3. är 1 och eller 2 onödiga vid  ASPsida ?

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

## #18 — plelkes, 2003-09-30T18:06Z

så ser databasen ut för närvarande..
Hoppas att Engine^och ni andra kan ta er tid att titta på databasen, och komma med kommentarer.

Som ni nu säkert har förstått kommer databasen att användas på ASPsidor

Bilagor:

- [vbalans.zip](https://www.webforum.nu/a/2097.zip)

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

## #19 — Engine^, 2003-09-30T23:23Z

Jag kan ta mig tid med detta och jag kan säga på en gång att din databas behöver omstruktureras en hel del.

Jag förstår att mina svar kanske inte har hjälpt dig så värst :)

Eftersom jag känner att jobbet (om sex timmar) kommer att vara lugna gatan, så blir det fint att ha lite annat att jobba med :)

För en gångs skull så har jag befintlig data att utgå ifrån och ett önskat resultat att uppnå istället för - skapa nytt, få knepiga idéer och förslag och gör om - kan jag arbeta med något konkret.

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

## #20 — plelkes, 2003-10-01T06:46Z

> din databas behöver omstruktureras

 Ajdå - och jag som var så nöjd med resultatet ;) 

Men är naturligtvis kanoon tacksam för all hjälp. Det verkar ju inte vara så lätt att konstuera en databas

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/86597-hjälp-med-utfomningen-av-resultat-lagring  
Nästa sida: https://www.webforum.nu/amne/databaser-sql/86597-hjälp-med-utfomningen-av-resultat-lagring/page2.md
