---
title: "Multiplikation av tabelfält och textruta"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/92860-multiplikation-av-tabelfält-och-textruta"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "plelkes"
published: "2003-12-16T18:12:30.000Z"
updated: "2003-12-18T14:50:38.000Z"
replies: 11
views: 351
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/asp/92860-multiplikation-av-tabelfält-och-textruta"
---

# Multiplikation av tabelfält och textruta

## #1 — plelkes, 2003-12-16T18:12Z

Hej igen ni ASP-gurus..

1. När en viss objRS("FluidID") är ikryssad, gå då till tblMaidOf, där kolla om denna FluidID 
   Har SubstansID = 1.
2. Om ja så multiplicera **tblMaidOf.Amount** med det som står i 

   ```
   <INPUT NAME=""volym" & objRS("FluidID") & """ TYPE=""text"">
   ```

    och skriv in detta i**tblVetskebalans.Na**  (på samma rad som datum, pnr, volum och FluidID)
3. Om Nej skriv 0
4. Kolla därefter ifall FluidID har SubstansID = 2
5. Om ja så multiplicera **tblMaidOf.Amount** med det som står i 

   ```
   <INPUT NAME=""volym" & objRS("FluidID") & """ TYPE=""text"">
   ```

    och skriv in detta i**tblVetskebalans.** (på samma rad som datum, pnr, volum och FluidID)
6. Om Nej skriv 0
7. Kolla därefter ifall FluidID har SubstansID = 3
8. Om ja så multiplicera **tblMaidOf.Amount** med det som står i 

   ```
   <INPUT NAME=""volym" & objRS("FluidID") & """ TYPE=""text"">
   ```

    och skriv in detta i**tblVetskebalans.Clorid** (på samma rad som datum, pnr, volum och FluidID)
9. Kolla därefter ifall FluidID har SubstansID = 4
10. Om Nej skriv 0
11. Om ja så multiplicera **tblMaidOf.Amount** med det som står i 

    ```
    <INPUT NAME=""volym" & objRS("FluidID") & """ TYPE=""text"">
    ```

     och skriv in detta i**tblVetskebalans.Clorid** (på samma rad som datum, pnr, volum och FluidID)
12. Om Nej skriv 0
13. Kolla därefter ifall FluidID har SubstansID = 4
14. Om ja så multiplicera **tblMaidOf.Amount** med det som står i 

    ```
    <INPUT NAME=""volym" & objRS("FluidID") & """ TYPE=""text"">
    ```

     och skriv in detta i**tblVetskebalans.Magnesium** (på samma rad som datum, pnr, volum och FluidID)
15. Kolla därefter ifall FluidID har SubstansID = 5
16. Om ja så multiplicera **tblMaidOf.Amount** med det som står i 

    ```
    <INPUT NAME=""volym" & objRS("FluidID") & """ TYPE=""text"">
    ```

     och skriv in detta i**tblVetskebalans.Energi** (på samma rad som datum, pnr, volum och FluidID)

***Följande frågor har jag med anledning av ovanstående:*** 

1. Skall detta ske med funktion eller SQL
2. Kunde man få ett litet exempel
3. Behöver jag göra om tabellerna? Som nu är har jag inte med alla SubstansID, bara de som har ett värde skild från 0

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

## #2 — plelkes, 2003-12-17T08:50Z

Nedanstående :

```
<%
    Set objConn = Server.CreateObject("ADODB.Connection")
   objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\vatskebalans\db\vbalans.mdb")
   strSQL = "SELECT * FROM tblVetskebalans, tblFluids, tblMadeOf WHERE tblVetskebalans.FluidID = tblFluids.FluidID" &_
   " AND tblVetskebalans.FluidID = tblMadeOf.FluidID "
  Set objRS = objConn.Execute(strSQL)
 For i = 1 to 6
%>
    <TABLE border=1>
       <TR>
          <TD><B>Datum</B></TD>
          <TD><B>Personnummer</B></TD>
          <TD><B>Vätska</B></TD>
          <TD><B>Volym</B></TD>
		  <TD><B>Na</B></TD>
          <TD><B>K</B></TD>
          <TD><B>Clorid</B></TD>
          <TD><B>Fosfat</B></TD>
          <TD><B>Magnesium</B></TD>
          <TD><B>Energi</B></TD>
        
       </TR>
 <%
 	    Do While Not objRS.EOF
       Response.Write "<TR><TD>" & objRS("Dag") & "</TD>"
       Response.Write "<TD>" & objRS("PatID") & "</TD>"
       Response.Write "<TD>" & objRS("FluidNamn") & "</TD>"
       Response.Write "<TD>" & objRS("Volym") & "</TD></TR>"
	   Response.Write "<TR><TD>Clng(objRS(""Volym"")) * Clng(objRS(""Amount""))</TD>"
       Response.Write "<TD>Clng(objRS(""Volym"")) * Clng(objRS(""Amount""))</TD>"
       Response.Write "<TD>Clng(objRS(""Volym"")) * Clng(objRS(""Amount""))</TD>"
       Response.Write "<TD>Clng(objRS(""Volym"")) * Clng(objRS(""Amount""))</TD></TR>"
	   Response.Write "<TD>Clng(objRS(""Volym"")) * Clng(objRS(""Amount""))</TD></TR>"

	   objRS.MoveNext
    Loop
    objRS.Close
    Set objRS = Nothing
    objConn.Close
    Next
	Set objConn = Nothing
 %>
```

 

Om sidan körs, så [får jag detta felmeddelande](http://www12.brinkster.com/vatskebalans/4c.asp) 
Line 28:

```
Do While Not objRS.EOF
```

 

Vilket objekt krävs?

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

## #3 — plelkes, 2003-12-17T10:21Z

Hoppas ni förstår vad jag vill

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

## #4 — plelkes, 2003-12-17T14:36Z

... men visst borde beräkningen ske innan data skrivs till databasen? D.v.s på sidan med nedanstående kod:

```
Session.LCID = 1053
Set vatskeb = Server.CreateObject( "Adodb.Connection" )
vatskeb.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vatskeb.ConnectionString = "Data Source='" & MdbFilePath & "'"
vatskeb.open

pnr= Request.Form("personnr")
d = FormatDateTime(Date, 2)
For each formObj in Request.Form
     If left(formObj,9) = "leggatill" Then
            lngFluidID = Replace(Request.Form(formObj), "leggatill", "")
            strSQL = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID) VALUES(#" & d & "#,'" & lngFluidID & "'," & Request.Form("volym" & lngFluidID) & ", '" & pnr & "')"

 Response.Write strSQL
vatskeb.Execute strSQL, , 128
   
     End if
Next
            
vatskeb.close
Set vatskeb = Nothing
```

 

Och beräkningen ngt som liknar

```
Clng(Request.Form("volym" & lngFluidID))) * Clng(objRS("Amount"))
```

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

## #5 — plelkes, 2003-12-17T14:54Z

och hur löser jag följande problem:

```
tblVetskebalans.Na = tblMadeOf.SubstansID = 1 AND tblVetskebalans.K = tblMadeOf.SubstansID = 2 AND" &_
   " tblVetskebalans.Clorid = tblMadeOf.SubstansID = 3 AND tblVetskebalans.Fosfat = tblMadeOf.SubstansID = 4 AND" &_
   " tblVetskebalans.Magnesium = tblMadeOf.SubstansID = % AND tblVetskebalans.Energi = tblMadeOf.SubstansID = 6
```

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

## #6 — plelkes, 2003-12-17T15:30Z

ngra ideer?

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

## #7 — plelkes, 2003-12-17T16:02Z

Eller det kanske är en enklare lösning om jag:

1. gör om tblFluids så att den får fälten: Na, K, Clorid, Fosfat, Magnesium, energi
2. och då blir insert: 

   ```
   strSQL = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID, [B]Na[/B]) VALUES(#" & d & "#,'" & lngFluidID & "'," & Request.Form("volym" & lngFluidID) & ", '" & pnr & "', [B]"
   & Clng(Request.Form("volym" & lngFluidID))) * Clng(tblFluids.Na)) & [/B]")
   ```

 

Det fetstilta representerar förändringarna

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

## #8 — solbulle, 2003-12-17T16:19Z

Schysst enmannatråd du har. :)

Vad är det egentligen du vill uppnå?
Du verkar ha lite olika problem i de olika inläggen?

Spontant verkar det som om du ibland låter ID i dina tabeller vara text ibland tal. Borde det inte alltid vara ett tal?

Att spara resulatet av en uträkning i ett fält, ska det vara nödvändigt?

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

## #9 — plelkes, 2003-12-17T16:33Z

Tack solbulle, jag försöker :h 

> **solbulle skrev:**
>
> Vad är det egentligen du vill uppnå?

 
På [denna sida](http://www12.brinkster.com/vatskebalans/lista_fluids.asp)  kryssar vi i rutan av vätskor vi använder och fyller i resultatet....

Innehållet i databasen [presenteras här](http://www12.brinkster.com/vatskebalans/tblvetskebalans101.asp)  
Na (osv ) är ju beroende av volym vätska

> **solbulle skrev:**
>
> Att spara resulatet av en uträkning i ett fält, ska det vara nödvändigt?

 
Ja, det vill jag gärna. Dessutom blir nästa steg ett "rapport" där mängden/dygn av dessa skrivs ut

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

## #10 — plelkes, 2003-12-17T17:38Z

> Att spara resulatet av en uträkning i ett fält, ska det vara nödvändigt?

 
Finns det nackdelar med ovanstående sätt?

```
strSQL = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID, Na) VALUES(#" & d & "#,'" & lngFluidID & "'," & Request.Form("volym" & lngFluidID) & ", '" & pnr & "', "
& Clng(Request.Form("volym" & lngFluidID))) * Clng(tblFluids.Na)) & ")
```

 kan man konstruera strSQL på ovanstående sätt?

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

## #11 — plelkes, 2003-12-17T19:24Z

borde inte

```
CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Na
```

 
              fungera?

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

## #12 — plelkes, 2003-12-18T14:50Z

Hej kära wf :h 
Efterslyser idéer, tankar osv i denna tråd...

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/92860-multiplikation-av-tabelfält-och-textruta
